Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Настройка групп безопасности
    • Подключение к узлу по SSH
    • Создание файла конфигурации
    • Обновление Kubernetes
    • Настройка автомасштабирования
    • Установка приложений
      • Основы работы с Cloud Marketplace
      • Установка Jaeger
      • Установка Metrics Provider
    • Сетевые сценарии
      • Обеспечение доступа к приложению, запущенному в кластере Kubernetes
      • Настройка контроллера сетевых политик Calico
      • Настройка контроллера сетевых политик Cilium
      • Настройка Node Local DNS для контроллера сетевых политик Cilium
    • Работа с постоянными томами
      • Динамическая подготовка тома
      • Статическая подготовка тома
      • Управление классами хранилищ
      • Увеличение размера тома для подов
      • Увеличение размера тома для контроллера StatefulSet
      • Подключение тома в блочном режиме
      • Интеграция с Yandex Object Storage
    • Управление кластером Kubernetes
      • Добавление учетных данных кластера Kubernetes в конфигурационный файл kubectl
      • Информация об имеющихся кластерах
      • Создание кластера Kubernetes
      • Изменение кластера Kubernetes
      • Создание пространства имен в кластере Kubernetes
      • Удаление кластера Kubernetes
    • Управление группой узлов
      • Информация об имеющихся группах узлов
      • Создание группы узлов
      • Изменение группы узлов
      • Управление метками узлов кластера Kubernetes
      • Удаление группы узлов
    • Подключение внешних узлов к кластеру
  • Практические руководства
    • Все руководства
    • Интеграция с Container Registry
    • Запуск рабочих нагрузок с GPU
    • Установка NGINX Ingress-контроллера с Let's Encrypt®
    • Настройка Application Load Balancer Ingress-контроллера
    • Резервное копирование в Object Storage
    • Горизонтальное масштабирование приложения в кластере
    • Работа со снапшотами
    • Интеграция с корпоративной зоной DNS
    • Автоматическое масштабирование DNS по размеру кластера
    • Настройка локального кеширования DNS
    • Настройка Fluent Bit для работы с Yandex Cloud Logging
    • Синхронизация с секретами Yandex Lockbox
    • Использование продуктов Yandex Cloud Marketplace
      • Использование Jaeger для трассировки запросов в Yandex Managed Service for YDB
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Релизные каналы и обновления
    • Шифрование секретов
    • Использование объектов API Kubernetes
      • Том
      • Сервис
    • Группа узлов
      • Автоматическое масштабирование группы узлов
      • Расселение подов с узла
      • Динамическое резервирование ресурсов для узла
      • Группы узлов с GPU
    • Сеть в Managed Service for Kubernetes
    • Внешние узлы кластера
    • Сетевые настройки и политики кластера
    • Автоматическое масштабирование
    • Квоты и лимиты
    • Рекомендации по использованию Managed Service for Kubernetes
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • ClusterService
      • NodeGroupService
      • VersionService
      • OperationService
    • REST (англ.)
      • Overview
      • Cluster
        • Overview
        • create
        • delete
        • get
        • list
        • listNodeGroups
        • listNodes
        • listOperations
        • start
        • stop
        • update
      • NodeGroup
        • Overview
        • create
        • delete
        • get
        • list
        • listNodes
        • listOperations
        • update
      • Version
        • Overview
        • list
  • Вопросы и ответы
    • Общие вопросы
    • Хранилище данных
    • Настройка и обновление
    • Автоматическое масштабирование
    • Ресурсы
    • Логи
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Подключение к узлу по SSH

Подключение к узлу по SSH

Статья создана
Yandex Cloud
  • Создайте пары ключей SSH
  • Приведите публичный ключ к необходимому формату
  • Создайте группу узлов и добавьте публичный ключ
  • Обновите ключи группы узлов
  • Получите публичный IP-адрес узла
  • Подключитесь к узлу

Чтобы подключиться к узлу кластера Kubernetes по SSH:

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

    Примечание

    В образах Linux, которые используются на узлах, возможность подключения по протоколу SSH с использованием логина и пароля по умолчанию отключена.

  • Настройте группы безопасности кластера.

    Важно

    Настройки групп безопасности могут препятствовать подключению к кластеру.

Подробнее см. в разделе Подключение к ВМ по SSH.

Создайте пары ключей SSH

Подготовьте ключи для использования с вашим узлом кластера Kubernetes. Для этого:

