Tutorial: Creación de un clúster de la versión 4 de Red Hat OpenShift en Azure

En este tutorial, el primero de un conjunto de tres, preparará el entorno para crear un clúster de Red Hat OpenShift en Azure que ejecute OpenShift 4 y, además, creará un clúster. Aprenderá a:

  • Configurar los requisitos previos.
  • Crear la red virtual y las subredes necesarias.
  • Implementación de un clúster

Antes de empezar

Si decide instalar y usar la CLI localmente, en este tutorial es preciso que ejecute la versión 2.30.0 u otra posterior. Ejecute az --version para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.

Red Hat OpenShift en Azure requiere 40 núcleos como mínimo para crear y ejecutar un clúster de OpenShift. La cuota predeterminada de recursos de Azure de una suscripción nueva de Azure no cumple este requisito. Para solicitar un aumento del límite de recursos, consulte Cuota estándar: Aumento de los límites por serie de máquinas virtuales.

  • Por ejemplo, para comprobar la cuota de suscripción actual de la SKU "Standard DSv3" de la máquina virtual más pequeña admitida:

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

Comprobación de los permisos

Durante este tutorial, creará un grupo de recursos que contendrá la red virtual del clúster. Para ello, será necesario que tenga permisos de administrador de acceso de usuario y de colaborador, o permisos de propietario, ya sea directamente en la red virtual o en el grupo de recursos, o bien en la suscripción que lo contenga.

También necesitará suficientes permisos de Microsoft Entra (un usuario miembro del inquilino o un invitado asignado con el rol de Administrador de aplicaciones) para que las herramientas creen una aplicación y una entidad de servicio en su nombre para el clúster. Consulte Miembros e invitados y Asignación de roles de administrador y no administrador a usuarios con Microsoft Entra ID para obtener más información.

Registro de los proveedores de recursos

  1. Si tiene varias suscripciones de Azure, especifique el identificador de la relevante:

    az account set --subscription <SUBSCRIPTION ID>
    
  2. Registre el proveedor de recursos Microsoft.RedHatOpenShift:

    az provider register -n Microsoft.RedHatOpenShift --wait
    
  3. Registre el proveedor de recursos Microsoft.Compute:

    az provider register -n Microsoft.Compute --wait
    
  4. Registre el proveedor de recursos Microsoft.Storage:

    az provider register -n Microsoft.Storage --wait
    
  5. Registre el proveedor de recursos Microsoft.Authorization:

    az provider register -n Microsoft.Authorization --wait
    

Obtención de un secreto de extracción de Red Hat (opcional)

Nota:

El secreto de extracción de ARO no cambia el costo de la licencia de RH OpenShift para ARO.

Los secretos de extracción de Red Hat permiten al clúster acceder a los registros de contenedor de Red Hat, junto con otro contenido, como operadores de OperatorHub. Este paso es opcional pero recomendable. Si decidiera agregar el secreto de extracción más adelante, siga estas instrucciones. El campo cloud.openshift.com se quitará del secreto incluso aunque el secreto de extracción contenga ese campo. Este campo habilita una característica de supervisión adicional que envía datos a RedHat y, por tanto, está deshabilitada de manera predeterminada. Para habilitar esta característica, consulte https://docs.openshift.com/container-platform/4.11/support/remote_health_monitoring/enabling-remote-health-reporting.html.

  1. Vaya al portal del administrador de clústeres de Red Hat OpenShift e inicie sesión.

    Tendrá que iniciar sesión en su cuenta de Red Hat, o bien crear una cuenta de Red Hat con su correo electrónico empresarial y aceptar los términos y condiciones.

  2. Seleccione Descargar secreto de extracción y descargue el secreto de extracción que se usará con el clúster de ARO.

    Mantenga el archivo de pull-secret.txt guardado en algún lugar seguro. El archivo se usará en cada creación de un clúster si necesita crear un clúster que incluya ejemplos u operadores para Red Hat o asociados certificados.

    Al ejecutar el comando az aro create, puede hacer referencia al secreto de incorporación de cambios mediante el parámetro --pull-secret @pull-secret.txt. Ejecute az aro create desde el directorio donde haya almacenado el archivo pull-secret.txt. De lo contrario, reemplace @pull-secret.txt por @/path/to/my/pull-secret.txt.

    Si va a copiar el secreto de incorporación de cambios o hacer referencia a él en otros scripts, debe tener el formato de una cadena JSON válida.

Preparación de un dominio personalizado para el clúster (opcional)

Al ejecutar el comando az aro create, puede especificar un dominio personalizado para el clúster mediante el parámetro --domain foo.example.com.

Nota:

Aunque agregar un nombre de dominio es opcional al crear un clúster a través de la CLI de Azure, se necesita un nombre de dominio (o un prefijo que se use como parte del nombre DNS generado automáticamente para la consola de OpenShift y los servidores de API) al agregar un clúster a través del portal. Consulte Inicio rápido: Implementación de un clúster de Red Hat OpenShift en Azure mediante Azure Portal para obtener más información.

