Учебники

Кубернетес — Изображения

Изображения Kubernetes (Docker) являются ключевыми строительными блоками контейнерной инфраструктуры. На данный момент мы поддерживаем только Kubernetes для поддержки образов Docker. Внутри каждого контейнера в модуле находится изображение Docker.

Когда мы настраиваем модуль, свойство изображения в файле конфигурации имеет тот же синтаксис, что и команда Docker. В файле конфигурации есть поле для определения имени изображения, которое мы планируем извлечь из реестра.

Ниже приведена общая структура конфигурации, которая извлекает образ из реестра Docker и развертывает его в контейнере Kubernetes.

apiVersion: v1
kind: pod
metadata:
   name: Tesing_for_Image_pull -----------> 1
   spec:
      containers:
         - name: neo4j-server ------------------------> 2
         image: <Name of the Docker image>----------> 3
         imagePullPolicy: Always ------------->4
         command: ["echo", "SUCCESS"] ------------------->

В приведенном выше коде мы определили —

  • name: Tesing_for_Image_pull — это имя предназначено для идентификации и проверки имени контейнера, который будет создан после извлечения изображений из реестра Docker.

  • name: neo4j-server — это имя, данное контейнеру, который мы пытаемся создать. Вроде мы дали neo4j-сервер.

  • image: <имя образа Docker> — это имя изображения, которое мы пытаемся извлечь из Docker или внутреннего реестра изображений. Нам нужно определить полный путь к реестру вместе с именем образа, который мы пытаемся получить.

  • imagePullPolicy — Always — эта политика извлечения изображений определяет, что всякий раз, когда мы запускаем этот файл для создания контейнера, он снова вытягивает одно и то же имя.

  • команда: [«echo», «SUCCESS»] — при этом, когда мы создаем контейнер и если все идет хорошо, он будет отображать сообщение, когда мы получим доступ к контейнеру.

name: Tesing_for_Image_pull — это имя предназначено для идентификации и проверки имени контейнера, который будет создан после извлечения изображений из реестра Docker.

name: neo4j-server — это имя, данное контейнеру, который мы пытаемся создать. Вроде мы дали neo4j-сервер.

image: <имя образа Docker> — это имя изображения, которое мы пытаемся извлечь из Docker или внутреннего реестра изображений. Нам нужно определить полный путь к реестру вместе с именем образа, который мы пытаемся получить.

imagePullPolicy — Always — эта политика извлечения изображений определяет, что всякий раз, когда мы запускаем этот файл для создания контейнера, он снова вытягивает одно и то же имя.

команда: [«echo», «SUCCESS»] — при этом, когда мы создаем контейнер и если все идет хорошо, он будет отображать сообщение, когда мы получим доступ к контейнеру.

Чтобы вытащить изображение и создать контейнер, мы запустим следующую команду.

$ kubectl create –f Tesing_for_Image_pull

Как только мы получим журнал, мы получим вывод как успешный.

$ kubectl log Tesing_for_Image_pull

Приведенная выше команда выдаст вывод об успехе, или мы получим вывод как сбой.

Примечание. Рекомендуется попробовать все команды самостоятельно.