Linux/MacOS
Windows 10
Windows 7/8
  1. Откройте терминал.

  2. Создайте новый ключ с помощью команды ssh-keygen:

    ssh-keygen -t rsa -b 2048
    

    После выполнения команды вам будет предложено указать имена файлов, в которые будут сохранены ключи и ввести пароль для закрытого ключа. По умолчанию используется имя id_rsa, ключи создаются в директории ~./ssh.

    Публичная часть ключа будет сохранена в файле с названием <имя ключа>.pub.

  1. Запустите cmd.exe или powershell.exe.

  2. Создайте новый ключ с помощью команды ssh-keygen. Выполните команду:

    ssh-keygen -t rsa -b 2048
    

    После выполнения команды вам будет предложено указать имя файлов, в которые будут сохранены ключи и ввести пароль для закрытого ключа. По умолчанию используется имя id_rsa, ключи создаются в директории C:\Users\<имя пользователя>\.ssh\.

    Публичная часть ключа будет сохранена в файле с названием <имя ключа>.pub.

Создание ключей для Windows будет выполняться с помощью приложения PuTTY.

  1. Скачайте и установите PuTTY.

  2. Убедитесь, что директория, куда вы установили PuTTY, присутствует в PATH:

    1. Нажмите правой кнопкой на Мой компьютер. Выберите пункт Свойства.
    2. В открывшемся окне выберите Дополнительные параметры системы, затем Переменные среды (находится в нижней части окна).
    3. В разделе Системные переменные найдите PATH и нажмите Изменить.
    4. В поле Значение переменной допишите путь к директории, куда вы установили PuTTY.
  3. Запустите приложение PuTTYgen.

  4. В качестве типа генерируемой пары выберите RSA и укажите длину 2048. Нажмите Generate и поводите курсором в поле выше до тех пор, пока не закончится создание ключа.

    ssh_generate_key

  5. В поле Key passphrase введите надежный пароль. Повторно введите его в поле ниже.

  6. Нажмите кнопку Save private key и сохраните закрытый ключ. Никогда его никому не передавайте и не говорите никому ключевую фразу от него.

  7. Сохраните ключ в текстовом файле одной строкой. Для этого скопируйте открытый ключ из текстового поля в текстовый файл с названием id_rsa.pub.

Приведите публичный ключ к необходимому формату

Управление пользователями и SSH ключами осуществляется с помощью OS Login, поэтому ключи необходимо передавать в определенном формате.

Файл с публичным ключом создается в таком виде:

ssh-rsa AAAAB3NzaC*********** rsa-key-20190412

Необходимо привести ключ к формату <имя пользователя>:ssh-rsa <тело ключа> <имя пользователя>, чтобы он выглядел следующим образом:

username:ssh-rsa AAAAB3NzaC***********zo/lP1ww== username

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

username:ssh-rsa AAAAB3NzaC***********zo/lP1ww== username
username2:ssh-rsa ONEMOREkey***********88OavEHw== username2

Создайте группу узлов и добавьте публичный ключ

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

yc managed-kubernetes node-group create \
  --name <имя группы узлов> \
  --cluster-name <имя кластера Kubernetes> \
  --fixed-size <количество узлов в группе> \
  --network-interface security-group-ids=[<список групп безопасности>],subnets=<имя подсети>,ipv4-address=nat \
  --metadata-from-file ssh-keys=<имя файла с публичными ключами>

Важно

Ключ user-data не поддерживается для передачи пользовательских данных. Параметры для подключения по ssh необходимо указать в ключе ssh-keys в метаданных ВМ.

Обновите ключи группы узлов

Чтобы обновить ssh-ключи группы узлов, воспользуйтесь следующей командой:

yc managed-kubernetes node-group add-metadata \
  --name <имя группы узлов> \
  --metadata-from-file ssh-keys=<имя файла с публичными ключами>

Получите публичный IP-адрес узла

Для подключения необходимо указать публичный IP-адрес узла. Его можно узнать одним из следующих способов.

kubectl CLI
Консоль управления
YC CLI

Воспользуйтесь следующей командой для kubectl. Публичный IP-адрес указан в столбце EXTERNAL-IP.

kubectl get nodes -o wide

Результат выполнения команды:

