top of page

K8s - Realizar deployment





Agora vamos fazer o deploy de algumas aplicações dentro do nosso k8s.


As maneiras mais comum de realizar esse deploy é via kubectl e via yaml, aqui vamos abordar as duas maneiras.


Lembrando que as imagens já se encontram no container registry que foi feito no passo anterior, mas pode ser feito diretamente do repositório também:


Primeiramente vamos criar o deployment, que cria os pods, e em seguida vamos criar o service, que faz a exposição desse deployment.


A primeira coisa que vamos criar é um namespace para não realizarmos deployments no namespace default, não é necessariamente uma boa prática, é somente para fins de laboratório para abordarmos mais cenários técnicos.


kubectl create namespace box

Em seguida verificamos o namespace criado



Para alterar o contexto para realizar deploy no namespace criado:



kubectl config set-context --current --namespace=box


Agora vamos realizar o deployment:


kubectl create deployment hello-box --image=acrfernandolab.azurecr.io/hello:boxboat --replicas=1


Utilize o comando para ver se o deployment foi realizado corretamente:


kubectl get pods

Agora vamos realizar o expose dele por um service do tipo ClusterIP, se fizer pelo tipo LoadBalancer ele fica acessível já nesse momento, porém queremos evitar o número de IP's expostos na e utilizaremos mais para frente o NGINX Ingress Controller para controlar nossa exposição. Essa aplicação funciona na porta 80, então vamos direcionar a porta 80 de entrada para a porta 80 do container.


kubectl expose deployment hello-box --type=ClusterIP --port=80 --target-port=80


User o comando a seguir para verificar a integridade do service:


kubectl get svc

Realizado o deploy por kubectl.


Agora veremos o arquivo yaml desse deploy:



kubectl get deployment hello-box -o yaml



O endentamento em um arquivo yaml é extremamente importante,


Agora vamos fazer o deploy de outro aplicativo, mas dessa vez via yaml:


Crie o namespace e altere para ele conforme fizemos anteriormente, vamos criar o namespace "f5".


Em seguida salve o seguinte arquivo yaml em seu computador:


Em seguida, dentro do namespace criado, execute o seguinte:


kubectl apply -f .\f5.yaml



No próximo post vamos fazer o deploy de uma terceira aplicação com LoadBalancer e Ip Público da Azure.








Comments


bottom of page