Prepare-se para atualizações de versão do Kubernetes com insights de cluster
Os insights de cluster do Amazon EKS fornecem recomendações para ajudar você a seguir as práticas recomendadas do Amazon EKS e do Kubernetes. Cada cluster do Amazon EKS passa por verificações automáticas e recorrentes em relação a uma lista de insights com curadoria do Amazon EKS. Essas verificações de insights são totalmente gerenciadas pelo Amazon EKS e oferecem recomendações sobre como lidar com quaisquer descobertas.
-
Antes de atualizar a versão do cluster do Kubernetes, verifique os insights do cluster no console do EKS
. -
Se seu cluster identificou problemas, revise-os e faça as correções apropriadas. Os problemas incluem links para o Amazon EKS e o Kubernetes.
-
Depois de corrigir os problemas, aguarde a atualização dos insights do cluster. Se todos os problemas tiverem sido resolvidos, atualize seu cluster.
Atualmente, o Amazon EKS retorna apenas informações relacionadas à prontidão para atualização da versão do Kubernetes.
Os insights de atualização identificam possíveis problemas que podem afetar os upgrades do cluster do Kubernetes. Isso minimiza o esforço que os administradores gastam na preparação para atualizações e aumenta a confiabilidade dos aplicativos nas versões mais recentes do Kubernetes. Os clusters são verificados automaticamente pelo Amazon EKS em relação a uma lista de possíveis problemas que afetam a atualização da versão do Kubernetes. O Amazon EKS atualiza frequentemente a lista de verificações de insights com base nas análises das alterações feitas em cada versão do Kubernetes.
Os insights de atualização do Amazon EKS aceleram o processo de teste e verificação de novas versões. Eles também permitem que administradores de clusters e desenvolvedores de aplicações aproveitem os recursos mais recentes do Kubernetes destacando preocupações e oferecendo conselhos sobre remediação. Para ver a lista de verificações de insights realizadas e quaisquer problemas relevantes identificados pelo Amazon EKS, você pode chamar a operação ListInsights
da API do Amazon EKS ou consultar o console do Amazon EKS.
Os insights do cluster são atualizados periodicamente. Você não pode atualizar manualmente os insights do cluster. Se você corrigir um problema de cluster, levará algum tempo para que os insights do cluster sejam atualizados. Para determinar se uma correção foi bem-sucedida, compare a hora em que a alteração foi implantada com a "hora da última atualização" do insight do cluster.
Visualizar insights do cluster (console)
-
Abra o console do Amazon EKS
. -
Na lista Clusters, selecione o nome do cluster do Amazon EK cujos insights deseja visualizar.
-
Escolha a guia Atualizar insights.
-
Na página Atualizar insights, você verá os seguintes campos:
-
Nome: a verificação que foi realizada pelo Amazon EKS em relação ao cluster.
-
Status do insight: um insight com status de “Erro” normalmente significa que a versão do Kubernetes afetada é N+1 da versão atual do cluster, enquanto um status de “Aviso” significa que o insight se aplica a uma versão do Kubernetes futura N+2 ou mais. Um insight com status de “Aprovado” significa que o Amazon EKS não encontrou nenhum problema associado a essa verificação de insights em seu cluster. Um status de insight de “Desconhecido” significa que o Amazon EKS não consegue determinar se seu cluster é afetado por essa verificação de insights.
-
Versão: a versão do Kubernetes que o insight verificou em busca de possíveis problemas.
-
Horário da última atualização (UTC- 5:00): a hora em que o status do insight foi atualizado pela última vez para esse cluster.
-
Horário da última transição (UTC- 5:00): a hora em que o status desse insight foi alterado pela última vez.
-
Descrição: informações da verificação de insights, que incluem o alerta e as ações recomendadas para remediação.
-
Exibir insights do cluster (AWS CLI)
-
Determine qual cluster você gostaria de verificar para obter informações. O comando a seguir lista insights de um cluster especificado. Faça as seguintes modificações no comando, conforme necessário, e execute o comando modificado:
-
Substitua
region-code
pelo código da sua região da AWS. -
Substitua
my-cluster
pelo nome do cluster.aws eks list-insights --region region-code --cluster-name my-cluster
Veja um exemplo de saída abaixo.
{ "insights": [ { "category": "UPGRADE_READINESS", "name": "Deprecated APIs removed in Kubernetes v1.29", "insightStatus": { "status": "PASSING", "reason": "No deprecated API usage detected within the last 30 days." }, "kubernetesVersion": "1.29", "lastTransitionTime": 1698774710.0, "lastRefreshTime": 1700157422.0, "id": "123e4567-e89b-42d3-a456-579642341238", "description": "Checks for usage of deprecated APIs that are scheduled for removal in Kubernetes v1.29. Upgrading your cluster before migrating to the updated APIs supported by v1.29 could cause application impact." } ] }
-
-
Para obter informações descritivas sobre o insight, execute o comando a seguir. Faça as seguintes modificações no comando, conforme necessário, e execute o comando modificado:
-
Substitua
region-code
pelo código da sua região da AWS. -
Substitua
123e4567-e89b-42d3-a456-579642341238
pela ID do insight recuperada da listagem dos insights do cluster. -
Substitua
my-cluster
pelo nome do cluster.aws eks describe-insight --region region-code --id 123e4567-e89b-42d3-a456-579642341238 --cluster-name my-cluster
Veja um exemplo de saída abaixo.
{ "insight": { "category": "UPGRADE_READINESS", "additionalInfo": { "EKS update cluster documentation": "https://docs.aws.amazon.com/eks/latest/userguide/update-cluster.html", "Kubernetes v1.29 deprecation guide": "https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-29" }, "name": "Deprecated APIs removed in Kubernetes v1.29", "insightStatus": { "status": "PASSING", "reason": "No deprecated API usage detected within the last 30 days." }, "kubernetesVersion": "1.29", "recommendation": "Update manifests and API clients to use newer Kubernetes APIs if applicable before upgrading to Kubernetes v1.29.", "lastTransitionTime": 1698774710.0, "lastRefreshTime": 1700157422.0, "categorySpecificSummary": { "deprecationDetails": [ { "usage": "/apis/flowcontrol.apiserver.k8s.io/v1beta2/flowschemas", "replacedWith": "/apis/flowcontrol.apiserver.k8s.io/v1beta3/flowschemas", "stopServingVersion": "1.29", "clientStats": [], "startServingReplacementVersion": "1.26" }, { "usage": "/apis/flowcontrol.apiserver.k8s.io/v1beta2/prioritylevelconfigurations", "replacedWith": "/apis/flowcontrol.apiserver.k8s.io/v1beta3/prioritylevelconfigurations", "stopServingVersion": "1.29", "clientStats": [], "startServingReplacementVersion": "1.26" } ] }, "id": "f6a11fe4-77f7-48c6-8326-9a13f022ecb3", "resources": [], "description": "Checks for usage of deprecated APIs that are scheduled for removal in Kubernetes v1.29. Upgrading your cluster before migrating to the updated APIs supported by v1.29 could cause application impact." } }
-