Erstellen eines privaten Azure Red Hat OpenShift 4-Clusters

In diesem Artikel erfahren Sie, wie Sie Ihre Umgebung für das Erstellen von privaten Azure Red Hat OpenShift-Clustern mit OpenShift 4 vorbereiten. Sie lernen Folgendes:

  • Richten Sie die erforderlichen Komponenten ein, und erstellen Sie das erforderliche virtuelle Netzwerk und die Subnetze.
  • Bereitstellen eines Clusters mit einem privaten Endpunkt für den API-Server und einem privaten Eingangscontroller

Wenn Sie die CLI lokal installieren und verwenden möchten, müssen Sie für dieses Tutorial mindestens die Azure CLI-Version 2.30.0 ausführen. Führen Sie az --version aus, um die Version zu ermitteln. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI.

Voraussetzungen

Registrieren der Ressourcenanbieter

  1. Wenn Sie über mehrere Azure-Abonnements verfügen, geben Sie die gewünschte Abonnement-ID an:

    az account set --subscription <SUBSCRIPTION ID>
    
  2. Registrieren des Microsoft.RedHatOpenShift-Ressourcenanbieters

    az provider register -n Microsoft.RedHatOpenShift --wait
    
  3. Registrieren Sie den Ressourcenanbieter Microsoft.Compute (falls noch nicht geschehen):

    az provider register -n Microsoft.Compute --wait
    
  4. Registrieren Sie den Ressourcenanbieter Microsoft.Network (falls noch nicht geschehen):

    az provider register -n Microsoft.Network --wait
    
  5. Registrieren Sie den Ressourcenanbieter Microsoft.Storage (falls noch nicht geschehen):

    az provider register -n Microsoft.Storage --wait
    

Abrufen eines Red Hat-Pullgeheimnisses (optional)

Das Red Hat-Pullgeheimnis ermöglicht dem Cluster den Zugriff auf Red Hat-Containerregistrierungen zusammen mit zusätzlichem Inhalt. Dieser Schritt ist optional, wird aber empfohlen.

  1. Navigieren Sie zum Manager-Portal für Ihren Red Hat OpenShift-Cluster, und melden Sie sich an.

    Sie müssen sich bei Ihrem Red Hat-Konto anmelden oder ein neues Red Hat-Konto mit Ihrer Geschäfts-E-Mail-Adresse erstellen und den Geschäftsbedingungen zustimmen.

  2. Klicken Sie auf „Download pull secret“ (Pullgeheimnis herunterladen).

Speichern Sie die Datei pull-secret.txt an einem sicheren Ort. Sie wird bei jeder Clustererstellung verwendet.

Wenn Sie den Befehl az aro create ausführen, können Sie mit dem Parameter --pull-secret @pull-secret.txt auf Ihr Pullgeheimnis verweisen. Führen Sie az aro create von dem Verzeichnis aus, in dem Sie Ihre pull-secret.txt-Datei gespeichert haben. Ersetzen Sie andernfalls @pull-secret.txt durch @<path-to-my-pull-secret-file.

Wenn Sie Ihr Pullgeheimnis kopieren oder es in anderen Skripts referenzieren, sollte Ihr Pullgeheimnis als gültige JSON-Zeichenfolge formatiert werden.

Erstellen eines virtuellen Netzwerks mit zwei leeren Subnetzen

Als Nächstes erfahren Sie, wie Sie ein virtuelles Netzwerk mit zwei leeren Subnetzen erstellen.

  1. Legen Sie die folgenden Variablen fest:

    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
    
  2. Erstellen einer Ressourcengruppe

    Eine Azure-Ressourcengruppe ist eine logische Gruppe, in der Azure-Ressourcen bereitgestellt und verwaltet werden. Wenn Sie eine Ressourcengruppe erstellen, müssen Sie einen Speicherort angeben. An diesem Speicherort werden Ressourcengruppenmetadaten gespeichert. Außerdem werden Ihre Ressourcen in Azure ausgeführt, wenn Sie während der Ressourcenerstellung keine andere Region angeben. Erstellen Sie mit dem Befehl [az group create][az-group-create] eine Ressourcengruppe.

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

    Die folgende Beispielausgabe zeigt, dass die Ressourcengruppe erfolgreich erstellt wurde:

    {
    "id": "/subscriptions/<guid>/resourceGroups/aro-rg",
    "location": "eastus",
    "managedBy": null,
    "name": "aro-rg",
    "properties": {
        "provisioningState": "Succeeded"
    },
    "tags": null
    }
    
  3. Erstellen Sie ein virtuelles Netzwerk.

    Für Azure Red Hat OpenShift-Cluster mit OpenShift 4 ist ein virtuelles Netzwerk mit zwei leeren Subnetzen für die Master- und Workerknoten erforderlich.

    Erstellen Sie ein neues virtuelles Netzwerk in derselben Ressourcengruppe, die Sie zuvor erstellt haben.

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

    Die folgende Beispielausgabe zeigt, dass das virtuelle Netzwerk erfolgreich erstellt wurde:

    {
    "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"
    }
    }
    
  4. Fügen Sie ein leeres Subnetz für die Masterknoten hinzu.

    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
    
  5. Fügen Sie ein leeres Subnetz für die Workerknoten hinzu.

    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
    
  6. Deaktivieren Sie subnetz-private Endpunktrichtlinien im Hauptsubnetz. Dies ist erforderlich, um eine Verbindung mit dem Cluster herzustellen und um diesen zu verwalten.

    az network vnet subnet update \
    --name master-subnet \
    --resource-group $RESOURCEGROUP \
    --vnet-name aro-vnet \
    --disable-private-link-service-network-policies true
    

