Eventualmente será necessário ir mais a fundo na investigação de algum problema. Para isso lançamos mão do kubectl, que é a ferramenta oficial do Kubernetes para realizar qualquer operação no cluster. O Kubectl foi projetada para gerenciar objetos e clusters Kubernetes. Ele fornece uma interface de linha de comando para executar operações comuns, como criar e escalar Deployments, alternar contextos e acessar um shell em um container em execução.
O acesso ao cluster via kubectl está limitado à algumas máquinas, sendo assim é necessário solicitar acesso ao time de cloud TKS e SRE. |
Para excluir um cluster da sua configuração, use delete-cluster:
Nota: Isso exclui apenas o cluster da sua configuração e não exclui o cluster Kubernetes real. Modificando UsuáriosVocê pode executar operações similares para usuários usando set-credentials:
|
kubectl config current-context Output |
Para ver uma lista de todos os contextos configurados, execute get-contexts:
kubectl config get-contexts Output |
Para definir um contexto, use set-context:
kubectl config set-context nome_do_contexto --cluster=nome_do_cluster --user=user_name --namespace=namespace |
Você pode alternar entre contextos com use-context:
kubectl config use-context nome_do_contexto |
E você pode excluir um contexto com delete-context:
kubectl config delete-context nome_do_contexto |
Um Namespace no Kubernetes é uma abstração que lhe permite subdividir seu cluster em vários clusters virtuais. Usando Namespaces, você pode dividir os recursos do cluster entre várias equipes e objetos de escopo de maneira apropriada. Por exemplo, você pode ter um Namespace prod para cargas de trabalho de produção e um Namespace dev para cargas de trabalho de desenvolvimento e teste.
Para buscar e imprimir uma lista de todos os Namespaces no cluster, use get namespace:
kubectl get namespace |
Output NAME STATUS AGE default Active 2d21h kube-node-lease Active 2d21h kube-public Active 2d21h kube-system Active 2d21h |
Para definir um Namespace para o seu contexto atual, use set-context --current:
kubectl config set-context --current --namespace=nome_do_namespace |
Para criar um Namespace, use create namespace:
kubectl create namespace namespace_name Output namespace/sammy created |
De maneira similar, para excluir um Namespace, use delete namespace:
kubectl delete namespace namespace_name Output namespace/sammy created |
Atenção: A exclusão de um Namespace excluirá tudo no Namespace, incluindo a execução de Deployments, Pods e outras cargas de trabalho. Execute este comando apenas se tiver certeza de que deseja eliminar o que está sendo executado no Namespace ou se estiver excluindo um Namespace vazio.
Para buscar todos os Pods em um determinado Namespace ou para realizar outras operações nos recursos de um determinado Namespace, certifique-se de incluir a flag --namespace:
kubectl get pods --namespace=nome_do_namespace |
Quando estiver dentro deste host, poderá executar kubectl e realizar qualquer operação no cluster.
Através da documentação https://kubernetes.io/docs/reference/kubectl/overview/ podemos observar que para listar os pods de um cliente, devemos executar o seguinte comando:
kubectl -n CODIGO_CLIENTE get pods
O resultado é similar ao obtido no Kubernetic.
{