Neste documento, explicamos como inspecionar cargas de trabalho com estado em execução em um cluster do Kubernetes com isolamento físico do Google Distributed Cloud (GDC). Com as cargas de trabalho com estado, é possível executar seu aplicativo com armazenamento de contêineres permanente. É possível conferir suas cargas de trabalho com estado usando o console do GDC ou a CLI kubectl para monitorar o uso de recursos e a integridade da carga de trabalho.
Este documento é destinado a desenvolvedores do grupo de operadores de aplicativos, que são responsáveis por gerenciar cargas de trabalho de aplicativos na organização. Para mais informações, consulte Públicos-alvo da documentação do GDC com isolamento físico.
Antes de começar
Para concluir as tarefas neste documento, peça as permissões necessárias e prepare seu ambiente.
Solicitar papéis do IAM
Você precisa ter papéis específicos para receber as permissões necessárias para visualizar e inspecionar cargas de trabalho com estado. As funções necessárias dependem de você estar trabalhando em um cluster compartilhado no escopo da organização ou em um cluster padrão no escopo do projeto. Para mais informações, consulte Configurações de cluster do Kubernetes.
Funções compartilhadas do cluster
Peça ao administrador do IAM do projeto para conceder a você os seguintes papéis no namespace do projeto com base na tarefa a ser realizada:
- Leitor de carga de trabalho (
workload-viewer): veja todas as cargas de trabalho implantadas em um cluster compartilhado. - Administrador de namespace (
namespace-admin): crie, exclua, edite ou visualize cargas de trabalho em um namespace de projeto de cluster compartilhado.
Essas funções estão vinculadas ao namespace do projeto.
Funções padrão do cluster
Para criar, excluir, editar ou visualizar cargas de trabalho em um cluster padrão, peça ao administrador do IAM do projeto para conceder a você o papel de desenvolvedor de cluster (cluster-developer). Essa função está vinculada ao namespace do projeto.
Preparar o ambiente
Para executar comandos em um cluster do Kubernetes usando a API, verifique se você tem os seguintes recursos:
Localize o nome do cluster do Kubernetes ou pergunte a um membro do grupo de administradores da plataforma.
Faça login e gere o arquivo kubeconfig do cluster do Kubernetes.
Use o caminho kubeconfig do cluster do Kubernetes para substituir
KUBERNETES_CLUSTER_KUBECONFIGnestas instruções.
Ver as cargas de trabalho de contêiner de um projeto
Para conferir as cargas de trabalho de contêiner do seu projeto, faça o seguinte:
Console
No menu de navegação, selecione Kubernetes Engine > Cargas de trabalho.
É possível conferir detalhes das cargas de trabalho de contêineres, como:
- Nome
- Tipo
- Número de pods
- Cluster do Kubernetes
- Data da última modificação
As cargas de trabalho de contêineres são organizadas de acordo com o cluster do Kubernetes a que pertencem. Selecione o menu suspenso Cluster para mudar o contexto do cluster.
kubectl
Execute o seguinte comando para listar todos os pods no seu projeto:
kubectl get pods -n PROJECT_NAMESPACEO resultado será o seguinte:
NAME READY STATUS RESTARTS AGE nginx-workload-ah-aa-1228 1/1 Running 0 12h nginx-workload-ah-ab-6784 1/1 Running 0 11h nginx-workload-ah-ac-0045 1/1 Running 0 12h
Inspecionar um recurso StatefulSet
Para solicitar informações mais detalhadas sobre os componentes de um recurso StatefulSet, execute comandos que segmentam diretamente a entidade que você quer
inspecionar.
Receber informações do objeto StatefulSet
Para informações detalhadas sobre o objeto StatefulSet, execute:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
describe statefulset STATEFULSET_NAME
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster que executa o objetoStatefulSet.NAMESPACE: o namespace. Para clusters compartilhados, esse precisa ser um namespace de projeto. Para clusters padrão, pode ser qualquer namespace.STATEFULSET_NAME: o nome do objetoStatefulSet.
Mostrar a configuração ativa no formato YAML
Para mostrar a configuração ativa do recurso StatefulSet no formato YAML, execute:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
get statefulset STATEFULSET_NAME -o yaml
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster que executa o objetoStatefulSet.NAMESPACE: o namespace. Para clusters compartilhados, esse precisa ser um namespace de projeto. Para clusters padrão, pode ser qualquer namespace.STATEFULSET_NAME: o nome do objetoStatefulSet.
Listar pods
Para listar os objetos Pod criados pelo StatefulSet, execute:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
get pods -l app=APP_NAME
Nesse comando, a flag -l lista todos os objetos Pod rotulados com
APP_NAME.
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster que executa o objetoStatefulSet.NAMESPACE: o namespace. Para clusters compartilhados, esse precisa ser um namespace de projeto. Para clusters padrão, pode ser qualquer namespace.APP_NAME: o nome do aplicativo com estado gerenciado pelo objetoStatefulSet.
Receber informações específicas do pod
Para informações sobre um Pod específico no cluster, execute:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
describe pod POD_NAME
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster que executa o pod.NAMESPACE: o namespace. Para clusters compartilhados, esse precisa ser um namespace de projeto. Para clusters padrão, pode ser qualquer namespace.POD_NAME: o nome do pod gerenciado pelo objetoStatefulSet.
Listar PVCs
Para listar os objetos PersistentVolumeClaim (PVC) no cluster, execute:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
get pvc
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster que executa os PVCs.NAMESPACE: o namespace. Para clusters compartilhados, esse precisa ser um namespace de projeto. Para clusters padrão, pode ser qualquer namespace.
Receber informações específicas do PVC
Para informações sobre um PersistentVolumeClaim (PVC) específico no
cluster, execute:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
describe pvc PVC_NAME
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster que executa a PVC.NAMESPACE: o namespace. Para clusters compartilhados, esse precisa ser um namespace de projeto. Para clusters padrão, pode ser qualquer namespace.PVC_NAME: o nome da PVC configurada para o objetoStatefulSet.
Receber informações de PV
Para receber informações sobre um PersistentVolume (PV) específico no cluster,
execute:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
describe pv PV_NAME
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster que executa o PV.NAMESPACE: o namespace. Para clusters compartilhados, esse precisa ser um namespace de projeto. Para clusters padrão, pode ser qualquer namespace.PV_NAME: o nome do PV configurado para o objetoStatefulSet.
A seguir
- Atualizar cargas de trabalho com estado
- Escalonar cargas de trabalho com estado
- Gerenciar pools de nós