Resolva falhas na inicialização de pods e problemas de vinculação de PVC para volumes de disco, NAS e OSS em clusters ACK.
Procedimento de diagnóstico

Execute estas verificações antes de iniciar a solução de problemas por tipo de armazenamento.
Etapa 1: Confirme se a falha está relacionada ao armazenamento.
Execute kubectl describe pods <pod-name> e inspecione a seção Events.
Se o pod apresentar o estado abaixo, o volume foi montado com sucesso. Códigos de saída como CrashLoopBackOff ou similares nesta etapa indicam erro de aplicação, e não de armazenamento.

Etapa 2: Verifique se o plug-in CSI está em execução.
kubectl get pod -n kube-system | grep csi
Saída esperada:
NAME READY STATUS RESTARTS AGE
csi-plugin-*** 4/4 Running 0 23d
csi-provisioner-*** 7/7 Running 0 14d
Caso algum dos pods não esteja Running, execute kubectl describe pods <pod-name> -n kube-system para verificar o motivo da saída e os eventos.
Etapa 3: Verifique se o plug-in CSI está atualizado.
kubectl get ds csi-plugin -n kube-system -oyaml | grep image
Saída esperada:
image: registry.cn-****.aliyuncs.com/acs/csi-plugin:v*****-aliyun
Compare a tag da imagem com o histórico de versões do csi-plugin e o histórico de versões do csi-provisioner.
Se a versão estiver desatualizada, atualize o plug-in CSI. Para falhas na atualização, consulte Solução de problemas de falhas na atualização de componentes.
Etapa 4: Solucione problemas de pods pendentes.
Volume de disco: consulte Pod não está em execução (disco)
Volume NAS: consulte Pod não está em execução (NAS)
Volume OSS: consulte Pod não está em execução (OSS)
Etapa 5: Solucione problemas de PVC não vinculado (Not Bound).
Volume de disco: consulte PVC não vinculado (disco)
Volume NAS: consulte PVC não vinculado (NAS)
Volume OSS: consulte PVC não vinculado (OSS)
Solução de problemas de falhas na atualização de componentes
csi-provisioner
O csi-provisioner é um Deployment com 2 réplicas e antiafinidade de pods entre nós.
Se a atualização falhar, verifique se o cluster tem pelo menos dois nós agendáveis (necessário para 2 réplicas).
-
As versões 1,14 e anteriores do csi-provisioner usavam um StatefulSet. Se ainda existir um StatefulSet chamado
csi-provisioner, exclua-o e reinstale:kubectl delete sts csi-provisionerEm seguida, faça login no Container Service console e reinstale o csi-provisioner em Add-ons. Consulte Gerenciar componentes.
csi-plugin
O csi-plugin é um DaemonSet implantado em todos os nós.
Verifique se há nós
NotReady, pois eles bloqueiam atualizações do DaemonSet.Se a atualização falhar, mas todos os plug-ins funcionarem normalmente, a central de componentes pode ter atingido o tempo limite e revertido a operação.
Solução de problemas de disco
O nó e o disco devem estar na mesma região e zona. Diferentes tipos de instância ECS suportam diferentes tipos de disco — consulte Família de instâncias.
Pod não está em execução (disco)
Sintoma
O status do PVC é Bound, mas o pod não está Running.
Possíveis causas e resolução
|
Sintoma nos eventos de kubectl describe pods <pod-name>** |
Causa |
Resolução |
|
|
Nenhum nó agendável onde o disco esteja disponível |
Agende o pod em um nó onde o disco esteja disponível. Consulte Agendar aplicações em nós especificados. |
|
|
Erro de montagem do disco |
Verifique os eventos do pod para identificar o erro específico. Para erros de montagem, consulte Perguntas frequentes sobre volumes de disco. Para erros de desmontagem, consulte Perguntas frequentes sobre volumes de disco. |
|
|
A instância ECS não suporta o tipo de disco |
Use um tipo de disco compatível com sua instância ECS. Consulte Família de instâncias. Para erros da API ECS, consulte Códigos de erro do ECS. |
PVC não vinculado (disco)
Sintoma
Tanto o PVC quanto o pod não estão Running.
Localização da falha
Execute kubectl describe pvc <pvc-name> -n <namespace> e inspecione os eventos para determinar se o problema é de provisionamento estático ou dinâmico.
Provisionamento estático
Os seletores do PVC e do PV não correspondem. Incompatibilidades comuns:
O seletor do PVC difere do seletor do PV.
Referenciam nomes de StorageClass diferentes.
O status do PV é
Released.
Verifique a configuração YAML tanto do PVC quanto do PV. Consulte Usar volumes de disco estáticos.
Um PV com status Released ainda referencia sua reivindicação anterior e não pode ser revinculado. Crie um novo PV para vincular o disco a um novo PVC.
Provisionamento dinâmico
O csi-provisioner falhou ao criar o disco. Verifique os eventos do PVC para identificar o erro:
|
Tipo de erro |
Referência |
|
Erros de criação de disco |
|
|
Erros de expansão de disco |
|
|
Erros da API ECS durante a criação do disco |
Solução de problemas de NAS
O nó e o ponto de montagem do NAS devem estar na mesma Virtual Private Cloud (VPC). Se estiverem em VPCs diferentes, conecte-as via Cloud Enterprise Network (CEN).
A montagem entre zonas é suportada dentro da mesma VPC.
O diretório de montagem para Extreme NAS e CPFS 2.0 deve começar com
/share.
Pod não está em execução (NAS)
Sintoma
O status do PVC é Bound, mas o pod não está Running.
Possíveis causas e resolução
|
Sintoma nos eventos de kubectl describe pods <pod-name>** |
Causa |
Localização da falha |
Resolução |
|
O pod permanece no estado |
|
Verifique se |
Remova |
|
|
A porta 2049 (NFS) está bloqueada no grupo de segurança |
Verifique as regras do grupo de segurança do nó |
Adicione uma regra de entrada para a porta TCP 2049. Consulte Adicionar regras de grupo de segurança. |
|
Ponto de montagem inacessível; timeout de conexão nos eventos |
Nó e NAS em VPCs diferentes |
Verifique se a VPC do nó e a VPC do ponto de montagem do NAS correspondem |
Mova o ponto de montagem do NAS para a mesma VPC do nó ou use o CEN para conectar as duas VPCs |
|
Outros eventos |
Outros erros |
Verifique os eventos do pod com |
Consulte Perguntas frequentes sobre volumes NAS. |
PVC não vinculado (NAS)
Sintoma
O PVC não está Bound e o pod não está Running.
Localização da falha
Execute kubectl describe pvc <pvc-name> -n <namespace> e inspecione os eventos para determinar se o problema é de provisionamento estático ou dinâmico.
Provisionamento estático
Os seletores do PVC e do PV não correspondem. Incompatibilidades comuns:
A configuração do seletor difere entre PVC e PV.
Referenciam nomes de StorageClass diferentes.
O status do PV é
Released.
Verifique a configuração YAML tanto do PVC quanto do PV. Consulte Usar volumes NAS estáticos.
Um PV com status Released não pode ser reutilizado. Crie um novo PV apontando para o sistema de arquivos NAS.
Provisionamento dinâmico
O csi-provisioner falhou ao provisionar o volume NAS. Verifique os eventos do PVC para identificar o erro. Consulte Perguntas frequentes sobre volumes NAS.
Solução de problemas de OSS
A montagem de um bucket OSS requer credenciais AccessKey no PV, fornecidas por meio de um Secret do Kubernetes.
Use o endpoint público para acesso entre regiões; use o endpoint interno para acesso na mesma região.
Pod não está em execução (OSS)
Sintoma
O status do PVC é Bound, mas o pod não está Running.
Possíveis causas e resolução
|
Sintoma nos eventos de kubectl describe pods <pod-name>** |
Causa |
Localização da falha |
Resolução |
|
O pod permanece no estado |
|
Verifique se |
Remova |
|
|
Acesso entre regiões usando o endpoint interno (privado) |
Verifique se o endpoint do bucket no PV é um endereço privado enquanto o nó está em outra região |
Altere o endpoint para o endereço público do bucket OSS |
|
Outros eventos |
Outros erros |
Verifique os eventos do pod com |
Consulte Perguntas frequentes sobre volumes OSS. |
PVC não vinculado (OSS)
Sintoma
O PVC não está Bound e o pod não está Running.
Localização da falha
Execute kubectl describe pvc <pvc-name> -n <namespace> e inspecione os eventos para determinar se o problema é de provisionamento estático ou dinâmico.
Provisionamento estático
Os seletores do PVC e do PV não correspondem. Incompatibilidades comuns:
A configuração do seletor difere entre PVC e PV.
Referenciam nomes de StorageClass diferentes.
O status do PV é
Released.
Verifique a configuração YAML tanto do PVC quanto do PV. Consulte Usar volumes OSS estáticos.
Um PV com status Released não pode ser reutilizado. Extraia o endereço do bucket e crie um novo PV.
Provisionamento dinâmico
O csi-provisioner falhou ao montar o bucket OSS. Verifique os eventos do PVC para identificar o erro. Consulte Perguntas frequentes sobre volumes OSS.