NAME                       STATUS  ROLES   AGE  VERSION  INTERNAL-IP  EXTERNAL-IP     OS-IMAGE            KERNEL-VERSION     CONTAINER-RUNTIME
cl17i6943n92sb98jifg-itif  Ready   <none>  31m  v1.13.3  10.0.0.27    84.201.145.251  Ubuntu 18.04.1 LTS  4.15.0-29-generic  docker://18.6.2
cl17i6943n92sb98jifg-ovah  Ready   <none>  31m  v1.13.3  10.0.0.22    84.201.149.184  Ubuntu 18.04.1 LTS  4.15.0-29-generic  docker://18.6.2
  1. Откройте раздел Compute Cloud в каталоге, где создан ваш кластер Kubernetes.
  2. На странице Виртуальные машины перейдите на вкладку Группы виртуальных машин.
  3. Нажмите на группу ВМ, имя которой соответствует идентификатору группы узлов.
  4. В открышемся окне перейдите на вкладку Список ВМ.
  5. Нажмите на ВМ, публичный адрес которой хотите узнать.
  6. Публичный IP-адрес указан в блоке Сеть в строке Публичный IPv4.
  1. Узнайте идентификатор группы ВМ, которая соответствует группе узлов.

    Необходимый параметр находится в столбце INSTANCE GROUP ID.

    yc managed-kubernetes node-group list
    

    Результат выполнения команды:

    +----------------------+----------------------+----------------+----------------------+---------------------+---------+------+
    |          ID          |      CLUSTER ID      |      NAME      |  INSTANCE GROUP ID   |     CREATED AT      | STATUS  | SIZE |
    +----------------------+----------------------+----------------+----------------------+---------------------+---------+------+
    | cat684ojo3irchtpeg84 | cata9ertn6tcr09bh9rm | test-nodegroup | cl17i6943n92sb98jifg | 2019-04-12 12:38:35 | RUNNING |    2 |
    +----------------------+----------------------+----------------+----------------------+---------------------+---------+------+
    
  2. Посмотрите список узлов, которые принадлежат данной группе.

    Публичный IP-адрес узла указан в столбце IP после символа ~.

    yc compute instance-group list-instances cl17i6943n92sb98jifg
    

    Результат выполнения команды:

    +----------------------+---------------------------+--------------------------+---------------+----------------+
    |     INSTANCE ID      |           NAME            |            IP            |    STATUS     | STATUS MESSAGE |
    +----------------------+---------------------------+--------------------------+---------------+----------------+
    | ef31h24k03pg0mhunfm1 | cl17i6943n92sb98jifg-itif | 10.0.0.27~84.201.145.251 | RUNNING [53m] |                |
    | ef37ddhg9i7jhs7tc3pe | cl17i6943n92sb98jifg-ovah | 10.0.0.22~84.201.149.184 | RUNNING [53m] |                |
    +----------------------+---------------------------+--------------------------+---------------+----------------+
    

Подключитесь к узлу

Вы можете подключиться к узлу по протоколу SSH, когда он будет запущен (в статусе RUNNING). Для этого можно использовать утилиту ssh в Linux и macOS и программу PuTTY для Windows.

Linux/macOS/Windows 10
Windows 7/8

В терминале выполните следующую команду:

ssh <имя пользователя>@<публичный IP-адрес узла>

Если вы подключаетесь к узлу в первый раз, может появиться предупреждение о неизвестном хосте:

The authenticity of host '130.193.40.101 (130.193.40.101)' can't be established.
ECDSA key fingerprint is SHA256:PoaSwqxRc8g6iOXtiH7ayGHpSN0MXwUfWHkGgpLELJ8.
Are you sure you want to continue connecting (yes/no)?

Введите в терминале слово yes и нажмите Enter.

В Windows соединение устанавливается с помощью приложения PuTTY.

  1. Запустите приложение Pageant.
    1. Нажмите правой кнопкой мыши на значок Pageant на панели задач.
    2. В контекстном меню выберите пункт Add key.
    3. Выберите сгенерированный PuTTY приватный ключ в формате .ppk. Если для ключа задан пароль, введите его.
  2. Запустите приложение PuTTY.
    1. В поле Host Name (or IP address) введите публичный IP-адрес ВМ, к которой вы хотите подключиться. Укажите порт 22 и тип соединения SSH.

      ssh_add_ip

    2. Откройте в дереве слева пункт Connection - SSH - Auth.

    3. Установите флаг Allow agent forwarding.

    4. В поле Private key file for authentication выберите файл с приватным ключом.

      ssh_choose_private_key

    5. Вернитесь в меню Sessions. В поле Saved sessions введите любое название для сессии и нажмите кнопку Save. Настройки сессии сохранятся под указанным именем. Вы сможете использовать этот профиль сессии для подключения с помощью Pageant.

      ssh_save_session

    6. Нажмите кнопку Open. Если вы подключаетесь к узлу в первый раз, может появиться предупреждение о неизвестном хосте:

      ssh_unknown_host_warning

      Нажмите кнопку Да. Откроется окно терминала с предложением ввести логин пользователя, от имени которого устанавливается соединение. Введите имя пользователя, которое вы указали в файле с публичным ключом и нажмите Enter. Если все настроено верно, будет установлено соединение с сервером.

      ssh_login

Если вы сохранили профиль сессии в PuTTY, в дальнейшем для установки соединения можно использовать Pageant:

  1. Нажмите правой кнопкой мыши на значок pageant на панели задач.
  2. Выберите пункт меню Saved sessions.
  3. В списке сохраненных сессий выберите нужную сессию.

Была ли статья полезна?

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Создайте пары ключей SSH
  • Приведите публичный ключ к необходимому формату
  • Создайте группу узлов и добавьте публичный ключ
  • Обновите ключи группы узлов
  • Получите публичный IP-адрес узла
  • Подключитесь к узлу