Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описана подготовка среды к созданию частных кластеров Azure Red Hat OpenShift под управлением OpenShift 4. Вы узнаете, как:
- настраивать необходимые компоненты и создавать необходимую виртуальную сеть и подсети;
- Развертывание кластера с частной конечной точкой сервера API и закрытым контроллером входящего трафика
Если вы решили установить и использовать интерфейс командной строки локально, в этом руководстве требуется, чтобы вы работали с Azure CLI версии 2.30.0 или более поздней. Чтобы найти версию, выполните команду az --version. Если вам нужно установить или обновить, см. статью "Установка Azure CLI".
Перед тем как начать
Регистрация поставщиков ресурсов
Если у вас несколько подписок Azure, выберите нужный идентификатор подписки:
az account set --subscription <SUBSCRIPTION ID>Зарегистрируйте поставщик ресурсов
Microsoft.RedHatOpenShift.az provider register -n Microsoft.RedHatOpenShift --waitMicrosoft.ComputeЗарегистрируйте поставщика ресурсов (если вы еще этого не сделали):az provider register -n Microsoft.Compute --waitMicrosoft.NetworkЗарегистрируйте поставщика ресурсов (если вы еще этого не сделали):az provider register -n Microsoft.Network --waitMicrosoft.StorageЗарегистрируйте поставщика ресурсов (если вы еще этого не сделали):az provider register -n Microsoft.Storage --wait
Получение секрета для извлечения Red Hat (необязательно)
Секрет для извлечения Red Hat позволяет вашему кластеру получать доступ к реестрам контейнера Red Hat и другому содержимому. Этот шаг необязателен, но рекомендуется.
Перейдите на портал диспетчера кластеров Red Hat OpenShift и войдите в систему.
Войдите в учетную запись Red Hat или создайте новую учетную запись Red Hat с помощью вашей бизнес-электронной почты и примите условия.
Нажмите "Скачать секрет доступа".
Сохраните сохраненный pull-secret.txt файл в безопасном месте. Он используется в каждом создании кластера.
При выполнении команды az aro create вы можете ссылаться на секрет для извлечения, используя параметр --pull-secret @pull-secret.txt. Выполните az aro create из каталога, в котором был сохранен файл pull-secret.txt. В противном случае измените @pull-secret.txt на @<path-to-my-pull-secret-file.
Если вы копируете секрет извлечения или ссылаетесь на него в других сценариях, секрет извлечения должен быть отформатирован как допустимая строка JSON.
Создание виртуальной сети, содержащей две пустые подсети
Затем создайте виртуальную сеть, содержащую две пустые подсети.
Задайте следующие переменные.
LOCATION=eastus # the location of your cluster RESOURCEGROUP="v4-$LOCATION" # the name of the resource group where you want to create your cluster CLUSTER=aro-cluster # the name of your clusterСоздайте группу ресурсов
Группа ресурсов Azure — это логическая группа, в которой развертываются и управляются ресурсы Azure. При создании группы ресурсов укажите расположение. В этом расположении хранятся метаданные группы ресурсов, а также ресурсы выполняются в Azure, если не указать другой регион во время создания ресурса. Создайте группу ресурсов с помощью команды az group create.
az group create --name $RESOURCEGROUP --location $LOCATIONВ следующем примере выходных данных показано, что группа ресурсов успешно создана:
{ "id": "/subscriptions/<guid>/resourceGroups/aro-rg", "location": "eastus", "managedBy": null, "name": "aro-rg", "properties": { "provisioningState": "Succeeded" }, "tags": null }Создайте виртуальную сеть.
Для кластеров Azure Red Hat OpenShift под управлением OpenShift 4 требуется виртуальная сеть с двумя пустыми подсетями для узлов управления и рабочих узлов.
Создайте виртуальную сеть в той же группе ресурсов, которая была создана ранее.
az network vnet create \ --resource-group $RESOURCEGROUP \ --name aro-vnet \ --address-prefixes 10.0.0.0/22В следующем примере выходных данных показано, что виртуальная сеть успешно создана:
{ "newVNet": { "addressSpace": { "addressPrefixes": [ "10.0.0.0/22" ] }, "id": "/subscriptions/<guid>/resourceGroups/aro-rg/providers/Microsoft.Network/virtualNetworks/aro-vnet", "location": "eastus", "name": "aro-vnet", "provisioningState": "Succeeded", "resourceGroup": "aro-rg", "type": "Microsoft.Network/virtualNetworks" } }Добавьте пустую подсеть для главных узлов.
az network vnet subnet create \ --resource-group $RESOURCEGROUP \ --vnet-name aro-vnet \ --name master-subnet \ --address-prefixes 10.0.0.0/23 \ --service-endpoints Microsoft.ContainerRegistryДобавьте пустую подсеть для рабочих узлов.
az network vnet subnet create \ --resource-group $RESOURCEGROUP \ --vnet-name aro-vnet \ --name worker-subnet \ --address-prefixes 10.0.2.0/23 \ --service-endpoints Microsoft.ContainerRegistryОтключите политики частных конечных точек подсети в главной подсети. Это необходимо для подключения к кластеру и управления им.
az network vnet subnet update \ --name master-subnet \ --resource-group $RESOURCEGROUP \ --vnet-name aro-vnet \ --private-link-service-network-policies Disabled
Создайте кластер.
Чтобы создать кластер, выполните команду ниже. При необходимости можно передать секрет извлечения Red Hat, который позволяет кластеру получать доступ к реестрам контейнеров Red Hat вместе с другим содержимым.
Замечание
Если вы копируете и вставляете команды и используете один из необязательных параметров, удалите начальные хэштеги и текст комментария. Кроме того, добавьте к аргументу в предыдущей строке команды обратную косую черту в конце.
az aro create \
--resource-group $RESOURCEGROUP \
--name $CLUSTER \
--vnet aro-vnet \
--master-subnet master-subnet \
--worker-subnet worker-subnet \
--apiserver-visibility Private \
--ingress-visibility Private
# --domain foo.example.com # [OPTIONAL] custom domain
# --pull-secret @pull-secret.txt # [OPTIONAL]
Команда az aro create обычно занимает около 35 минут для создания кластера.
Замечание
При попытке создать кластер, если вы получаете сообщение об ошибке о превышении квоты ресурса, см. статью "Добавление квоты в учетную запись ", чтобы узнать, как продолжить работу.
Это важно
Если вы решили указать личный домен, например foo.example.com, консоль OpenShift доступна по URL-адресу, например https://console-openshift-console.apps.foo.example.com, вместо встроенного домена https://console-openshift-console.apps.<random>.<location>.aroapp.io.
По умолчанию OpenShift использует самозаверяющие сертификаты для всех маршрутов, созданных в *.apps.<random>.<location>.aroapp.io. При выборе настраиваемого DNS после подключения к кластеру необходимо следовать документации OpenShift, чтобы настроить настраиваемый сертификат для контроллера входящего трафика и пользовательского сертификата для сервера API.
Создание частного кластера без общедоступного IP-адреса
Как правило, частные кластеры создаются с общедоступным IP-адресом и подсистемой балансировки нагрузки, предоставляя средства для исходящего подключения к другим службам. Однако вы можете создать частный кластер без общедоступного IP-адреса. Это может потребоваться в ситуациях, когда требования к безопасности или политике запрещают использование общедоступных IP-адресов.
Чтобы создать частный кластер без общедоступного IP-адреса, выполните приведенную выше процедуру, добавив параметр --outbound-type UserDefinedRouting в aro create команду, как показано в следующем примере:
az aro create \
--resource-group $RESOURCEGROUP \
--name $CLUSTER \
--vnet aro-vnet \
--master-subnet master-subnet \
--worker-subnet worker-subnet \
--apiserver-visibility Private \
--ingress-visibility Private \
--outbound-type UserDefinedRouting
Замечание
Флаг UserDefinedRouting можно использовать только при создании кластеров с --apiserver-visibility Private параметрами и --ingress-visibility Private параметрами. Убедитесь, что вы используете последнюю версию Azure CLI. Кластеры, развернутые с помощью Azure CLI 2.52.0 и более ранних версий, будут развернуты с общедоступными IP-адресами.
Этот параметр определяемой пользователем маршрутизации запрещает подготовку общедоступного IP-адреса. Определяемая пользователем маршрутизация (UDR) позволяет создавать настраиваемые маршруты в Azure для переопределения системных маршрутов по умолчанию или добавлять дополнительные маршруты в таблицу маршрутов подсети. Дополнительные сведения см. в статье "Маршрутизация трафика виртуальной сети".
Это важно
При создании частного кластера обязательно укажите правильную подсеть с правильно настроенной таблицей маршрутизации.
Для исходящего трафика параметр "Определяемая пользователем маршрутизация" гарантирует, что созданный кластер имеет функцию блокировки исходящего трафика, которая позволяет защитить исходящий трафик из нового частного кластера. Дополнительные сведения см. в статье "Управление исходящим трафиком" для кластера Azure Red Hat OpenShift .
Замечание
Если выбрать тип сети определяемой пользователем маршрутизации, вы полностью отвечаете за управление исходящего трафика маршрутизации кластера за пределами виртуальной сети (например, получение доступа к общедоступному Интернету). Azure Red Hat OpenShift не может управлять этим.
Вы можете настроить один или несколько ip-адресов исходящего трафика в пространство имен или для определенных модулей pod в пространстве имен частного кластера без общедоступного IP-адреса. Для этого выполните описанные выше действия, чтобы создать частный кластер без общедоступного IP-адреса, а затем настроить IP-адрес исходящего трафика в этом документе Red Hat OpenShift. Эти IP-адреса исходящего трафика должны быть из подсетей, связанных с кластером.
Настройка IP-адреса исходящего трафика для частного кластера поддерживается только для кластеров с параметром --outbound-type UserDefinedRouting . Он не поддерживается для общедоступных кластеров, имеющих --outbound-type LoadBalancer параметр.
Подключение к частному кластеру
Вы можете войти в кластер как пользователь kubeadmin. Выполните следующую команду, чтобы найти пароль для пользователя kubeadmin.
az aro list-credentials \
--name $CLUSTER \
--resource-group $RESOURCEGROUP
В следующем примере выходных данных показан пароль kubeadminPasswordв .
{
"kubeadminPassword": "<generated password>",
"kubeadminUsername": "kubeadmin"
}
URL-адрес консоли кластера можно найти, выполнив следующую команду, которая выглядит следующим образом. https://console-openshift-console.apps.<random>.<region>.aroapp.io/
az aro show \
--name $CLUSTER \
--resource-group $RESOURCEGROUP \
--query "consoleProfile.url" -o tsv
Это важно
Чтобы подключиться к частному кластеру Azure Red Hat OpenShift, необходимо выполнить следующий шаг из узла, который находится в созданной виртуальной сети или в виртуальной сети, в которую подключена виртуальная сеть, в которую был развернут кластер.
Запустите URL-адрес консоли в браузере и войдите с помощью kubeadmin учетных данных.
Установка интерфейса командной строки OpenShift
После входа в веб-консоль OpenShift выберите ? в правом верхнем углу, а затем Инструменты командной строки. Скачайте выпуск, подходящий вашему компьютеру.
Снимок экрана, выделяющий параметр "Инструменты командной строки" в списке при нажатии значка вопросительного знака.
Вы также можете скачать последнюю версию интерфейса командной строки , соответствующую вашему компьютеру.
Подключение с помощью интерфейса командной строки OpenShift
Получите адрес сервера API.
apiServer=$(az aro show --resource-group $RESOURCEGROUP --name $CLUSTER --query apiserverProfile.url --output tsv)
Это важно
Чтобы подключиться к частному кластеру Azure Red Hat OpenShift, вам потребуется выполнить следующий шаг из узла, который находится в созданном виртуальная сеть или в виртуальная сеть, в котором выполняется пиринг с виртуальная сеть развернут кластер.
Войдите на сервер API кластера OpenShift с помощью следующей команды. Замените <kubeadmin password> на полученный пароль.
oc login $apiServer --username kubeadmin --password <kubeadmin password>
Дальнейшие шаги
Из этой статьи вы узнали, как развернуть кластер Azure Red Hat OpenShift с OpenShift 4. Вы узнали, как:
- настраивать необходимые компоненты и создавать необходимую виртуальную сеть и подсети;
- Развертывание кластера
- Подключение к кластеру от имени пользователя
kubeadmin
Перейдите к следующей статье, чтобы узнать, как настроить кластер для проверки подлинности с помощью идентификатора Microsoft Entra.