Condividi tramite


Creare un cluster di Azure Red Hat OpenShift 4

Azure Red Hat OpenShift è un servizio OpenShift gestito che consente di distribuire e gestire rapidamente i cluster. Questo articolo illustra come distribuire un cluster di Azure Red Hat OpenShift usando l'interfaccia della riga di comando di Azure o il portale di Azure.

Operazioni preliminari

Se si sceglie di installare e usare l'interfaccia della riga di comando di Azure in locale, sarà necessario eseguire la versione 2.30.0 o successiva. Eseguire az --version per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.

Azure Red Hat OpenShift richiede almeno 40 core per creare ed eseguire un cluster OpenShift. La quota di risorse di Azure predefinita per una nuova sottoscrizione di Azure non soddisfa questo requisito. Per richiedere un aumento del limite di risorse, vedere Quota standard: aumentare i limiti per serie di macchine virtuali.

  • Ad esempio, per verificare la quota di sottoscrizione corrente della famiglia di macchine virtuali più piccola supportata SKU "DSv3 standard":

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

Verificare le autorizzazioni

In questo articolo verrà creato un gruppo di risorse che contiene la rete virtuale per il cluster. A tale scopo, è necessario disporre delle autorizzazioni di Collaboratore e Amministratore Accesso utenti oppure le autorizzazioni di Proprietario, direttamente sulla rete virtuale oppure sul gruppo di risorse o sulla sottoscrizione che lo contiene.

È inoltre necessario disporre di autorizzazioni sufficienti per Microsoft Entra, un utente membro del tenant o un guest assegnato con il ruolo di amministratore applicazione, affinché gli strumenti creino un'applicazione e un'entità servizio per conto del cluster. Per altri dettagli, vedere Membri e guest e Assegnare ruoli di amministratore e senza privilegi di amministratore agli utenti con Microsoft Entra ID.

Registrare i provider di risorse

  1. Se sono presenti più sottoscrizioni di Azure, specificare l'ID sottoscrizione pertinente:

    az account set --subscription <SUBSCRIPTION ID>
    
  2. Registrare il provider di risorse Microsoft.RedHatOpenShift:

    az provider register -n Microsoft.RedHatOpenShift --wait
    
  3. Registrare il provider di risorse Microsoft.Compute:

    az provider register -n Microsoft.Compute --wait
    
  4. Registrare il provider di risorse Microsoft.Storage:

    az provider register -n Microsoft.Storage --wait
    
  5. Registrare il provider di risorse Microsoft.Authorization:

    az provider register -n Microsoft.Authorization --wait
    

Ottenere un segreto pull di Red Hat (facoltativo)

Nota

Il segreto pull ARO non modifica il costo della licenza RH OpenShift per ARO.

Un segreto pull di Red Hat consente al cluster di accedere ai registri contenitori Red Hat, insieme ad altri contenuti, ad esempio gli operatori di OperatorHub. Questo passaggio è facoltativo ma consigliato. Se si decide di aggiungere il segreto pull in un secondo momento, seguire questa guida. Il campo cloud.openshift.com viene rimosso dal segreto anche se il segreto pull contiene tale campo. Questo campo abilita una funzionalità di monitoraggio aggiuntiva, che invia i dati a RedHat ed è quindi disabilitata per impostazione predefinita. Per abilitare questa funzionalità, vedere https://docs.openshift.com/container-platform/4.11/support/remote_health_monitoring/enabling-remote-health-reporting.html.

  1. Passare al portale di gestione cluster di Red Hat OpenShift ed effettuare l’accesso.

    È necessario accedere all'account Red Hat o creare un nuovo account Red Hat con l'indirizzo di posta elettronica aziendale e accettare i termini e le condizioni.

  2. Selezionare Scarica segreto pull e scaricare un segreto pull da usare con il cluster Azure Red Hat OpenShift (ARO).

    Conservare il file pull-secret.txt salvato in una posizione sicura. Il file verrà usato per ogni creazione di cluster se è necessario creare un cluster che includa gli esempi o gli operatori per Red Hat o i partner certificati.

    Quando si esegue il comando az aro create, è possibile fare riferimento al segreto di pull usando il parametro --pull-secret @pull-secret.txt. Eseguire az aro create dalla directory in cui è stato archiviato il file pull-secret.txt. In caso contrario, sostituire @pull-secret.txt con @/path/to/my/pull-secret.txt.

    Se si copia il segreto pull o vi si fa riferimento in altri script, il segreto pull deve essere formattato come stringa JSON valida.

Preparare un dominio personalizzato per il cluster (facoltativo)

Quando si esegue il comando az aro create, è possibile specificare un dominio personalizzato per il cluster con il parametro --domain foo.example.com.

Nota

