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