Erstellen Sie den Cluster.

Führen Sie den folgenden Befehl aus, um einen Cluster zu erstellen. Optional können Sie Ihr Red Hat-Pullgeheimnis übergeben, das dem Cluster den Zugriff auf Red Hat-Containerregistrierungen und zusätzliche Inhalte ermöglicht.

Hinweis

Wenn Sie Befehle zum Kopieren/Einfügen verwenden und einen der optionalen Parameter verwenden, löschen Sie unbedingt die anfänglichen Hashtags und den nachfolgenden Kommentartext. Schließen Sie auch das Argument auf der vorhergehenden Zeile des Befehls mit einem abschließenden umgekehrten Schrägstrich ab.

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]

Nach der Ausführung des Befehls az aro create dauert es normalerweise etwa 35 Minuten, um einen Cluster zu erstellen.

Hinweis

Wenn Sie versuchen, einen Cluster zu erstellen, wenn Sie eine Fehlermeldung erhalten, die besagt, dass Ihr Ressourcenkontingent überschritten wurde, lesen Sie das Hinzufügen von Kontingent zu ARO-Konto , um zu erfahren, wie Sie fortfahren können.

Wichtig

Wenn Sie eine benutzerdefinierte Domäne angeben möchten (etwa foo.example.com), steht die OpenShift-Konsole unter einer URL wie https://console-openshift-console.apps.foo.example.com anstelle über die integrierte Domäne https://console-openshift-console.apps.<random>.<location>.aroapp.io zur Verfügung.

OpenShift verwendet standardmäßig selbstsignierte Zertifikate für alle für *.apps.<random>.<location>.aroapp.io erstellten Routen. Wenn Sie benutzerdefiniertes DNS auswählen, müssen Sie nach dem Herstellen einer Verbindung mit dem Cluster die OpenShift-Dokumentation befolgen, um ein benutzerdefiniertes Zertifikat für Ihren Eingangscontroller und benutzerdefiniertes Zertifikat für Ihren API-Server zu konfigurieren.

Erstellen eines privaten Clusters ohne öffentliche IP-Adresse

In der Regel werden private Cluster mit einer öffentlichen IP-Adresse und einem Lastenausgleich erstellt, wodurch eine Möglichkeit für ausgehende Verbindungen mit anderen Diensten bereitgestellt wird. Sie können jedoch einen privaten Cluster ohne öffentliche IP-Adresse erstellen. Dies kann in Situationen erforderlich sein, in denen Sicherheits- oder Richtlinienanforderungen die Verwendung öffentlicher IP-Adressen verbieten.

Um einen privaten Cluster ohne öffentliche IP-Adresse zu erstellen, führen Sie die oben beschriebene Vorgehensweise aus, und fügen Sie den aro create Parameter --outbound-type UserDefinedRouting zum Befehl hinzu, wie im folgenden Beispiel gezeigt:

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

Hinweis

Das UserDefinedRouting-Flag kann nur beim Erstellen von Clustern mit --apiserver-visibility Private und --ingress-visibility Private Parametern verwendet werden. Stellen Sie sicher, dass Sie die neueste Azure CLI verwenden. Cluster, die mit Azure CLI 2.52.0 und älter bereitgestellt werden, werden mit öffentlichen IPs bereitgestellt.

Diese Option für benutzerdefiniertes Routing verhindert, dass eine öffentliche IP-Adresse bereitgestellt wird. Benutzerdefiniertes Routing (USER Defined Routing, UDR) ermöglicht es Ihnen, benutzerdefinierte Routen in Azure zu erstellen, um die Standardsystemrouten außer Kraft zu setzen oder weitere Routen zur Routentabelle eines Subnetzs hinzuzufügen. Weitere Informationen finden Sie unter Virtual Network Traffic Routing .

Wichtig

Achten Sie darauf, das richtige Subnetz mit der ordnungsgemäß konfigurierten Routingtabelle beim Erstellen Ihres privaten Clusters anzugeben.

Für den Ausgang stellt die Option "Benutzerdefiniertes Routing" sicher, dass der neu erstellte Cluster die Sperrmodusfunktion aktiviert hat, damit Sie ausgehenden Datenverkehr aus Ihrem neuen privaten Cluster sichern können. Weitere Informationen finden Sie unter Steuern des Ausgehenden Datenverkehrs für Ihren Azure Red Hat OpenShift (ARO)-Cluster .