Si proporciona un dominio personalizado para el clúster, tenga en cuenta los siguientes puntos:

  • Después de crear el clúster, deberá crear dos registros de DNS A en el servidor DNS para el --domain especificado:

    • API: apunta a la dirección IP del servidor de API.
    • *.apps: apunta a la dirección IP de entrada.
    • Para recuperar estos valores, ejecute el comando siguiente después de la creación del clúster: az aro show -n -g --query '{api:apiserverProfile.ip, ingress:ingressProfiles[0].ip}'.
  • La consola de OpenShift estará disponible en una dirección URL como https://console-openshift-console.apps.example.com, en lugar del dominio integrado https://console-openshift-console.apps.<random>.<location>.aroapp.io.

  • De forma predeterminada, OpenShift usa certificados autofirmados para todas las rutas creadas en los dominios personalizados *.apps.example.com. Si decide usar DNS personalizado después de conectarse al clúster, tendrá que seguir la documentación de OpenShift para configurar una entidad de certificación personalizada para el controlador de entrada y una entidad de certificación personalizada para el servidor de API.

Creación de una red virtual que contenga dos subredes vacías

A continuación, creará una red virtual que contenga dos subredes vacías. Si ya tiene una red virtual adaptada a sus necesidades, puede omitir este paso.

  1. Establezca las siguientes variables en el entorno de shell en el que se ejecutarán los comandos 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. Cree un grupo de recursos. .

    Un grupo de recursos de Azure es un grupo lógico en el que se implementan y administran recursos de Azure. Cuando se crea un grupo de recursos, se le pide que especifique una ubicación. Esta ubicación es donde se almacenan los metadatos del grupo de recursos, y es también el lugar en el que los recursos se ejecutan en Azure si no se especifica otra región al crearlos. Cree un grupo de recursos con el comando az group create.

    Nota

    Red Hat OpenShift en Azure no está disponible en todas las regiones en las que se puede crear un grupo de recursos de Azure. Consulte Regiones disponibles para obtener información sobre dónde se admite Red Hat OpenShift en Azure.

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

    En la siguiente salida de ejemplo se muestra que los recursos se crearon correctamente:

    {
      "id": "/subscriptions/<guid>/resourceGroups/aro-rg",
      "location": "eastus",
      "name": "aro-rg",
      "properties": {
        "provisioningState": "Succeeded"
      },
      "type": "Microsoft.Resources/resourceGroups"
    }
    
  3. Cree una red virtual.

    Los clústeres de Red Hat OpenShift en Azure que ejecutan OpenShift 4 requieren una red virtual con dos subredes vacías, una para los nodos maestros y otra para los nodos de trabajo. Puede crear una red virtual para ello o usar una ya existente.

    Cree una red virtual en el mismo grupo de recursos que creó anteriormente:

    az network vnet create \
       --resource-group $RESOURCEGROUP \
       --name aro-vnet \
       --address-prefixes 10.0.0.0/22
    

    En la siguiente salida de ejemplo se muestra la red virtual creada correctamente:

    {
      "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. Agregue una subred vacía para los nodos maestros.

    az network vnet subnet create \
      --resource-group $RESOURCEGROUP \
      --vnet-name aro-vnet \
      --name master-subnet \
      --address-prefixes 10.0.0.0/23
    
  5. Agregue una subred vacía para los nodos de trabajo.

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

Creación del clúster

Ejecute el siguiente comando para crear un clúster. Si decide usar cualquiera de las siguientes opciones, modifique el comando según corresponda:

  • Opcionalmente, también puede pasar el secreto de incorporación de cambios de Red Hat, que permite al clúster acceder a los registros de contenedor de Red Hat junto con otro contenido. Agregue el argumento --pull-secret @pull-secret.txt al comando.
  • Si lo desea, puede usar un dominio personalizado. Agregue el argumento --domain foo.example.com al comando, reemplazando foo.example.com por su propio dominio personalizado.

Nota

Si va a agregar argumentos opcionales al comando, asegúrese de cerrar el argumento de la línea anterior del comando con una barra diagonal inversa al final.

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

Después de ejecutar el comando az aro create, se tarda aproximadamente 35 minutos en crear un clúster.

Selección de una versión de ARO diferente

Puede seleccionar usar una versión específica de ARO al crear el clúster. En primer lugar, use la CLI para consultar las versiones de ARO disponibles:

az aro get-versions --location <region>

Una vez que haya elegido la versión, especifíquela con el parámetro --version en el comando 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>

Pasos siguientes

En esta parte del tutorial, ha aprendido a:

  • Configurar los requisitos previos y crear la red virtual y las subredes necesarias
  • Implementación de un clúster

Avance hasta el siguiente tutorial: