Подключение к частному кластеру AKS с помощью Бастиона Azure (предварительная версия)

В этой статье показано, как безопасно подключаться к частным кластерам Службы Azure Kubernetes (AKS), используя функцию туннелирования собственного клиента Бастиона Azure. Вы узнаете, как установить безопасные подключения к частным кластерам AKS в виртуальных сетях Azure без предоставления конечных точек общедоступному Интернету, что устраняет необходимость в дополнительном клиентском программном обеспечении или агентах.

Бастион Azure обеспечивает безопасное подключение ко всем ресурсам в виртуальной сети, в которой она подготовлена. Использование Бастиона Azure защищает кластеры AKS от предоставления конечных точек внешнему миру, обеспечивая безопасный доступ. Дополнительные сведения см. в статье "Что такое Бастион Azure"? Дополнительные сведения о частных кластерах AKS см. в статье "Создание частного кластера службы Azure Kubernetes".

Предпосылки

Прежде чем начать, убедитесь в том, что вы соответствуете следующим критериям:

  • Виртуальная сеть с узлом Бастиона уже установлена.

    • Убедитесь, что вы настроили узел Бастиона Azure для виртуальной сети, в которой находится кластер AKS. После подготовки и развертывания службы Бастиона в виртуальной сети его можно использовать для подключения к любому частному кластеру AKS в виртуальной сети.
    • Сведения о настройке узла Бастиона Azure см. в кратком руководстве по развертыванию бастиона с параметрами по умолчанию.
    • Бастион должен быть SKU уровня "Стандартный" или "Премиум" и поддерживать собственный клиент в параметрах конфигурации.
  • Кластер AKS в виртуальной сети или любой доступной виртуальной сети.

Обязательные роли

  • Роль читателя в кластере AKS.
  • роль читателя на ресурсе "Бастион Azure".
  • Роль читателя в виртуальной сети целевого кластера AKS (если развертывание Бастиона находится в одноранговой виртуальной сети).

Дополнительные требования

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

Подключиться

Чтобы подключиться к частному кластеру AKS, выполните приведенные действия.

  1. Войдите в учетную запись Azure с помощью az login ИНТЕРФЕЙСА командной строки. Если у вас несколько подписок, их можно просмотреть с помощью az account list и выбрать подписку, содержащую ресурс Бастиона, с помощью:

    az account set --subscription <subscription ID>
    
  2. Получение учетных данных в частный кластер AKS:

    az aks get-credentials --admin --name <AKSClusterName> --resource-group <ResourceGroupName>
    
  3. Откройте туннель в целевом кластере AKS с помощью любой из следующих команд:

    az aks bastion --name <aksClusterName> --resource-group <aksClusterResourceGroup> --admin --bastion <bastionResourceId>
    
  4. Измените новый временный KUBECONFIG, чтобы он указывал на новый туннель Bastion.

    export BASTION_PORT=$(ps aux | sed -n 's/.*--port \([0-9]*\).*/\1/p' | head -1)
    sed -i "s|server: https://.*|server: https://localhost:${BASTION_PORT}|" $KUBECONFIG
    
  5. Теперь вы, должно быть, полностью готовы к взаимодействию с кластером AKS.

     kubectl get nodes
    

Дальнейшие шаги

Дополнительные сведения о подключении см. в разделе "Бастион".