← CKA: administração Kubernetes e diagnóstico
10 / 13 · 45 MIN

Volumes e recuperação por camada

Distingue o contrato do volume, o acesso aos dados e a primeira fase de recuperação.

Contrato do claim e capacidade real

Um PVC exprime uma necessidade: classe, tamanho, modo de volume e acesso. O provisioner, o driver e o armazenamento têm de a satisfazer. storageClassName omitido pode receber a classe por omissão; a string vazia pede explicitamente ausência de classe.

Distingue Filesystem de Block: no segundo caso a aplicação recebe um dispositivo, não uma diretoria já formatada. O fragmento pede 12 GiB na classe fast para um consumidor; não cria essa classe nem demonstra suporte do driver. Confirma o provisioner, a topologia e as condições de binding antes de concluir que falta apenas capacidade.

Ciclo de vida e dados que devem permanecer

O acesso RWO limita o mount read-write a um nó, não necessariamente a um Pod. Retain mantém o recurso para recuperação administrativa quando o claim é removido; Delete pode eliminar também o armazenamento associado, conforme o driver. Nenhuma destas políticas é uma estratégia de backup.

Antes de eliminar ou reutilizar um volume, identifica o proprietário e a evidência de recuperação dos dados. Um PVC maior não prova que o filesystem e a aplicação já reconhecem a nova capacidade. Lê condições e eventos do PVC e confirma o suporte de expansão da classe e do driver.

Distinguir binding, attachment e mount

Um claim Bound identifica uma relação com um PV. Não demonstra que o nó anexou o volume, que o mount terminou ou que a aplicação leu os dados. Organiza a investigação pela primeira fase sem evidência: eventos de scheduling e topologia; estado de attachment e driver; mensagens de mount; identidade e permissões vistas pelo processo.

Um erro de attach num novo nó após falha do anterior exige confirmar o estado do consumidor antigo e a política de exclusividade antes de forçar alterações. Para cada intervenção, regista o recurso exato e observa uma leitura ou operação representativa sem usar os dados reais como material público.

Quando a API não é o ponto de observação disponível

Se o API server está indisponível, kubectl logs pode não ser uma via útil. Num nó autorizado, correlaciona o serviço kubelet, runtime e containers locais. crictl precisa de um endpoint CRI correto; a lista vazia consultada no socket errado não prova ausência de containers.

Em instalações kubeadm com control plane em static Pods, examina também os manifestos locais e os containers correspondentes. Recolhe logs e timestamps antes de reiniciar componentes, para não perder a sequência da falha. Se a API funciona mas kubectl top falha, investiga a cadeia Metrics API; isso não demonstra que os Pods deixaram de consumir recursos.

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: reports
  namespace: analytics
spec:
  storageClassName: fast
  accessModes: [ReadWriteOnce]
  volumeMode: Filesystem
  resources:
    requests:
      storage: 12Gi
NA PRÁTICA

Após uma falha de nó, o PVC continua Bound e o Pod de substituição está impedido no attachment. A equipa propõe apagar o claim. Preserva a relação e os dados, verifica o consumidor anterior e a mensagem do driver, e escolhe uma recuperação que respeite a exclusividade. Só declara recuperação após a aplicação confirmar os dados esperados.

Armadilhas comuns

Apagar o claim para qualquer falha; equiparar Bound a dados acessíveis; confundir modo Block com filesystem; concluir ausência de containers a partir do endpoint errado.

Tópicos relacionados: Administração Kubernetes · Diagnóstico e recuperação

Leva esta ideia contigo

Recupera a primeira fase que falhou e aceita o resultado pela aplicação e pelos dados.

Criar conta

Referências

Kubernetes® e CKA são marcas comerciais ou marcas registadas de The Linux Foundation. A dr.pt é uma plataforma de preparação independente e não está afiliada, associada, patrocinada, autorizada nem aprovada por The Linux Foundation. Os conteúdos e as perguntas são originais, não são perguntas oficiais de exame, e concluir os nossos testes não atribui nem garante qualquer certificação. Os nomes são usados apenas para identificar o tema. Todas as outras marcas pertencem aos respetivos titulares.