Sebbene l'aggiunta di un nome di dominio sia facoltativa quando si crea un cluster tramite l'interfaccia della riga di comando di Azure, è necessario un nome di dominio (o un prefisso usato come parte del nome DNS generato automaticamente per la console OpenShift e i server API) quando si aggiunge un cluster tramite il portale. Per altre informazioni, vedere Avvio rapido: Distribuire un cluster di Azure Red Hat OpenShift usando il portale di Azure.

Se si specifica un dominio personalizzato per il cluster, tenere presente quanto segue:

  • Dopo aver creato il cluster, è necessario creare due record A DNS nel server DNS per il parametro --domain specificato:

    • api, che punta all'indirizzo IP del server API
    • *.app, che punta all'indirizzo IP del traffico in ingresso
    • Recuperare questi valori eseguendo il comando seguente dopo la creazione del cluster: az aro show -n -g --query '{api:apiserverProfile.ip, ingress:ingressProfiles[0].ip}'.
  • La console OpenShift sarà disponibile a un indirizzo URL come https://console-openshift-console.apps.example.com, invece di quello del dominio predefinito https://console-openshift-console.apps.<random>.<location>.aroapp.io.

  • Per impostazione predefinita, OpenShift usa certificati autofirmati per tutte le route create in domini personalizzati *.apps.example.com. Se si sceglie di usare un DNS personalizzato dopo la connessione al cluster, è necessario attenersi alla documentazione di OpenShift per configurare un'autorità di certificazione personalizzata per il controller del traffico in ingresso e un'autorità di certificazione personalizzata per il server API.

Creare una rete virtuale contenente due subnet vuote

Successivamente, verrà creata una rete virtuale contenente due subnet vuote. Se si dispone di una rete virtuale esistente che soddisfa le proprie esigenze, è possibile ignorare questo passaggio.

  1. Impostare le variabili seguenti nell'ambiente della shell in cui si eseguiranno i comandi 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. Creare un gruppo di risorse.

    Un gruppo di risorse di Azure è un gruppo logico in cui le risorse di Azure vengono distribuite e gestite. Quando si crea un gruppo di risorse, viene chiesto di specificare una posizione. È la località in cui vengono archiviati i metadati del gruppo di risorse e anche quella in cui vengono eseguite le risorse in Azure se non si specifica un'altra area durante la creazione della risorsa. Creare un gruppo di risorse con il comando az group create.

    Nota

    Azure Red Hat OpenShift non è disponibile in tutte le aree in cui è possibile creare un gruppo di risorse di Azure. Per informazioni su dove è supportato Azure Red Hat OpenShift, vedere Available regions (Aree disponibili).

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

    L'output di esempio seguente mostra il gruppo di risorse creato correttamente:

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

    I cluster di Azure Red Hat OpenShift che eseguono OpenShift 4 richiedono una rete virtuale con due subnet vuote, per i nodi master e di lavoro. È possibile creare una nuova rete virtuale oppure usare una rete virtuale esistente.

    Creare una nuova rete virtuale nello stesso gruppo di risorse creato in precedenza:

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

    L'output di esempio seguente mostra la rete virtuale creata correttamente:

    {
      "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. Aggiungere una subnet vuota per i nodi master.

    az network vnet subnet create \
      --resource-group $RESOURCEGROUP \
      --vnet-name aro-vnet \
      --name master-subnet \
      --address-prefixes 10.0.0.0/23
    
  5. Aggiungere una subnet vuota per i nodi di lavoro.

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

Creare il cluster

Eseguire il comando seguente per creare un cluster. Se si sceglie di usare una delle opzioni seguenti, modificare il comando di conseguenza:

  • Facoltativamente, è possibile passare il segreto pull di Red Hat che consente al cluster di accedere ai registri contenitori di Red Hat unitamente ad altri contenuti. Aggiungere l'argomento --pull-secret @pull-secret.txt al comando.
  • Se si vuole, è possibile usare un dominio personalizzato. Aggiungere l'argomento --domain foo.example.com al comando, sostituendo foo.example.com con il dominio personalizzato.

Nota

Il numero massimo di nodi di lavoro definibili al momento della creazione è 50. È possibile aumentare fino a 250 nodi dopo la creazione del cluster.

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

Dopo l'esecuzione del comando az aro create, la creazione di un cluster richiede in genere circa 45 minuti.

Cluster ARO su larga scalabilità

Se si desidera distribuire un cluster Azure Red Hat OpenShift con più di 100 nodi di lavoro, vedere Distribuire un cluster Azure Red Hat OpenShift di grandi dimensioni

Selezione di una versione ARO diversa

È possibile scegliere di usare una versione specifica di ARO durante la creazione del cluster. Per prima cosa, usare l'interfaccia della riga di comando per eseguire una query per le versioni ARO disponibili:

az aro get-versions --location <region>

Dopo aver scelto la versione, specificarla usando il parametro --version nel 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>