Поделиться через


Настройка ключей SSH для кластера AKS Arc

Область применения: AKS в локальной среде Azure, версия 23H2

протокол Secure Shell (SSH) — это зашифрованный протокол подключения, предоставляющий безопасные входы через незащищенные подключения. AKS в Azure Local поддерживает доступ к виртуальной машине в узлах Kubernetes через SSH с помощью пары открытого закрытого ключа, также известной как ключи SSH. Сведения о создании ключей SSH и управлении ими см. в статье Создание ключей SSH и управление ими.

При развертывании кластера AKS Arc требуется ключ SSH. При создании кластера можно создать новую пару ключей или использовать существующий открытый ключ. В этой статье объясняется, как использовать ключи SSH для кластеров AKS Arc из Azure CLI и портала Azure.

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

Чтобы создать кластер AKS Arc, убедитесь, что у вас есть необходимые сведения от локального администратора инфраструктуры, как описано в разделе Создание кластеров Kubernetes.

Azure CLI (интерфейс командной строки)

Используйте команду az aksarc create, чтобы создать кластер AKS Arc с открытым ключом SSH. Чтобы создать новый ключ, передайте параметр --generate-ssh-key. Чтобы использовать существующий открытый ключ, укажите ключ или файл ключа с помощью параметра --ssh-key-value. Чтобы ограничить доступ SSH к определенным IP-адресам, используйте аргумент --ssh-auth-ips. Инструкции см. в ограничение доступа SSH к виртуальным машинам.

Параметр SSH Описание
--generate-ssh-key — Обязательный параметр, если на локальном компьютере не существует предварительного ключа SSH. При указании --generate-ssh-keyAzure CLI автоматически создает набор ключей SSH и сохраняет их в каталоге по умолчанию ~/.ssh/.
. Если на локальном компьютере уже есть ключ SSH, кластер AKS повторно использует этот ключ. В этом сценарии, укажете вы --generate-ssh-keys или опустите параметр совсем, это не влияет.
--ssh-key-value — Путь к публичному ключу или содержимое ключа для SSH-доступа к виртуальным машинам узла. Например: ssh-rsa AAAAB ... UcyupgH azureuser@linuxvm.
— по умолчанию этот ключ находится в ~/.ssh/id_rsa.pub. Можно указать другое расположение с помощью параметра --ssh-key-value во время создания кластера.
--ssh-auth-ips Разделенный запятыми список IP-адресов или диапазонов CIDR, разрешенных для SSH в виртуальную машину кластера.

В следующих примерах показано, как использовать эту команду:

  • Чтобы создать кластер AKS Arc и использовать созданные по умолчанию ключи SSH:

    az aksarc create -n $<aks_cluster_name> -g $<resource_group_name> --custom-location $<customlocation_ID> --vnet-ids $<logicnet>_Id --aad-admin-group-object-ids <entra-admin-group-object-ids> --generate-ssh-keys
    
  • Чтобы создать кластер AKS Arc с помощью предварительно созданного ключа SSH:

    1. Создайте ключ SSH. Дополнительные сведения см. в статье Создание и хранение ключей SSH с помощью Azure CLI:

      az sshkey create --name "mySSHKey" --resource-group $<resource_group_name>
      
    2. Создайте кластер AKS Arc с предварительно созданным ключом SSH:

      az aksarc create -n $<aks_cluster_name> -g $<resource_group_name> --custom-location $<customlocation_ID> --vnet-ids $<logicnet_Id> --aad-admin-group-object-ids <entra-admin-group-object-ids> --ssh-key-value $pubkey.publickey
      
  • Чтобы указать файл открытого ключа SSH, включите параметр --ssh-key-value:

    az aksarc create -n $<aks_cluster_name> -g $<resource_group_name> --custom-location $<customlocation_ID> --vnet-ids $<logicnet_Id> --aad-admin-group-object-ids <entra-admin-group-object-ids> --generate-ssh-keys --ssh-key-value ~/.ssh/id_rsa.pub
    

Портал Azure

Сведения о создании новых ключей SSH на портале Azure см. в статье Создание ключей SSH и управление ими на портале.

При создании кластера AKS Arc с помощью портала Azure укажите необходимые сведения, как описано в создании кластера Kubernetes. Ключ SSH можно настроить в разделе учетной записи администратора на вкладке "Базовый" .

У вас есть три варианта настройки ключа SSH:

  • Создайте новую пару ключей.
  • Используйте существующий ключ, хранящийся в Azure, и выберите из сохраненных ключей.
  • Используйте существующий открытый ключ, указав значение открытого ключа SSH.

Сообщение об ошибке

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

  • Файл ключа RSA или значение ключа должны быть предоставлены параметру SSH Key Value.
  • Управляющая плоскость: в конфигурации кластера отсутствуют ключи безопасности.
  • Открытые ключи LinuxProfile SSH должны быть допустимыми и не пустыми.
  • Глобальные открытые ключи SSH LinuxProfile должны быть допустимыми и не пустыми.

Чтобы устранить проблему, см. статью Создание ключей SSH и управление ими с помощью Azure CLI для создания ключей SSH. Затем см. раздел Создание кластеров Kubernetes для используемого интерфейса. Если вы используете REST API, ознакомьтесь с подготовленными экземплярами кластера для создания подготовленного экземпляра кластера.

Дальнейшие действия