Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Начало работы с Kubernetes с поддержкой Azure Arc с помощью Azure CLI или Azure PowerShell для подключения существующего кластера Kubernetes к Azure Arc.
Для ознакомления с концепцией подключения кластеров к Azure Arc, см. обзор агента Kubernetes, поддерживаемого Azure Arc. Чтобы опробовать возможности, посетите Azure Arc Jumpstart.
Предварительные условия
Внимание
В дополнение к этим предварительным требованиям обязательно соблюдайте все требования к сети для Kubernetes с поддержкой Azure Arc.
Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
Базовое понимание основных понятий Kubernetes.
Удостоверение (пользователь или представитель службы), которое можно использовать для входа в Azure CLI и подключения кластера к Azure Arc.
Последняя версия Azure CLI.
Последняя версия расширения Azure CLI connectedk8s, установленная с помощью следующей команды:
az extension add --name connectedk8sЗапущенный кластер Kubernetes. Если у вас его нет, можно создать кластер с помощью одного из следующих вариантов:
Самостоятельно управляемый кластер Kubernetes с помощью API кластера
Примечание.
Кластер должен иметь по крайней мере один узел операционной системы и типа
linux/amd64архитектуры и /илиlinux/arm64. Дополнительные сведения о сценариях ARM64 см. в разделе "Требования к кластеру".
По крайней мере 850 МБ свободного места для агентов Arc, развернутых в кластере, и возможность использовать примерно 7% одного ЦП.
Файл kubeconfig и контекст, указывающий на ваш кластер. Дополнительные сведения см. в разделе "Настройка доступа к нескольким кластерам".
Регистрация поставщиков для Kubernetes с поддержкой Azure Arc
Введите следующие команды:
az provider register --namespace Microsoft.Kubernetes az provider register --namespace Microsoft.KubernetesConfiguration az provider register --namespace Microsoft.ExtendedLocationОтслеживайте ход процесса регистрации. Регистрация может занять до 10 минут.
az provider show -n Microsoft.Kubernetes -o table az provider show -n Microsoft.KubernetesConfiguration -o table az provider show -n Microsoft.ExtendedLocation -o tableПосле завершения регистрации
RegistrationStateэти пространства имен изменяются наRegistered.
Создание группы ресурсов
Выполните следующую команду, чтобы создать группу ресурсов для кластера Kubernetes с поддержкой Azure Arc. В этом примере группа ресурсов называется AzureArcTest и создается в регионе EastUS.
az group create --name AzureArcTest --location EastUS --output table
Выходные данные:
Location Name
---------- ------------
eastus AzureArcTest
Подключение существующего кластера Kubernetes
Выполните следующую команду, чтобы подключить кластер. Эта команда развертывает агенты Azure Arc в кластере и устанавливает Helm версии 3.6.3 в .azure папку компьютера развертывания. Эта установка Helm 3 используется только для Azure Arc, и она не удаляет или не изменяет ранее установленные версии Helm на компьютере.
В этом примере имя кластера — AzureArcTest1.
az connectedk8s connect --name AzureArcTest1 --resource-group AzureArcTest
Выходные данные:
Helm release deployment succeeded
{
"aadProfile": {
"clientAppId": "",
"serverAppId": "",
"tenantId": ""
},
"agentPublicKeyCertificate": "xxxxxxxxxxxxxxxxxxx",
"agentVersion": null,
"connectivityStatus": "Connecting",
"distribution": "gke",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/AzureArcTest/providers/Microsoft.Kubernetes/connectedClusters/AzureArcTest1",
"identity": {
"principalId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "SystemAssigned"
},
"infrastructure": "gcp",
"kubernetesVersion": null,
"lastConnectivityTime": null,
"location": "eastus",
"managedIdentityCertificateExpirationTime": null,
"name": "AzureArcTest1",
"offering": null,
"provisioningState": "Succeeded",
"resourceGroup": "AzureArcTest",
"tags": {},
"totalCoreCount": null,
"totalNodeCount": null,
"type": "Microsoft.Kubernetes/connectedClusters"
}
Совет
Если параметр расположения не указан в предыдущей команде, ресурс Kubernetes с поддержкой Azure Arc создается в том же расположении, что и группа ресурсов. Чтобы создать ресурс Kubernetes с поддержкой Azure Arc в другом расположении, укажите --location <region> или -l <region> при выполнении команды az connectedk8s connect.
Внимание
Если развертывание завершается сбоем из-за ошибки времени ожидания, ознакомьтесь с руководством по устранению неполадок.
Подключение с использованием исходящего прокси-сервера
Если ваш кластер защищен исходящим прокси-сервером, направляйте запросы через этот прокси-сервер.
На компьютере развертывания задайте переменные среды, необходимые для Azure CLI, чтобы использовать исходящий прокси-сервер:
export HTTP_PROXY=<proxy-server-ip-address>:<port> export HTTPS_PROXY=<proxy-server-ip-address>:<port> export NO_PROXY=<cluster-apiserver-ip-address>:<port>В кластере Kubernetes выполните команду подключения с параметрами
proxy-httpsиproxy-http. Если прокси-сервер настроен как с HTTP, так и с HTTPS, обязательно используйте--proxy-httpдля прокси-сервера HTTP и--proxy-httpsпрокси-сервера HTTPS. Если прокси-сервер использует только HTTP, это значение можно использовать для обоих параметров.az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-https https://<proxy-server-ip-address>:<port> --proxy-http http://<proxy-server-ip-address>:<port> --proxy-skip-range <excludedIP>,<excludedCIDR> --proxy-cert <path-to-cert-file>Примечание.
- Некоторые сетевые запросы, такие как те, которые связаны с обменом данными между службами в кластере, необходимо отделять от трафика, который направляется через прокси-сервер для исходящего взаимодействия.
--proxy-skip-rangeИспользуйте параметр, чтобы указать диапазон и конечные точки CIDR в разделенном запятыми способе, чтобы любые сообщения от агентов к этим конечным точкам не выполнялись через исходящий прокси-сервер. По крайней мере укажите диапазон CIDR служб в кластере в качестве значения этого параметра. Например, предположим, чтоkubectl get svc -Aвозвращает список служб, в котором все службы имеют значения ClusterIP в диапазоне10.0.0.0/16. Затем укажите значение для--proxy-skip-range, равное10.0.0.0/16,kubernetes.default.svc,.svc.cluster.local,.svc. - Большинство исходящих прокси-сред ожидают
--proxy-http,--proxy-httpsи--proxy-skip-range. Параметр--proxy-certтребуется только в том случае, если необходимо внедрить доверенные сертификаты, которые прокси-сервер ожидает в хранилище доверенных сертификатов модулей pod агента. - Для разрешения подключений websocket необходимо настроить исходящий прокси-сервер.
Для исходящих прокси-серверов, если вы предоставляете только доверенный сертификат, запустите
az connectedk8s connectс указанным только--proxy-certпараметром.az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-cert <path-to-cert-file>Если существует несколько доверенных сертификатов, объедините цепочку сертификатов (сертификат конечного уровня, промежуточный сертификат, корневой сертификат) в один файл, который вы указываете в параметре
--proxy-cert.Совет
-
--custom-ca-certявляется псевдонимом для--proxy-cert. Используйте любой параметр взаимозаменяемо. Если вы передаете оба параметра в одной команде, то используется последний.
- Некоторые сетевые запросы, такие как те, которые связаны с обменом данными между службами в кластере, необходимо отделять от трафика, который направляется через прокси-сервер для исходящего взаимодействия.
Проверка подключения к кластеру
Убедитесь, что кластер подключен к Azure, выполнив следующую команду:
az connectedk8s list --resource-group AzureArcTest --output table
Выходные данные:
Name Location ResourceGroup
------------- ---------- ---------------
AzureArcTest1 eastus AzureArcTest
Если подключение не выполнено, см. статью "Диагностика проблем с подключением для кластеров Kubernetes с поддержкой Azure Arc" для устранения неполадок.
Примечание.
После подключения кластера может пройти до десяти минут, прежде чем метаданные кластера (например, версия кластера и количество узлов) отобразятся на странице обзора ресурса Kubernetes с поддержкой Azure Arc на портале Azure.
Просмотр агентов Azure Arc для Kubernetes
Kubernetes с использованием Azure Arc развертывает несколько агентов в пространстве имен azure-arc.
Посмотрите эти деплойменты и поды с помощью следующей команды:
kubectl get deployments,pods -n azure-arcУбедитесь, что все модули pod находятся в состоянии
Running.Выходные данные:
NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/cluster-metadata-operator 1/1 1 1 13d deployment.apps/clusterconnect-agent 1/1 1 1 13d deployment.apps/clusteridentityoperator 1/1 1 1 13d deployment.apps/config-agent 1/1 1 1 13d deployment.apps/controller-manager 1/1 1 1 13d deployment.apps/extension-manager 1/1 1 1 13d deployment.apps/flux-logs-agent 1/1 1 1 13d deployment.apps/kube-aad-proxy 1/1 1 1 13d deployment.apps/metrics-agent 1/1 1 1 13d deployment.apps/resource-sync-agent 1/1 1 1 13d NAME READY STATUS RESTARTS AGE pod/cluster-metadata-operator-9568b899c-2stjn 2/2 Running 0 13d pod/clusterconnect-agent-576758886d-vggmv 3/3 Running 0 13d pod/clusteridentityoperator-6f59466c87-mm96j 2/2 Running 0 13d pod/config-agent-7cbd6cb89f-9fdnt 2/2 Running 0 13d pod/controller-manager-df6d56db5-kxmfj 2/2 Running 0 13d pod/extension-manager-58c94c5b89-c6q72 2/2 Running 0 13d pod/flux-logs-agent-6db9687fcb-rmxww 1/1 Running 0 13d pod/kube-aad-proxy-67b87b9f55-bthqv 2/2 Running 0 13d pod/metrics-agent-575c565fd9-k5j2t 2/2 Running 0 13d pod/resource-sync-agent-6bbd8bcd86-x5bk5 2/2 Running 0 13d
Дополнительные сведения об этих агентах см. в обзоре агента Kubernetes с поддержкой Azure Arc.
Очистка ресурсов
Чтобы удалить ресурс Kubernetes с поддержкой Azure Arc, а также все связанные ресурсы конфигурации и агенты, работающие в кластере, используйте следующую команду:
az connectedk8s delete --name AzureArcTest1 --resource-group AzureArcTest
Если процесс удаления завершается сбоем, используйте следующую команду, чтобы принудительно удалить. Добавьте -y для обхода запроса подтверждения:
az connectedk8s delete -n AzureArcTest1 -g AzureArcTest --force
Используйте эту команду, если при создании развертывания кластера возникают проблемы из-за ранее созданных ресурсов, которые не полностью удалены.
Примечание.
Если удалить ресурс Kubernetes с поддержкой Azure Arc на портале Azure, удалите связанные ресурсы конфигурации, но агенты, работающие в кластере, не удаляются. По этой причине мы рекомендуем использовать az connectedk8s delete для удаления ресурса Kubernetes с поддержкой Azure Arc.
Следующие шаги
- Узнайте, как настроить конфигурации с помощью GitOps и Flux v2.
- Устранение распространенных проблем Kubernetes, подключенных к Azure Arc.
- Использование автоматизированных сценариев Kubernetes с поддержкой Azure Arc с помощью Azure Arc Jumpstart.
- Помогите защитить кластер, следуя инструкциям в книге безопасности для Kubernetes с поддержкой Azure Arc.