Prepare-se para atualizações de versão do Kubernetes com insights de cluster - Amazon EKS

Ajudar a melhorar esta página

Quer contribuir para este guia do usuário? Role até o final desta página e selecione Editar esta página no GitHub. Suas contribuições ajudarão a tornar nosso guia do usuário melhor para todos.

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.

Uso recomendado de insights de cluster:
  • 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)

Para visualizar insights de um cluster do Amazon EKS:
  1. Abra o console do Amazon EKS em https://console.aws.amazon.com/eks/home#/clusters.

  2. Na lista Clusters, selecione o nome do cluster do Amazon EK cujos insights deseja visualizar.

  3. Escolha a guia Atualizar insights.

  4. 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.

Visualizar insights do cluster (AWS CLI)

Para visualizar insights de um cluster do Amazon EKS:
  1. 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 o 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."
            }
        ]
    }
  2. 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 pelo ID do insight obtido da listagem dos insights do cluster.

    • Substitua o 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."
        }
    }