O ACK oferece verificações para atualizações de clusters, migrações de clusters, componentes e node pools. Execute uma verificação antes dessas operações para confirmar se o cluster atende aos requisitos e obter as correções recomendadas para itens com falha.
Verificações de cluster
Verificações de atualização de cluster
Devido à complexidade do Kubernetes, a atualização de um cluster envolve riscos significativos. Para garantir uma atualização tranquila, o ACK realiza uma série de verificações prévias. O cluster só pode ser atualizado após passar em todas as verificações. Os itens específicos variam conforme o tipo de cluster, a versão do Kubernetes e o runtime de contêiner. Para a lista definitiva de verificações do seu cluster, consulte o console do ACK.
As verificações de atualização de cluster incluem três categorias:
Recursos do Cluster: Valida os recursos de nuvem associados ao cluster ACK, como SLB, ECS e VPC.
Componentes do Cluster: Inspeciona as configurações do cluster ACK, seus componentes e aplicações, verificando, por exemplo, se as versões dos componentes atendem aos requisitos e se as aplicações utilizam APIs obsoletas.
Configuração do Cluster: Examina as configurações dos nós no cluster ACK. Esta verificação cria um Pod nos nós para coletar informações.
|
Categoria |
Item de verificação |
Descrição |
|
Recursos do Cluster |
SLB do API server |
Confirma a existência da instância SLB. |
|
Verifica a integridade da instância SLB. |
||
|
Valida se o listener do SLB está configurado corretamente quanto à porta e ao protocolo. |
||
|
Assegura que o grupo de servidores backend da instância SLB esteja configurado adequadamente. |
||
|
Verifica as configurações de controle de acesso do SLB. Se nenhum controle de acesso estiver configurado, esta verificação é aprovada. |
||
|
VPC |
Confirma a existência da instância VPC. |
|
|
Verifica a integridade da instância VPC. |
||
|
vSwitch |
Confirma a existência do vSwitch. |
|
|
Verifica a integridade do vSwitch. |
||
|
Garante que o vSwitch possua pelo menos dois endereços IP disponíveis. |
||
|
ECS |
Confirma a existência da instância ECS. |
|
|
Verifica a integridade da instância ECS. |
||
|
Valida a integridade do grupo de segurança do ECS. |
||
|
Confirma se o período de service do ECS é válido. |
||
|
Verifica se o tipo de instância ECS atende aos requisitos. |
||
|
Verifica a integridade do cliente cloud Assistant. |
||
|
Componentes do Cluster |
Kube Proxy master |
Confirma a existência do componente. |
|
Kube Proxy worker |
Confirma a existência do componente. |
|
|
API Service |
Busca por services de api indisponíveis. |
|
|
Instância do cluster |
Verifica se o cluster possui 3 ou 5 nós master. |
|
|
Componentes do cluster |
Valida se a versão do componente Terway atende aos requisitos. |
|
|
Valida se a versão do componente CoreDNS atende aos requisitos. |
||
|
Valida se a versão do componente cloud-controller-manager atende aos requisitos. |
||
|
Valida se a versão do componente Nginx Ingress Controller atende aos requisitos. |
||
|
Valida se a versão do componente ACK Virtual Node atende aos requisitos. |
||
|
Valida se a versão do componente Metrics Server atende aos requisitos. |
||
|
Nó |
Verifica se o nó possui um endereço IP. |
|
|
Confirma se o nó está agendável. |
||
|
Verifica se o nó está no estado Ready. |
||
|
Confirma se o sistema operacional do nó suporta a atualização. |
||
|
Verifica se o nó tem mais de dois Pods disponíveis. |
||
|
api Obsoleta |
Detecta o uso de APIs obsoletas no cluster. |
|
|
Configuração do Cluster |
Configuração do iptables |
Valida se a configuração do iptables está correta. |
|
Sistema operacional |
Confirma se o sistema operacional suporta a atualização. |
|
|
yum |
Verifica se o yum funciona corretamente. |
|
|
Disco |
Verifica a integridade do sistema de arquivos do nó. |
|
|
Garante que o nó tenha mais de 5% de espaço livre em disco. |
||
|
Swap |
Verifica se o Swap está ativado no nó. |
|
|
NTP |
Confirma o funcionamento correto do NTP no nó. |
|
|
Systemd |
Verifica se a versão do Systemd é posterior a systemd-219-67. |
|
|
kubelet |
Valida se a configuração do kubelet corresponde às definições esperadas. |
|
|
Runtime de contêiner |
Verifica a integridade do runtime Docker ou containerd. |
|
|
Configuração do kernel |
Valida se a configuração do kernel do nó está correta. |
|
|
Configuração do Manifest |
Verifica se o arquivo Manifest corresponde às definições esperadas. |
Verificações de migração de cluster
Antes de uma migração de cluster, o ACK executa verificações prévias. A migração só prossegue após a aprovação em todas as verificações. Isso se aplica aos seguintes cenários:
Migração de um ACK dedicated cluster para um ACK managed Pro cluster.
Migração de um ACK managed Basic cluster para um ACK managed cluster.
As verificações de migração de cluster abrangem quatro categorias:
Recursos do Cluster: Valida os recursos de nuvem associados ao cluster ACK, como SLB, ECS e VPC.
Componentes do Cluster: Inspeciona as configurações dos componentes no cluster ACK, verificando, por exemplo, a existência de services de api indisponíveis.
Configuração do Cluster: Examina as configurações dos nós no cluster ACK. Esta verificação cria um Pod nos nós para coletar informações.
Uso de Componentes: Ao migrar um ACK dedicated cluster, alguns de seus componentes passam a ser gerenciados pelo ACK. Esta verificação confirma a integridade desses componentes antes da migração.
|
Categoria |
Item de verificação |
Descrição |
|
Recursos do Cluster |
SLB do API server |
Confirma a existência da instância SLB. |
|
Verifica a integridade da instância SLB. |
||
|
Valida se o listener do SLB está configurado corretamente quanto à porta e ao protocolo. |
||
|
Assegura que o grupo de servidores backend da instância SLB esteja configurado adequadamente. |
||
|
Verifica as configurações de controle de acesso do SLB. Se nenhum controle de acesso estiver configurado, esta verificação é aprovada. |
||
|
VPC |
Confirma a existência da instância VPC. |
|
|
Verifica a integridade da instância VPC. |
||
|
vSwitch |
Confirma a existência do vSwitch. |
|
|
Verifica a integridade do vSwitch. |
||
|
Garante que o vSwitch possua pelo menos dois endereços IP disponíveis. |
||
|
ECS |
Confirma a existência da instância ECS. |
|
|
Verifica a integridade da instância ECS. |
||
|
Valida a integridade do grupo de segurança do ECS. |
||
|
Verifica a integridade do cliente cloud Assistant. |
||
|
Componentes do Cluster |
Kube Proxy master |
Confirma a existência do componente. |
|
Kube Proxy worker |
Confirma a existência do componente. |
|
|
API Service |
Busca por services de api indisponíveis. |
|
|
Instância do cluster |
Verifica se o cluster possui 3 ou 5 nós master. |
|
|
Nó |
Verifica se o nó possui um endereço IP. |
|
|
Confirma se o nó está agendável. |
||
|
Verifica se o nó está no estado Ready. |
||
|
Confirma se o sistema operacional do nó suporta a atualização. |
||
|
Verifica se o nó tem mais de dois Pods disponíveis. |
||
|
Configuração do Cluster |
Sistema operacional |
Confirma se o sistema operacional suporta a atualização. |
|
yum |
Verifica se o yum funciona corretamente. |
|
|
Uso de Componentes |
cloud-controller-manager |
Verifica a integridade do componente cloud-controller-manager. |
Verificações de componentes
As verificações de componentes aplicam-se a cenários de atualização de componentes. Antes de atualizar um componente, o ACK executa verificações prévias. A atualização só prossegue após o componente passar em todas as verificações.
|
Categoria |
Item de verificação |
Descrição |
|
cloud-controller-manager |
Addon_CCM |
Verifica se a atualização deste componente afeta o SLB. |
|
Component_Block_Version |
Confirma se a versão do cloud-controller-manager pode ser atualizada. |
|
|
csi-plugin |
DaemonSet_Annotation |
Valida se as anotações do DaemonSet correspondem às definições esperadas. |
|
Csi_Driver_Attributes |
Verifica se os atributos do driver CSI atendem aos requisitos. |
|
|
Node_Status_Ready |
Confirma se os nós do cluster estão no estado Ready. |
|
|
csi-provisioner |
Stateful_Set_Exist |
Verifica se o componente está implantado como um StatefulSet. |
|
Deployment_Annotation |
Valida se as anotações do Deployment correspondem às definições esperadas. |
|
|
Storage_Class_Attributes |
Verifica se os atributos da StorageClass atendem aos requisitos. |
|
|
Csi_Provisioner_Node_Count |
Garante que o cluster tenha pelo menos dois nós no estado Ready. |
|
|
terway-eniip |
Systemd |
Verifica se a versão do Systemd no nó é posterior a systemd-219-67. |
|
nginx-ingress-controller |
Deployment_Healthy |
Verifica a integridade do Deployment do Nginx Ingress Controller. |
|
Deployment_Not_Under_HPA |
Verifica se há um HorizontalPodAutoscaler (HPA) configurado para o Deployment. |
|
|
Deployment_Not_Modified |
Verifica se o Deployment foi modificado. |
|
|
Nginx_Ingress_Pod_Error_Log |
Busca por logs de erro no Nginx. |
|
|
LoadBalancer_Service_Healthy |
Verifica a integridade do Service do Nginx. |
|
|
Nginx_Ingress_Configuration |
Detecta configurações de Ingress incompatíveis. |
|
|
aliyun-acr-credential-helper |
RamRole_Exist |
Confirma se o componente possui a função AliyunCSManagedAcrRole concedida. |
|
ack-cost-exporter |
RamRole_Exist |
Confirma se o componente possui a função AliyunCSManagedCostRole concedida. |
Verificações de node pool
As verificações de node pool aplicam-se a cenários de atualização de node pool. Ao atualizar um node pool, o ACK executa verificações prévias. O node pool só pode ser atualizado após passar em todas as verificações.
As verificações de node pool incluem três categorias:
Recursos do Cluster: Valida os recursos de nuvem associados ao cluster ACK, como SLB e VPC.
Componentes do Cluster: Inspeciona as configurações do cluster ACK, dos nós e das aplicações.
Configuração do Cluster: Examina as configurações dos nós no cluster ACK. Esta verificação cria um Pod nos nós para coletar informações.
|
Categoria |
Item de verificação |
Descrição |
|
Recursos do Cluster |
SLB do API server |
Confirma a existência da instância SLB. |
|
Verifica a integridade da instância SLB. |
||
|
Valida se o listener do SLB está configurado corretamente quanto à porta e ao protocolo. |
||
|
Assegura que o grupo de servidores backend da instância SLB esteja configurado adequadamente. |
||
|
Verifica as configurações de controle de acesso do SLB. Se nenhum controle de acesso estiver configurado, esta verificação é aprovada. |
||
|
VPC |
Confirma a existência da instância VPC. |
|
|
Verifica a integridade da instância VPC. |
||
|
vSwitch |
Confirma a existência do vSwitch. |
|
|
Verifica a integridade do vSwitch. |
||
|
Garante que o vSwitch possua pelo menos dois endereços IP disponíveis. |
||
|
Componentes do Cluster |
API Service |
Busca por services de api indisponíveis. |
|
Instância do cluster |
Verifica se o cluster possui 3 ou 5 nós master. |
|
|
Nó |
Verifica se o nó está no estado Ready. |
|
|
Verifica se o nó tem mais de dois Pods disponíveis. |
||
|
HostPath |
Verifica se algum Pod no nó utiliza volumes HostPath. |
|
|
Configuração do Cluster |
Configuração do iptables |
Valida se a configuração do iptables está correta. |
|
Sistema operacional |
Confirma se o sistema operacional suporta a atualização. |
|
|
yum |
Verifica se o yum funciona corretamente. |
|
|
Disco |
Verifica a integridade do sistema de arquivos do nó. |
|
|
Espaço restante em disco no nó |
Garante que o nó tenha mais de 5% de espaço livre em disco. |
|
|
Swap |
Verifica se o Swap está ativado no nó. |
|
|
NTP |
Confirma o funcionamento correto do NTP no nó. |
|
|
Systemd |
Verifica se a versão do Systemd é posterior a systemd-219-67. |
|
|
kubelet |
Valida se a configuração do kubelet corresponde às definições esperadas. |
|
|
Runtime de contêiner |
Verifica a integridade do runtime Docker ou containerd. |
|
|
Configuração do kernel |
Valida se a configuração do kernel do nó está correta. |
|
|
Configuração do Manifest |
Verifica se o arquivo Manifest corresponde às definições esperadas. |
Soluções para verificações com falha
|
Verificação com falha |
Solução |
|
Versão do Systemd muito antiga |
|
|
Versão do componente muito antiga |
Atualize a versão do componente. Para mais informações, consulte Manage components. |
|
Tempo limite da verificação do yum excedido |
Verifique se há tempos limite no yum. O tempo limite padrão é de 10 segundos.
|
|
API Service indisponível |
|
|
Um nó contém Pods que usam HostPath |
Atualizar um nó substituindo seu disco do sistema pode causar perda de dados para Pods que usam HostPath para montar um diretório do host. Verifique o diretório montado de cada Pod afetado. Se não houver impacto, prossiga com a atualização. Esta verificação é apenas informativa. |
|
O cluster usa APIs obsoletas |
Identifique as origens das APIs obsoletas e tome as medidas apropriadas. Para mais informações, consulte Deprecated APIs. |
APIs obsoletas
Ao executar uma verificação pré-atualização em um cluster com Kubernetes 1.20 ou superior, o sistema detecta qualquer uso de api obsoleta. Os resultados da verificação listam essas APIs.
Por exemplo, ao atualizar um cluster do Kubernetes 1.20 para o Kubernetes 1.22, o sistema examina os logs de auditoria do dia anterior para encontrar qualquer uso de api obsoleta.
Se o cluster usar uma api obsoleta, o resultado da verificação será apenas uma notificação e não bloqueará a atualização.
Continuar usando uma api obsoleta no Kubernetes 1.22 pode introduzir riscos de segurança. Avalie o impacto em seu negócio.
As APIs obsoletas são classificadas nos quatro tipos a seguir com base na origem da solicitação (user agent). Antes de atualizar o cluster, identifique a origem de cada api obsoleta com base em sua Category na tabela abaixo e tome a medida recomendada.
|
Categoria |
Ação recomendada |
Exemplo |
|
core |
Componentes principais do Kubernetes: O ACK atualiza automaticamente esses componentes durante a atualização do cluster. Eles não aparecem na página de verificação e nenhuma ação é necessária. |
kube-apiserver, kube-scheduler, kube-controller-manager |
|
ack |
Componentes do ACK: Estes componentes são fornecidos pelo ACK e não aparecem na página de APIs obsoletas. Em vez disso, o ACK orienta você a atualizar esses componentes na página de Add-ons. Nota
|
metrics-server, nginx-ingress-controller, CoreDNS |
|
opensource |
Componentes open source: Este tipo inclui alguns componentes da comunidade open source. Decida se deve atualizá-los com base nas suas necessidades. Nota
A notificação de api obsoleta é apenas informativa e não afeta a atualização. Atualize os componentes conforme necessário para evitar impactos em sua funcionalidade. |
rancher, elasticsearch-operator. |
|
unknown |
Origem desconhecida: Origens que não correspondem aos tipos anteriores são marcadas como unknown. Você deve decidir se atualiza o componente e realizar a atualização por conta própria. Nota
A notificação de api obsoleta é apenas informativa e não afeta a atualização. Atualize os componentes conforme necessário para evitar impactos em sua funcionalidade. |
kubectl, agent, Go-http-client, okhttp |
Para visualizar informações sobre APIs obsoletas:
Na página Upgrade Cluster, clique em Precheck e, em seguida, clique em View Details.
Na página Report, clique em View Details.
A página de detalhes exibe a api obsoleta, user agent, categoria, versão do Kubernetes onde foi descontinuada, último horário de acesso e o endereço IP de origem.
A página Report contém três abas: Cluster Resources, Cluster Components e Node Configuration. A aba Node Configuration inclui um aviso que diz: "The cluster is still using a deprecated Kubernetes API."