Использование манифестов

В продуктивной среде управление подами выполняется с помощью специальных файлов с описанием того, как должен создаваться и настраиваться под — манифестов. Рассмотрим пример создания и применения такого манифеста.

Создадим файл формата yml:

vi manifest_pod.yaml

apiVersion: v1
kind: Pod
metadata: 
  name: web-srv
  labels:
    app: web_server
    owner: dmosk
    description: web_server_for_site
spec:
  containers: 
    - name: nginx
      image: nginx:latest
      ports:
        - containerPort: 80
        - containerPort: 443

    - name: php-fpm
      image: php-fpm:latest
      ports:
        - containerPort: 9000

    - name: mariadb
      image: mariadb:latest
      ports:
        - containerPort: 3306

* в данном примере будет создан под с названием web-srv; в данном поде будет развернуто 3 контейнера — nginx, php-fpm и mariadb на основе одноименных образов.

Для объектов Kubernetes очень важное значение имеют метки или labels. Необходимо всегда их описывать. Далее, данные метки могут использоваться для настройки сервисов и развертываний.

Чтобы применить манифест выполняем команду:

kubectl apply -f manifest_pod.yaml

Мы должны увидеть ответ:

pod/web-srv created

Смотрим поды командой:

kubectl get pods

Мы должны увидеть:

NAME      READY   STATUS    RESTARTS   AGE
web-srv   3/3     Ready     0          3m11s

* для Ready мы можем увидеть 0/3 или 1/3 — это значит, что контейнеры внутри пода еще создаются и нужно подождать.