Hinweis

Wenn Sie den Netzwerktyp "Benutzerdefiniertes Routing" auswählen, sind Sie vollständig dafür verantwortlich, den Ausgang des Routings Ihres Clusters außerhalb Ihres virtuellen Netzwerks zu verwalten (z. B. Zugriff auf öffentliches Internet). Azure Red Hat OpenShift kann dies nicht für Sie verwalten.

Sie können eine oder mehrere E-Gress-IP-Adressen an einen Namespace oder bestimmte Pods in einem Namespace eines privaten Clusters ohne öffentliche IP-Adresse konfigurieren. Führen Sie dazu das oben beschriebene Verfahren aus, um einen privaten Cluster ohne öffentliche IP-Adresse zu erstellen und dann die Ausgangs-IP gemäß diesem Red Hat OpenShift-Dokument zu konfigurieren. Diese Egress-IP-Adressen müssen aus den Subnetzen stammen, die dem ARO-Cluster zugeordnet sind.

Das Konfigurieren einer Ausgangs-IP für einen privaten ARO-Cluster wird nur für Cluster mit dem --outbound-type UserDefinedRouting Parameter unterstützt. Sie wird für öffentliche ARO-Cluster mit dem --outbound-type LoadBalancer Parameter nicht unterstützt.

Herstellen einer Verbindung mit dem privaten Cluster

Sie können sich mit dem Benutzer kubeadmin beim Cluster anmelden. Führen Sie den folgenden Befehl aus, um das Kennwort für den Benutzer kubeadmin zu suchen:

az aro list-credentials \
  --name $CLUSTER \
  --resource-group $RESOURCEGROUP

Die folgende Beispielausgabe zeigt, dass sich das Kennwort in kubeadminPassword befindet.

{
  "kubeadminPassword": "<generated password>",
  "kubeadminUsername": "kubeadmin"
}

Sie können die URL der Clusterkonsole über den folgenden Befehl abrufen. Diese sieht in etwa wie folgt aus: https://console-openshift-console.apps.<random>.<region>.aroapp.io/.

 az aro show \
    --name $CLUSTER \
    --resource-group $RESOURCEGROUP \
    --query "consoleProfile.url" -o tsv

Wichtig

Um eine Verbindung mit einem privaten Azure Red Hat OpenShift-Cluster herzustellen, müssen Sie den folgenden Schritt von einem Host aus ausführen, der entweder im virtuellen Netzwerk, das Sie erstellt haben, oder in einem virtuellen Netzwerk, das mit dem virtuellen Netzwerk peered wird, für das der Cluster bereitgestellt wurde.

Starten Sie die Konsolen-URL in einem Browser, und melden Sie sich mit den kubeadmin-Anmeldeinformationen an.

Screenshot that shows the Azure Red Hat OpenShift login screen.

Installieren der OpenShift-CLI

Nachdem Sie sich bei der OpenShift-Webkonsole angemeldet haben, klicken Sie oben rechts auf das Fragezeichen (?) und dann auf Befehlszeilentools. Laden Sie die für Ihren Computer geeignete Version herunter.

Image shows Azure Red Hat OpenShift login screen

Sie können auch das neueste Release der CLI herunterladen, das für Ihren Computer geeignet ist.

Herstellen einer Verbindung mithilfe der OpenShift-Befehlszeilenschnittstelle

Rufen Sie die Adresse des API-Servers ab:

apiServer=$(az aro show -g $RESOURCEGROUP -n $CLUSTER --query apiserverProfile.url -o tsv)

Wichtig

Um eine Verbindung mit einem privaten Azure Red Hat OpenShift-Cluster herzustellen, müssen Sie den folgenden Schritt von einem Host aus ausführen, der entweder im virtuellen Netzwerk, das Sie erstellt haben, oder in einem virtuellen Netzwerk, das mit dem virtuellen Netzwerk peered wird, für das der Cluster bereitgestellt wurde.

Melden Sie sich mit dem folgenden Befehl beim API-Server des OpenShift-Clusters an. Ersetzen Sie <kubeadmin password> durch das Kennwort, das Sie gerade abgerufen haben.

oc login $apiServer -u kubeadmin -p <kubeadmin password>

Nächste Schritte

In diesem Artikel wurde erläutert, wie Sie ein Azure Red Hat OpenShift-Cluster mit OpenShift 4 bereitstellen können. Sie haben Folgendes gelernt:

  • Richten Sie die erforderlichen Komponenten ein, und erstellen Sie das erforderliche virtuelle Netzwerk und die Subnetze.
  • Bereitstellen eines Clusters
  • Herstellen einer Verbindung mit dem Cluster mithilfe des kubeadmin-Benutzers

Im nächsten Artikel erfahren Sie, wie Sie den Cluster für die Authentifizierung mithilfe von Microsoft Entra ID konfigurieren können.