Neste documento, explicamos como inspecionar cargas de trabalho sem estado em execução em um cluster do Kubernetes com isolamento físico do Google Distributed Cloud (GDC). Com as cargas de trabalho sem estado, é possível executar a implantação do aplicativo sem armazenar dados ou o estado do aplicativo. É possível conferir as cargas de trabalho sem estado com o console do GDC ou a kubectl CLI 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, você precisa dos seguintes recursos e papéis:
Para executar comandos em um cluster do Kubernetes, 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 para o cluster do Kubernetes se você não tiver um.
Use o caminho kubeconfig do cluster do Kubernetes para substituir
KUBERNETES_CLUSTER_KUBECONFIGnestas instruções.
Para receber as permissões necessárias para ver todas as cargas de trabalho implantadas em um cluster compartilhado, peça ao administrador do IAM da organização para conceder a você o papel de Leitor de carga de trabalho (
workload-viewer) no namespace do projeto.Para receber as permissões necessárias para inspecionar cargas de trabalho sem estado em um cluster compartilhado, peça ao administrador do IAM da organização para conceder a você o papel de administrador do namespace (
namespace-admin) no namespace do projeto.Para receber as permissões necessárias para visualizar e inspecionar cargas de trabalho sem estado em um cluster padrão, peça ao administrador do IAM da organização para conceder a você o papel de desenvolvedor de cluster (
cluster-developer) em um cluster padrão.
Ver as cargas de trabalho de contêiner de um projeto
Para ver 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.
CLI
Execute o comando a seguir 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 a implantação
Para solicitar informações mais detalhadas sobre os componentes de um recurso Deployment, execute comandos que segmentam diretamente a entidade que você quer inspecionar.
Receber informações do objeto Deployment
Para informações detalhadas sobre o objeto Deployment, execute:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
describe deployment DEPLOYMENT_NAME
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster que executa a implantação.NAMESPACE: o namespace. Para clusters compartilhados, esse precisa ser um namespace do projeto. Para clusters padrão, pode ser qualquer namespace.DEPLOYMENT_NAME: o nome do objetoDeployment.
Mostrar a configuração ativa no formato YAML
Para ver o manifesto de um objeto Deployment, execute:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
get deployments DEPLOYMENT_NAME -o yaml
Esse comando exibe a configuração ativa do objeto Deployment no formato YAML.
Listar pods
Para listar os objetos Pod criados pela implantação, execute:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
get pods -l KEY=VALUE
Neste comando, a flag -l lista todos os objetos Pod com o rótulo de par de chave-valor especificado no cluster especificado.
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster que executa a implantação.NAMESPACE: o namespace. Para clusters compartilhados, esse precisa ser um namespace do projeto. Para clusters padrão, pode ser qualquer namespace.KEY: a chave do conjunto de rótulos de par de chave-valor definido na implantação. Por exemplo, se o campo.template.metadata.labelstiver o rótuloapp: myappconfigurado, a chave seráapp.VALUE: o valor do conjunto de rótulos de par de chave-valor definido na implantação. Por exemplo, se o campo.template.metadata.labelstiver o rótuloapp: myappconfigurado, o valor serámy-app.
Por exemplo, se você rotulou o objeto Deployment como app: my-app, execute o comando a seguir para ver os objetos Pod com esse rótulo:
kubectl --kubeconfig /tmp/kubeconfig.yaml -n my-namespace \
get pods -l app=my-app
Receber informações específicas do pod
Para ver informações sobre um objeto Pod específico, execute:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
describe pod POD_NAME
Substitua:
KUBERNETES_CLUSTER_KUBECONFIG: o arquivo kubeconfig do cluster que executa a implantação.NAMESPACE: o namespace. Para clusters compartilhados, esse precisa ser um namespace do projeto. Para clusters padrão, pode ser qualquer namespace.POD_NAME: o nome do pod gerenciado pela implantação.
A seguir
- Atualizar cargas de trabalho sem estado
- Escalonar cargas de trabalho sem estado
- Gerenciar pools de nós