Introdução
O uso de recursos é um aspecto importante de qualquer aplicação em execução num cluster Kubernetes. Ao monitorizar o uso de recursos, pode identificar problemas de desempenho, otimizar os seus recursos e melhorar a eficiência geral das suas aplicações. Neste laboratório, vamos explorar como exibir o uso de recursos num cluster Kubernetes usando o metrics-server. Vamos cobrir o uso de CPU e Memória.
Iniciar o Cluster Minikube
Antes de criar recursos, precisa de um cluster Kubernetes em execução. Minikube é um ambiente Kubernetes leve que é executado na sua máquina local.
Navegue para o seu diretório de trabalho:
Abra o terminal e navegue para a pasta do projeto padrão:
cd /home/labex/projectIniciar Minikube:
Inicie o Minikube para inicializar um cluster Kubernetes:
minikube start- Este comando configura um cluster Kubernetes de nó único na sua máquina local.
- O Minikube pode demorar alguns minutos a iniciar, dependendo do desempenho do seu sistema.
Verificar se o Minikube está em execução:
Verifique o estado do cluster Minikube:
minikube status- Procure componentes como
kubeleteapiserverlistados comoRunning. - Se o cluster não estiver em execução, execute novamente
minikube start.
- Procure componentes como
Se encontrar problemas ao iniciar o Minikube. Use minikube delete para redefinir o ambiente, se necessário.
Habilitar o Metrics-Server
O metrics-server é um componente Kubernetes que coleta métricas de vários objetos Kubernetes e as fornece em um formato consumível para outros componentes Kubernetes. Antes de podermos exibir o uso de recursos no nosso cluster Kubernetes, precisamos habilitar o metrics-server.
minikube addons enable metrics-server
Este comando irá habilitar o metrics-server no seu cluster Kubernetes.
Execute o seguinte comando para verificar se o metrics-server está em execução:
kubectl get pods --namespace=kube-system | grep metrics-server
Exibir Uso de CPU e Memória
Para exibir o uso de CPU e Memória em um cluster Kubernetes, usaremos o comando kubectl top. Este comando permite que você veja o uso de recursos de objetos Kubernetes em tempo real.
## Exibir o uso de CPU e Memória para todos os pods em um namespace específico
kubectl top pods --namespace=kube-system
## Exibir o uso de CPU e Memória para todos os nós no cluster
kubectl top nodes
Este comando exibirá as estatísticas atuais de uso de CPU e Memória para todos os pods no namespace especificado ou para todos os nós no cluster.
Exibir Uso de CPU e Memória do Container
Para exibir o uso de CPU e Memória dos containers em execução dentro dos pods, usaremos o comando kubectl top novamente.
Crie um pod simples que será usado como modelo para as réplicas. Crie um arquivo chamado myapp-pod.yaml em /home/labex/project/ com o seguinte conteúdo:
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
spec:
containers:
- name: myapp-container
image: nginx
ports:
- containerPort: 80
Crie o pod usando o seguinte comando:
kubectl apply -f myapp-pod.yaml
Em seguida, use o seguinte comando para exibir o uso de CPU e Memória para um container específico dentro de um pod:
kubectl top pod myapp-pod --namespace=default --containers=true
Este comando exibirá as estatísticas atuais de uso de CPU e Memória para o container especificado dentro do pod especificado.
Resumo
Parabéns! Você concluiu com sucesso o laboratório de Exibição de Uso de Recursos do Kubernetes. Neste laboratório, você aprendeu como exibir estatísticas de uso de recursos para CPU e Memória em um cluster Kubernetes. Ao usar o metrics-server, você agora pode monitorar o uso de recursos em suas aplicações, otimizar seus recursos e melhorar a eficiência geral de suas aplicações em execução em um cluster Kubernetes.


