Ajudar a melhorar esta página
Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.
Atualizações de segurança de patches para nós híbridos
Este tópico descreve o procedimento para executar patches in-loco de atualizações de segurança para pacotes e dependências específicos em execução nos nós híbridos. Como prática recomendada, sugerimos que você atualize regularmente seus nós híbridos para receber CVEs e patches de segurança.
Para ver as etapas de atualização da versão do Kubernetes, consulte Atualizar os nós híbridos do cluster.
Um exemplo de software que pode precisar de patches de segurança é containerd
.
Containerd
containerd
é o runtime padrão do contêiner Kubernetes e a dependência principal dos EKS Hybrid Nodes, usado para gerenciar o ciclo de vida do contêiner, incluindo a extração de imagens e o gerenciamento da execução do contêiner. Em um nó híbrido, você pode instalar o containerd
por meio da CLI do nodeadm ou manualmente. Dependendo do sistema operacional do seu nó, o nodeadm
instalará o containerd
por meio do pacote distribuído pelo sistema operacional ou do pacote Docker.
Quando um CVE em containerd
é publicado, você tem as opções a seguir de atualização para a versão corrigida do containerd
em seus nós híbridos.
Etapa 1: verificar se o patch foi publicado nos gerenciadores de pacotes
Você pode verificar se o patch containerd
CVE foi publicado em cada gerenciador de pacotes do sistema operacional respectivo consultando os boletins de segurança correspondentes:
Se você usa o repositório Docker como fonte do containerd
, pode verificar os anúncios de segurança do Docker
Etapa 2: escolher o método para instalar o patch
Existem três métodos para corrigir e instalar atualizações de segurança in-loco nos nós. O método que você pode usar depende de se o patch está ou não disponível no sistema operacional do gerenciador de pacotes:
-
Instale os patches com
nodeadm upgrade
que estão publicados nos gerenciadores de pacotes. Consulte a Etapa 2 a. -
Instale os patches diretamente com os gerenciadores de pacotes. Consulte a Etapa 2 b.
-
Instale patches personalizados que não estão publicados nos gerenciadores de pacotes. Observe que há considerações especiais sobre patches personalizados para
containerd
, Etapa 2 c.
Etapa 2 a: aplicar patches com nodeadm upgrade
Depois de confirmar que o patch containerd
da CVE foi publicado nos repositórios do sistema operacional ou do Docker (Apt ou RPM), você pode usar o comando nodeadm upgrade
a fim de atualizar para a versão mais recente do containerd
. Como não se trata de uma atualização da versão do Kubernetes, você deve passar sua versão atual do Kubernetes para o comando de upgrade do nodeadm
.
nodeadm upgrade
K8S_VERSION
--config-source file:///root/nodeConfig.yaml
Etapa 2 b: aplicar patches com gerenciadores de pacotes do sistema operacional
Alternativamente, você também pode atualizar por meio do respectivo gerenciador de pacotes e usá-lo para atualizar o pacote containerd
como se segue.
Amazon Linux 2023
sudo yum update -y sudo yum install -y containerd
RHEL
sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo sudo yum update -y sudo yum install -y containerd
Ubuntu
sudo mkdir -p /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update -y sudo apt install -y --only-upgrade containerd.io
Etapa 2 c: patch Containerd
da CVE não publicado nos gerenciadores de pacotes
Se a versão corrigida de containerd
estiver disponível apenas por outros meios e não no gerenciador de pacotes, por exemplo, nas versões do GitHub, você poderá instalar o containerd
pelo site oficial do GitHub.
-
Se a máquina já fizer parte do cluster como um nó híbrido, será necessário executar o comando
nodeadm uninstall
. -
Instale os arquivos binários oficiais do
containerd
. Você pode usar as etapas oficiais de instalaçãono GitHub. -
Execute o comando
nodeadm install
com o argumento--containerd-source
definido comonone
, o que ignorará a instalação docontainerd
por meio donodeadm
. Você pode usar o valor denone
na origem docontainerd
para qualquer sistema operacional que o nó estiver executando.nodeadm install
K8S_VERSION
--credential-providerCREDS_PROVIDER
--containerd-source none