Criação de Deployments no Kubernetes
- Rodrigo Saito
- há 2 dias
- 2 min de leitura
Fala pessoal, tudo bem?
O deployment é o recurso responsável por fazer a implantação da nossa aplicação.
O K8s utiliza por padrão a estratégia chamada Rolling Updates ou Rolling Release que executa um percentual de indisponibilidade de PODs.
O padrão é ter no máximo de 25% do total de Pods que voce tem executando.
Outra forma (mas não padrão) que o K8s faz o deployment é através do Recreate Deployment, porém pode causar uma certa indisponibilidade (Deve ser usada somente em casos especiais)
É possível voltar ao estado que estava anteriormente com Rollback
Crie uma arquivo dentro de Downloads, chamado my-deployment.yaml, contendo o seguinte código:
apiVersion: apps/v1
kind: Deployment
metadata:
name: frontend-deployment
labels:
app: frontend
spec:
template:
metadata:
name: pod-my-nginx
labels:
env: production
spec:
containers:
- name: nginx-container
image: nginx
selector:
matchLabels:
env: production
replicas: 4
Entre dentro da pasta Downloads
cd Downloads
Confira se tem algum replicaset sendo executado:
kubectl get replicasetsFaça a deleção desse replicaset:
kubectl delete replicasets frontend-rs
Confira se tem mais algum replicaset:
kubectl get replicasets
Vamos aplicar o arquivo de deployment.yaml
kubectl apply -f my-deployment.yaml
Até esse momento, o deployment foi criado com sucesso.
Criação de Rollout do kubernetes
Verifique se o deployment foi criado com sucesso:
kubectl get deployments
Veja que o deployments faz a criação de replicasets:
kubectl get replicasets
Faça uma verificação dos PODs (que também foram criados pelo deployments)
kubectl get pods
Vamos fazer o rollout do deployment:
kubectl rollout status deployment.apps/frontend-deployment
Vamos ver a descrição a criação do deployment:
kubectl describe deployment.apps/frontend-deployment
Vamos verificar todos os recursos criados:
kubectl get all
Remoção dos recursos de Deployment
Vamos fazer a remoção do deployment:
kubectl delete deployments frontend-deployment
Verifique novamente:
kubectl get pods
Verifique novamente para todos os serviços:
kubectl get all
Dessa forma, conseguimos fazer a criação de mais um componente do kubernetes.
obrigado e até+!


Comentários