Como implantar, dimensionar e expor um aplicativo simples no Magalu Cloud Kubernetes
- Crie um novo deployment - No Kubernetes, um Deployment é um objeto que pode definir um estado desejado para o seu aplicativo, incluindo o número de réplicas (contêineres) que você deseja que estejam em execução
kubectl create deployment nginx --image=nginx
- Verifique o status do deployment
kubectl get deployments
- Também é possível verificar no formato yaml. Este formato pode ser pode ser utilizado para criar novamente este deployment.
kubectl get deployment nginx -o yaml
- Execute novamente o comando e redirecione a saída para um arquivo. Em seguida, edite o arquivo “first.yaml”.
kubectl get deployment nginx -o yaml > first.yaml
vim first.yaml {sugestão de editor de texto vim}
-
Remova do arquivo “first.yaml”, as linhas creationTimestamp, resourceVersion e uid. Remova também todas as linhas incluindo e após status, que devem estar por volta da linha 120, se as outras já tiverem sido removidas.
-
Delete o deployment existente.
kubectl delete deployment nginx
- Edite novamente o arquivo first.yaml e adicione as três linhas seguintes após a linha name: nginx dentro do objeto Spec:
ports:
containerPort: 80
protocol: TCP
- Crie novamente o deployment utilizando o seguinte comando:
kubectl create -f first.yaml
- Verifique o Pod e o Deployment
kubectl get deploy.pod
- Delete o serviço criado anteriormente
kubectl delete svc nginx
- Crie novamente o serviço e passe agora o tipo LoadBalancer
kubectl expose deployment nginx --type=LoadBalance
- Verifique o status e observe as portas externas mencionadas. A saída mostrará o External-IP como pendente. A menos que um provedor responda com um load balancer, continuará a exibir como pendente. O provisionamento do IP externo pode levar alguns minutos.
kubectl get svc
- Depois de criar o Deployment, use o seguinte comando para verificar se ele está funcionando corretamente.
kubectl get deployments
- Escale seu deployment para duas réplicas
kubectl scale deployment nginx --replicas=2
- Verifique a criação das réplicas
kubectl get pods
- Utilize novamente o comando
kubectl get pods
Copie e cole o IP externo no seu navegador. Se todas as etapas anteriores foram seguidas corretamente, você deverá ser capaz de visualizar a página “Welcome to nginx!”
- Após o teste, se desejar excluir o deployment para recuperar recursos do sistema, execute os seguintes comandos:
kubectl delete deployments nginx
kubectl delete ep nginx
kubectl delete svc nginx
Note que a exclusão de um deployment não exclui os endpoints ou serviços.