Перейти к основному содержимому
Развернуть Docker-образ в Kubernetes
Последнее изменение:

Развернуть Docker-образ в Kubernetes

Если вы храните Docker-образы в Container Registry, вы можете развернуть под в кластере Managed Kubernetes или в кластере Kubernetes, который администрируете самостоятельно.

  1. Загрузите образ в реестр Container Registry.
  2. Настройте интеграцию Container Registry с кластером.
  3. Разверните приложение из образа.

Загрузить образ в Container Registry

  1. Авторизуйтесь в реестре.

  2. Введите логин (username) и пароль (password).

  3. Присвойте образу тег:

    docker tag <image> cr.selcloud.ru/<registry>/<image>:<tag>

    Укажите:

    • <image> — имя образа, можно посмотреть с помощью docker image list;
    • <registry> — имя реестра, в который нужно загрузить образ;
    • <tag> — тег.
  4. Загрузите образ в реестр:

    docker push cr.selcloud.ru/<registry>/<image>:<tag>

Настроить интеграцию Container Registry с кластером

Для кластера Managed Kubernetes после интеграции данные для аутентификации автоматически добавляются в сервисный аккаунт, используемый по умолчанию, и в секрет ко всем пространствам имен кластера.

В кластере Kubernetes вы создаете объект Secret — секрет с данными токена Container Registry самостоятельно.

Вы можете настроить интеграцию из реестра Container Registry с одним или несколькими кластерами Managed Kubernetes.

  1. В панели управления перейдите в раздел Облачная платформаContainer Registry.
  2. Откройте страницу реестра.
  3. Нажмите Доступ к реестру.
  4. Выберите Интеграция с Kubernetes.
  5. Нажмите Продолжить.
  6. Выберите кластеры Managed Kubernetes, которым будет предоставлен доступ к выбранному реестру. Вы можете выбрать только кластеры со статусом ACTIVE. Кластеры с другими статусами обозначены как INACTIVE.
  7. Если вы настраиваете интеграцию в первый раз, нажмите Интегрировать.
  8. Если вы изменяете настройки интеграции, нажмите Сохранить.

Информация о кластерах Managed Kubernetes, которым предоставлен доступ к выбранному реестру, отображается на странице реестра, под его названием.

Развернуть приложение из образа

  1. Создайте файл deployment.yaml:

    nano deployment.yaml
  2. Скопируйте в файл содержимое:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: example-deployment
    labels:
    app: example-deployment
    spec:
    replicas: 2
    selector:
    matchLabels:
    app: example-deployment
    template:
    metadata:
    labels:
    app: example-deployment
    spec:
    containers:
    - name: <image_name>
    image: cr.selcloud.ru/<registry>/<image>:latest

    Укажите:

    • <registry> — имя реестра;
    • <image_name> — имя образа.
  3. Разверните приложение:

    kubectl apply -f deployment.yaml
  4. Проверьте статус подов — они должны быть в статусе running:

    kubectl get pods