Este documento explica como inspecionar cargas de trabalho sem estado existentes em execução num cluster do Kubernetes isolado do ar do Google Distributed Cloud (GDC). As cargas de trabalho sem estado permitem-lhe executar a implementação da sua aplicação sem ter de armazenar dados nem o estado da aplicação. Pode ver as suas cargas de trabalho sem estado com a consola GDC ou a CLI kubectl para monitorizar a utilização de recursos e o estado de funcionamento das cargas de trabalho.
Este documento destina-se a programadores no grupo de operadores de aplicações, que são responsáveis por gerir cargas de trabalho de aplicações para a respetiva organização. Para mais informações, consulte a documentação sobre públicos-alvo para GDC com isolamento de ar.
Antes de começar
Para concluir as tarefas neste documento, tem de ter os seguintes recursos e funções:
Para executar comandos num cluster do Kubernetes, certifique-se de que tem os seguintes recursos:
Localize o nome do cluster do Kubernetes ou pergunte a um membro do grupo de administradores da plataforma qual é o nome do cluster.
Inicie sessão e gere o ficheiro kubeconfig para o cluster do Kubernetes, se não tiver um.
Use o caminho kubeconfig do cluster Kubernetes para substituir
KUBERNETES_CLUSTER_KUBECONFIGnestas instruções.
Para receber as autorizações necessárias para ver todas as cargas de trabalho implementadas num cluster partilhado, peça ao administrador de IAM da organização para lhe conceder a função de visualizador de cargas de trabalho (
workload-viewer) no espaço de nomes do seu projeto.Para receber as autorizações necessárias para inspecionar cargas de trabalho sem estado num cluster partilhado, peça ao administrador de IAM da organização que lhe conceda a função de administrador do espaço de nomes (
namespace-admin) no espaço de nomes do seu projeto.Para receber as autorizações necessárias para ver e inspecionar cargas de trabalho sem estado num cluster padrão, peça ao administrador de IAM da organização para lhe conceder a função de programador de cluster (
cluster-developer) num cluster padrão.
Veja as cargas de trabalho de contentores de um projeto
Para ver as cargas de trabalho do contentor do seu projeto, conclua o seguinte:
Consola
No menu de navegação, selecione Kubernetes Engine > Workloads.
Pode ver detalhes das cargas de trabalho do contentor, como os seguintes:
- Nome
- Tipo
- Número de pods
- Cluster do Kubernetes
- Data da última modificação
As cargas de trabalho de contentores estão organizadas por cluster do Kubernetes ao qual pertencem. Selecione o menu pendente Cluster para mudar o contexto do cluster.
CLI
Execute o seguinte comando para listar todos os pods no seu projeto:
kubectl get pods -n PROJECT_NAMESPACEO resultado é semelhante ao 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
Inspecione a implementação
Para pedir informações mais detalhadas sobre os componentes de um recurso, execute comandos que segmentem diretamente a entidade que quer inspecionar.Deployment
Obtenha informações do objeto Deployment
Para obter informações detalhadas sobre o objeto Deployment, execute o seguinte comando:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
describe deployment DEPLOYMENT_NAME
Substitua o seguinte:
KUBERNETES_CLUSTER_KUBECONFIG: o ficheiro kubeconfig para o cluster que executa a implementação.NAMESPACE: o espaço de nomes. Para clusters partilhados, tem de ser um espaço de nomes do projeto. Para clusters padrão, pode ser qualquer espaço de nomes.DEPLOYMENT_NAME: o nome do objetoDeployment.
Apresente a configuração em direto no formato YAML
Para ver o manifesto de um objeto Deployment, execute o seguinte comando:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
get deployments DEPLOYMENT_NAME -o yaml
Este comando apresenta a configuração em direto do objeto Deployment no formato YAML.
Listar agrupamentos
Para listar os objetos Pod criados pela implementação, execute o seguinte comando:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
get pods -l KEY=VALUE
Neste comando, a flag -l lista todos os objetos Pod com a etiqueta de par chave-valor especificada no cluster especificado.
Substitua o seguinte:
KUBERNETES_CLUSTER_KUBECONFIG: o ficheiro kubeconfig para o cluster que executa a implementação.NAMESPACE: o espaço de nomes. Para clusters partilhados, tem de ser um espaço de nomes do projeto. Para clusters padrão, pode ser qualquer espaço de nomes.KEY: a chave da etiqueta do par de chave-valor definida na implementação. Por exemplo, se o campo.template.metadata.labelstiver a etiquetaapp: myappconfigurada, a chave éapp.VALUE: o valor da etiqueta do par de chave-valor definido na implementação. Por exemplo, se o campo.template.metadata.labelstiver a etiquetaapp: myappconfigurada, o valor émy-app.
Por exemplo, se etiquetou o objeto Deployment como app: my-app, executaria o seguinte comando para ver os objetos Pod com essa etiqueta:
kubectl --kubeconfig /tmp/kubeconfig.yaml -n my-namespace \
get pods -l app=my-app
Obtenha informações específicas do pod
Para obter informações sobre um objeto Pod específico, execute:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG -n NAMESPACE \
describe pod POD_NAME
Substitua o seguinte:
KUBERNETES_CLUSTER_KUBECONFIG: o ficheiro kubeconfig para o cluster que executa a implementação.NAMESPACE: o espaço de nomes. Para clusters partilhados, tem de ser um espaço de nomes do projeto. Para clusters padrão, pode ser qualquer espaço de nomes.POD_NAME: o nome do agrupamento gerido pela implementação.
O que se segue?
- Atualize cargas de trabalho sem estado
- Expanda cargas de trabalho sem estado
- Faça a gestão dos node pools