Руководство. Создание кластера Azure Red Hat OpenShift 4

В этом руководстве мы подготовим среду к созданию кластера Azure Red Hat OpenShift под управлением OpenShift 4 и созданию кластера. Узнайте следующие темы:

  • настроить необходимые компоненты;
  • создать необходимые виртуальную сеть и подсеть;
  • Развертывание кластера

Подготовка к работе

Если вы решили установить и использовать интерфейс командной строки локально, в этом руководстве требуется, чтобы вы работали с Azure CLI версии 2.30.0 или более поздней. Чтобы узнать версию, выполните команду az --version. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.

Для создания и запуска кластера OpenShift в Azure Red Hat OpenShift требуется не менее 40 ядер. Стандартная квота ресурсов Azure для новой подписки Azure не соответствует этому требованию. Чтобы запросить увеличение лимита ресурсов, см . раздел "Стандартная квота: увеличение ограничений по рядам виртуальных машин".

  • Например, чтобы проверка текущую квоту подписки для наименьшего поддерживаемого номера SKU семейства виртуальных машин "Standard DSv3":

    LOCATION=eastus
    az vm list-usage -l $LOCATION \
    --query "[?contains(name.value, 'standardDSv3Family')]" \
    -o table
    

Проверка разрешений

В этом руководстве вы создадите группу ресурсов, содержащую виртуальную сеть для кластера. Для этого вам потребуются разрешения участника и доступа пользователей Администратор istrator или разрешения владельца либо непосредственно в виртуальной сети, либо в группе ресурсов или подписке, содержащей ее.

Вам также потребуется достаточно разрешений Microsoft Entra (пользователя-члена клиента или гостя, назначенного администратором приложения роли) для создания приложения и субъекта-службы от вашего имени для кластера. Дополнительные сведения см. в статье "Члены и гости", а также назначение ролей администратора и неадминистратора пользователям с идентификатором Microsoft Entra.

Регистрация поставщиков ресурсов

  1. Если у вас несколько подписок Azure, выберите нужный идентификатор подписки:

    az account set --subscription <SUBSCRIPTION ID>
    
  2. Зарегистрируйте поставщик ресурсов Microsoft.RedHatOpenShift.

    az provider register -n Microsoft.RedHatOpenShift --wait
    
  3. Зарегистрируйте поставщик ресурсов Microsoft.Compute.

    az provider register -n Microsoft.Compute --wait
    
  4. Зарегистрируйте поставщик ресурсов Microsoft.Storage.

    az provider register -n Microsoft.Storage --wait
    
  5. Зарегистрируйте поставщик ресурсов Microsoft.Authorization.

    az provider register -n Microsoft.Authorization --wait
    

Получение секрета для извлечения Red Hat (необязательно)

Примечание.

Секрет извлечения ARO не изменяет стоимость лицензии RH OpenShift для ARO.

Секрет извлечения Red Hat позволяет кластеру получать доступ к реестрам контейнеров Red Hat, а также к другому содержимому, например операторам из OperatorHub. Этот шаг необязателен, но мы рекомендуем его выполнить. Если вы решите добавить секрет извлечения позже, следуйте этим инструкциям. Поле cloud.openshift.com удаляется из секрета, даже если секрет по запросу содержит это поле. Это поле включает дополнительную функцию мониторинга, которая отправляет данные в RedHat и поэтому отключается по умолчанию. Чтобы включить эту функцию, см. раздел https://docs.openshift.com/container-platform/4.11/support/remote_health_monitoring/enabling-remote-health-reporting.html .

  1. Перейдите на портал диспетчера кластеров Red Hat OpenShift и войдите в систему.

    Вам потребуется войти в учетную запись Red Hat или создать новую учетную запись Red Hat с вашей бизнес-электронной почтой и принять условия.

  2. Выберите "Скачать секрет извлечения" и скачайте секрет извлечения, который будет использоваться с кластером ARO.

    Сохраните файл pull-secret.txt в безопасном месте. Этот файл будет использоваться при каждом создании кластера, если вам потребуется создать кластер, включающий примеры или операторы для партнеров Red Hat или сертифицированных партнеров.

    При выполнении команды az aro create вы можете ссылаться на секрет для извлечения, используя параметр --pull-secret @pull-secret.txt. Выполните az aro create из каталога, в котором был сохранен файл pull-secret.txt. В противном случае измените @pull-secret.txt на @/path/to/my/pull-secret.txt.

    Если вы копируете секрет извлечения или ссылаетесь на него в других сценариях, секрет извлечения должен быть отформатирован как допустимая строка JSON.

Подготовка личного домена для кластера (дополнительно)

При выполнении команды az aro create можно указать личный домен для кластера с использованием параметра --domain foo.example.com.

Примечание.

