
Пример запуска Pod
Создадим файл nginx.yaml со следующим содержимым:
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx
Для запуска выполним:
kubectl apply -f nginx.yaml
Посмотреть список подов:
kubectl get pods
NAME READY STATUS RESTARTS AGE nginx 1/1 Running 0 39s
Зайти в под:
kubectl exec -ti nginx bash
Удалить так же, можно через файл:
kubectl delete -f nginx.yaml
Пример запуска Deployments
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 2
selector:
matchLabels:
app: webserver
template:
metadata:
labels:
app: webserver
spec:
containers:
- name: nginx
image: nginx
- kind: Deployment — означает, что Kubernetes будет постоянно следить за здоровьем контейнера и переподымать его при необходимости автоматически.
- replicas: 2 — создадим 2 реплики нашего контейнера
Для запуска выполним:
kubectl apply -f nginx-deployment.yaml
Посмотрим запущенные deployments:
kubectl get deployments
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE nginx-deployment 2 2 2 2 7m12s
Посмотрим запущенные pods:
kubectl get pods
NAME READY STATUS RESTARTS AGE nginx-deployment-544d7ffff9-bl772 1/1 Running 0 7m43s nginx-deployment-544d7ffff9-z5w2n 1/1 Running 0 7m43s
Попробуем поиграться с опцией scale:
kubectl scale deployment nginx-deployment --replicas=4
Посмотрим результат:
kubectl get pods
NAME READY STATUS RESTARTS AGE nginx-deployment-544d7ffff9-bl772 1/1 Running 0 40m nginx-deployment-544d7ffff9-f6rvc 1/1 Running 0 6s nginx-deployment-544d7ffff9-tzqw4 1/1 Running 0 6s nginx-deployment-544d7ffff9-z5w2n 1/1 Running 0 40m
Удалить deployment:
kubectl delete deployments nginx-deployment