Tenho algumas perguntas sobre um aviso que recebi da AWS: “Uma atualização de software foi implantada no AWS Fargate, que inclui importantes patches de segurança e atualizações críticas. Para concluir esse processo de atualização de software, o EKS Fargate removerá os pods lançados antes de [date].”
P: O que eu faço para evitar o tempo de inatividade do serviço quando a AWS aplica patches e atualizações ao meu pod do AWS Fargate?
É uma prática recomendada reiniciar seu pod do Fargate antes do prazo mencionado no aviso. Se seu pod pertencer a uma implantação ou StatefulSet, execute um dos seguintes comandos para reiniciar normalmente toda a implantação ou StatefulSet sem tempo de inatividade:
kubectl rollout restart deployment-name -n test-namespace
-ou-
kubectl rollout restart sts-name -n test-namespace
Observação: No comando de implantação, substitua deployment-name pelo nome da sua implantação. No comando StatefulSet, substitua sts-name pelo nome do seu StatefulSet. Em ambos os comandos, substitua test-namespace pelo nome do seu namespace.
Para mais informações, consulte Implantações e StatefulSets no site do Kubernetes.
Se seu pod for independente, conclua as seguintes etapas:
- Crie um pod substituto com especificações idênticas.
- Atualize o endpoint ou o endereço IP do pod em outras aplicações, conforme necessário.
- Exclua seu pod independente.
P: O que acontece se eu não conseguir reiniciar meu pod antes da data especificada no aviso?
O Amazon Elastic Kubernetes Service (Amazon EKS) remove o pod do Fargate por zona de disponibilidade com base nos orçamentos de interrupção do pod (PDBs) que você definiu. Se a remoção for bem-sucedida, o Amazon EKS aplicará o patch mais recente no novo pod. Você não precisa realizar nenhuma outra ação.
P: Recebo notificações sobre falhas na remoção do pod ou no encerramento do nó?
Quando a remoção do pod falha, a AWS envia uma notificação sobre a falha na remoção. Se você não agir até o encerramento programado, o Amazon EKS encerrará os pods atuais e os nós subjacentes sem qualquer notificação. Após o encerramento, os novos Pods têm o patch mais recente.
P. Como o Amazon EKS gerencia patches para um pod de aplicação que eu configurei com PDBs?
Quando o Amazon EKS corrige os pods do Fargate, ele não encerra abruptamente os pods que você configurou com PDBs. Para mais informações, consulte Orçamentos de remoção de pods no site do Kubernetes. Quando o Amazon EKS atualiza o nó subjacente, ele considera os PDBs. Para evitar o tempo de inatividade, é uma prática recomendada configurar PDBs para seus pods. No entanto, PDBs agressivos podem causar falhas de remoção e terminações de nós.
P. Posso adiar a aplicação de patches ou a remoção porque não consigo tomar medidas que evitem o tempo de inatividade?
Por motivos de segurança, o Amazon EKS aplica automaticamente patches em lotes em vários clusters. Como algumas vulnerabilidades e exposições comuns (CVEs) são críticas e precisam de atenção imediata, não é possível adiar a aplicação de patches.
P. Com que frequência o Amazon EKS aplica patches ao sistema operacional nos nós do Fargate?
O Amazon EKS corrige o sistema operacional (OS) nos nós do Fargate em intervalos regulares. Ele também aplica patches para correções de bugs e atualizações de segurança que não podem ser determinadas com antecedência.
P. Onde posso encontrar informações sobre a hora e a data exatas em que os patches são aplicados?
O Amazon EKS notifica você sobre o processo de patch com antecedência. No entanto, a aplicação de patches não tem data e hora definidas. Como o Amazon EKS aplica automaticamente os patches, o patch pode ocorrer a qualquer momento na data especificada na notificação ou depois dela.
P. Onde eu verifico as notificações relacionadas à atualização de segurança do Amazon EKS?
O Amazon EKS envia uma notificação por e-mail sobre patches de segurança para o endereço de e-mail principal em sua conta da AWS e para o AWS Health Dashboard. É possível usar o Amazon EventBridge para encaminhar essas notificações para outros serviços da AWS ou ferramentas de terceiros.