Kubernetes: Deploy de uma aplicação via Linha de comando
Vamos fazer o deploy de uma aplicação no Kubernetes usando linha de comando (cli). Neste exemplo vamos fazer deploy de um webserver Nginx.
Procedimento
Gerando um arquivo yaml
1) Vamos gerar o arquivo
kubectl run webserver --image nginx --dry-run=client -o yaml > w.yaml
Abaixo temos o arquivo gerado w.yaml
apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: run: webserver name: webserver spec: containers: - image: nginx name: webserver resources: {} dnsPolicy: ClusterFirst restartPolicy: Always status: {}
Salve e feche o arquivo.
2) Execute o comando kubectl para fazer o deploy das informações no arquivo
kubectl create -f .yaml
Usando um deployment
Crie
apiVersion: apps/v1 kind: Deployment metadata: name: webserver labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:alpine ports: - containerPort: 80
Salve e feche o arquivo.
2) Execute o comando kubectl para fazer o deploy das informações no arquivo
kubectl create -f webserver.yaml
Verificando o que foi criado
- Deployments
kubectl get deployments NAME READY UP-TO-DATE AVAILABLE AGE webserver 3/3 3 3 8m31s
- ReplicaSets
kubectl get replicasets NAME DESIRED CURRENT READY AGE webserver-7b45b4c665 3 3 3 3m53s
- Pods
kubectl get pods NAME READY STATUS RESTARTS AGE webserver-7b45b4c665-kc94b 1/1 Running 0 4m5s webserver-7b45b4c665-pcs5g 1/1 Running 0 4m5s webserver-7b45b4c665-t567q 1/1 Running 0 4m5s
Criando um serviço e expondo-o ao mundo externo com o NodePort via Linha de Comando
Continua em Kubernetes: Criando um serviço e expondo-o ao mundo externo com o NodePort via Linha de Comando