Начало работы

Создайте кластер Kubernetes и группу узлов, и управляйте ими с помощью kubectl — командной оболочки Kubernetes.

Перед началом работы

Чтобы начать работать c сервисом Managed Service for Kubernetes:

  1. Перейдите в консоль управления, затем войдите в Облако или зарегистрируйтесь, если вы еще не зарегистрированы.

  2. На странице биллинга убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его.

  3. Если у вас еще нет каталога, создайте его.

  4. Установите Kubernetes CLI (kubectl).

  5. Убедитесь, что у вас достаточно свободных ресурсов в облаке.

  6. Если у вас еще нет сети, создайте ее.

  7. Если у вас еще нет подсетей, создайте их в зонах доступности, где будут созданы кластер Kubernetes и группа узлов.

  8. Создайте сервисные аккаунты:

    • Сервисный аккаунт для ресурсов с ролью editor на каталог, в котором создается кластер Kubernetes. От его имени будут создаваться ресурсы, необходимые кластеру Kubernetes.
    • Сервисный аккаунт для узлов с ролью container-registry.images.puller на каталог с реестром Docker-образов. От его имени узлы будут скачивать из реестра необходимые Docker-образы.

    Вы можете использовать один и тот же сервисный аккаунт для обеих операций.

Создайте кластер Kubernetes

Чтобы создать кластер Kubernetes:

  1. В консоли управления выберите каталог, в котором будет создан кластер Kubernetes.

  2. В списке сервисов выберите Managed Service for Kubernetes.

  3. Нажмите кнопку Создать кластер.

  4. Введите имя и описание кластера Kubernetes. Требования к имени:

    • Длина — от 3 до 63 символов.
    • Может содержать строчные буквы латинского алфавита, цифры и дефисы.
    • Первый символ — буква. Последний символ — не дефис.
  5. В блоке Конфигурация мастера:

    • Выберите зону доступности, в которой будет создан мастер.
    • Выберите Сервисный аккаунт для ресурсов, который будет использоваться для создания ресурсов.
    • Выберите Сервисный аккаунт для узлов, который будет использоваться узлами для доступа к реестру Docker-образов.
    • В поле Публичный адрес выберите способ назначения адреса:
      • Автоматически — чтобы назначить случайный IP-адрес из пула адресов Яндекс.Облака.
      • Без адреса — чтобы не назначать публичный IP-адрес.
    • В поле Формат сети выберите способ отображения сетей:
      • Список — отображается список доступных сетей. Если у вас нет облачной сети, нажмите кнопку Создать сеть:
        • В открывшемся окне задайте имя сети. Укажите, что необходимо создать подсети. Нажмите кнопку Создать сеть. По умолчанию будет создана сеть с подсетями в каждой зоне доступности.
      • ID — необходимо ввести уникальные идентификаторы необходимых сетей.
  6. В блоке Сетевые настройки кластера:

    • Укажите CIDR кластера — диапазон IP-адресов, из которого будут выделяться IP-адреса для подов.
    • Укажите CIDR сервисов — диапазон IP-адресов, из которого будут выделяться IP-адреса для сервисов.
  7. Нажмите кнопку Создать кластер.

Добавьте учетные данные в конфигурационный файл kubectl

Если у вас еще нет интерфейса командной строки Яндекс.Облака, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы добавить учетные данные кластера Kubernetes в конфигурационный файл kubectl:

  1. Выполните команду:

    $ yc managed-kubernetes cluster get-credentials test-k8s-cluster --external
    
    • По умолчанию учетные данные добавляются в директорию $HOME/.kube/config.
    • Если необходимо изменить расположение конфигураций, используйте флаг --kubeconfig <путь к файлу>.
  2. Проверьте конфигурацию kubectl после добавления учетных данных:

    $ kubectl config view
    apiVersion: v1
    clusters:
    - cluster:
        certificate-authority-data: DATA+OMITTED
    ...
    

Создайте группу узлов

Чтобы создать группу узлов:

  1. В консоли управления выберите каталог, в котором будет создан кластер Kubernetes.

  2. В списке сервисов выберите Managed Service for Kubernetes.

  3. Выберите кластер Kubernetes, для которого необходимо создать группу узлов.

  4. На странице кластера Kubernetes перейдите на вкладку Группы узлов.

  5. Нажмите кнопку Создать группу узлов.

  6. Введите имя и описание группы узлов. Требования к имени:

    • Длина — от 3 до 63 символов.
    • Может содержать строчные буквы латинского алфавита, цифры и дефисы.
    • Первый символ — буква. Последний символ — не дефис.
  7. Укажите количество узлов в группе узлов.

  8. В блоке Вычислительные ресурсы:

  9. В блоке Хранилище:

    • Укажите Тип диска узла:
      • HDD — стандартный сетевой диск, сетевое блочное хранилище на HDD-накопителе.
      • SSD — быстрый сетевой диск, сетевое блочное хранилище на SSD-накопителе.
    • Укажите размер диска узла.
  10. В блоке Сетевые настройки:

    • В поле Публичный адрес выберите способ назначения адреса:
      • Автоматически — чтобы назначить случайный IP-адрес из пула адресов Яндекс.Облака.
      • Без адреса — чтобы не назначать публичный IP-адрес.
    • Укажите расположение узлов по зонам доступности и сетям.
    • (опционально) Нажмите кнопку Добавить расположение и укажите дополнительную зону доступности и сеть, чтобы создать узлы в разных зонах доступности.
  11. В блоке Доступ укажите данные для доступа на узел:

    • В поле Логин введите имя пользователя.
    • В поле SSH-ключ вставьте содержимое файла публичного ключа.
  12. Нажмите кнопку Создать группу узлов.

Что дальше