Несмотря на то, что при создании кластера с помощью Azure CLI необходимо добавить доменное имя (или префикс, используемый в составе автоматически созданного DNS-имени для консоли OpenShift и серверов API) при добавлении кластера через портал. См. краткое руководство. Развертывание кластера Azure Red Hat OpenShift с помощью портал Azure для получения дополнительных сведений.

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

  • После создания кластера необходимо создать две записи DNS A на DNS-сервере для указанного --domain :

    • запись api, указывающую на IP-адрес сервера;
    • *.apps — указатель на IP-адрес входящего трафика
    • Извлеките эти значения, выполнив следующую команду после создания кластера: az aro show -n -g --query '{api:apiserverProfile.ip, ingress:ingressProfiles[0].ip}'.
  • Консоль OpenShift будет доступна по URL-адресу, такому как https://console-openshift-console.apps.example.com, вместо встроенного домена https://console-openshift-console.apps.<random>.<location>.aroapp.io.

  • По умолчанию OpenShift использует самозаверяющие сертификаты для всех маршрутов, созданных в личных доменах *.apps.example.com. Если вы решили использовать пользовательскую службу DNS после подключения к кластеру, необходимо выполнить действия, описанные в документации по OpenShift, чтобы настроить пользовательский ЦС для контроллера входящего трафика и пользовательский ЦС для сервера API.

Создание виртуальной сети, содержащей две пустые подсети

Затем вы создадите виртуальную сеть, содержащую две пустые подсети. Если вы хотите использовать существующую виртуальную сеть, которая соответствует вашим требованиям, этот шаг можно пропустить.

  1. Задайте указанные ниже переменные в среде оболочки, где будут выполняться команды az.

    LOCATION=eastus                 # the location of your cluster
    RESOURCEGROUP=aro-rg            # the name of the resource group where you want to create your cluster
    CLUSTER=cluster                 # the name of your cluster
    
  2. Создайте группу ресурсов.

    Группа ресурсов Azure — это логическая группа, в которой развертываются и управляются ресурсы Azure. Во время создания группы ресурсов вам будет предложено указать расположение. В этом расположении сохраняются метаданные группы ресурсов, а также выполняется их работа в Azure, если во время создания ресурса не указан другой регион. Создайте группу ресурсов с помощью команды az group create.

    Примечание.

    Платформа Azure Red Hat OpenShift доступна не во всех регионах, где поддерживается создание группы ресурсов Azure. Список регионов, где поддерживается Azure Red Hat OpenShift, см. в разделе Available regions (Доступные регионы).

    az group create \
      --name $RESOURCEGROUP \
      --location $LOCATION
    

    В следующем примере выходных данных показано, что группа ресурсов успешно создана:

    {
      "id": "/subscriptions/<guid>/resourceGroups/aro-rg",
      "location": "eastus",
      "name": "aro-rg",
      "properties": {
        "provisioningState": "Succeeded"
      },
      "type": "Microsoft.Resources/resourceGroups"
    }
    
  3. Создайте виртуальную сеть.

    Для кластеров 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"
          ]
        },
        "dhcpOptions": {
          "dnsServers": []
        },
        "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"
      }
    }
    
  4. Добавьте пустую подсеть для главных узлов.

    az network vnet subnet create \
      --resource-group $RESOURCEGROUP \
      --vnet-name aro-vnet \
      --name master-subnet \
      --address-prefixes 10.0.0.0/23
    
  5. Добавьте пустую подсеть для рабочих узлов.

    az network vnet subnet create \
      --resource-group $RESOURCEGROUP \
      --vnet-name aro-vnet \
      --name worker-subnet \
      --address-prefixes 10.0.2.0/23
    

Создайте кластер.

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

  • При необходимости можно передать секрет извлечения Red Hat, который позволяет кластеру получать доступ к реестрам контейнеров Red Hat вместе с другим содержимым. Добавьте в команду аргумент --pull-secret @pull-secret.txt.
  • При необходимости можно использовать личный домен. Добавьте в команду аргумент --domain foo.example.com, заменив foo.example.com собственным личным доменом.

Примечание.

Если вы добавляете в команду необязательные аргументы, обязательно закройте аргумент в предыдущей строке команды конечной обратной косой чертой.

az aro create \
  --resource-group $RESOURCEGROUP \
  --name $CLUSTER \
  --vnet aro-vnet \
  --master-subnet master-subnet \
  --worker-subnet worker-subnet

После выполнения команды az aro create создание кластера обычно занимает около 35 минут.

Выбор другой версии ARO

При создании кластера можно выбрать определенную версию ARO. Во-первых, используйте CLI для запроса доступных версий ARO:

az aro get-versions --location <region>

Выбрав версию, укажите ее с помощью --version параметра в команде az aro create :

az aro create \
  --resource-group $RESOURCEGROUP \
  --name $CLUSTER \
  --vnet aro-vnet \
  --master-subnet master-subnet \
  --worker-subnet worker-subnet \
  --version <x.y.z>

Следующие шаги

В этой части руководства вы узнали, как выполнить следующие действия:

  • настраивать необходимые компоненты, а также создавать требуемую виртуальную сеть и подсети;
  • Развертывание кластера

Перейдите к следующему руководству: