Parar criar um POD no kubernetes podemos utilizar 2 maneiras simples, o kubectl ou um arquivo yaml.
Para criar utilizando o kubectl podemos utilizar o seguinte comando:
$ kubectl run nginx --image=nginx --port=80 --labels="app=nginx"
deployment.apps "nginx" created
Para criar utilizando um arquivo yaml precisamos primeiro criar o arquivo com o seguinte conteudo:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: nginx
name: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: nginx
spec:
containers:
- image: nginx
name: nginx
ports:
- containerPort: 80
resources: {}
status: {}
Depois de criar o arquivo podemos executar o comando para criar o pod
$ kubectl create -f pod.yaml
deployment.apps "nginx" created
Para validar a criação do pod e do deployment podemos executar um get all para ver os recursos criados.
$ deployment.apps "nginx" created
NAME READY STATUS RESTARTS AGE
pod/nginx-7db75b8b78-ktcvm 1/1 Running 0 1m
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deployment.extensions/nginx 1 1 1 1 1m
Nós podemos escalar o deployment usando o kubectl, só precisamos rodar:
$ kubectl scale --replicas=3 deployment/nginx
deployment.extensions "nginx" scaled
Para validar se escalou podemos rodar um get pods:
$ kubectl get po
NAME READY STATUS RESTARTS AGE
nginx-7db75b8b78-cfg6q 1/1 Running 0 1m
nginx-7db75b8b78-ktcvm 1/1 Running 0 4m
nginx-7db75b8b78-r9cls 1/1 Running 0 1
Para limpar o que criamos basta rodar:
$ kubectl delete deployment nginx
deployment.extensions "nginx" deleted