Freigeben über


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)

Ein Red Hat-Pullgeheimnis ermöglicht Ihrem Cluster den Zugriff auf Red Hat-Containerregistrierungen und andere Inhalte. 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.

    Melden Sie sich bei Ihrem Red Hat-Konto an, oder erstellen Sie ein neues Red Hat-Konto mit Ihrer Geschäfts-E-Mail-Adresse, und stimmen Sie den Geschäftsbedingungen zu.

  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

Erstellen Sie als Nächstes ein virtuelles Netzwerk mit zwei leeren Subnetzen.

  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, geben Sie einen Standort an. An diesem Speicherort werden die Metadaten der Ressourcengruppe gespeichert. Darüber hinaus werden dort die 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 Steuer- 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 Richtlinien für private Endpunkte im Mastersubnetz. 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 andere Inhalte ermöglicht.

Hinweis

Wenn Sie Befehle kopieren/einfügen und einen der optionalen Parameter verwenden, stellen Sie sicher, dass Sie die Anfangshashtags und den nachstehenden Kommentartext löschen. 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]

Mit dem Befehl az aro create dauert das Erstellen eines Clusters in der Regel ca. 35 Minuten.

Hinweis

Wenn Sie beim Versuch, einen Cluster zu erstellen, eine Fehlermeldung erhalten, dass Ihr Ressourcenkontingent überschritten wurde, lesen Sie Hinzufügen von Kontingenten zu einem 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 nach dem Herstellen einer Verbindung mit dem Cluster ein benutzerdefiniertes DNS verwenden möchten, müssen Sie anhand der OpenShift-Dokumentation ein benutzerdefiniertes Zertifikat für Ihren Eingangscontroller und ein benutzerdefiniertes Zertifikat für Ihren API-Server 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 auch einen privaten Cluster ohne öffentliche IP-Adresse erstellen. Dies kann in Situationen erforderlich sein, in denen Sicherheits- oder Richtlinienanforderungen das Verwenden öffentlicher IP-Adressen verbieten.

Um einen privaten Cluster ohne öffentliche IP-Adresse zu erstellen, befolgen Sie die oben beschriebene Prozedur, und fügen Sie den Parameter --outbound-type UserDefinedRouting dem Befehl aro create 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 verwendet werden, wenn Cluster mit den Parametern --apiserver-visibility Private und --ingress-visibility Private erstellt werden. Stellen Sie sicher, dass Sie die aktuelle Azure CLI verwenden. Cluster, die mit Azure CLI 2.52.0 und älter bereitgestellt wurden, 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 Subnetzes hinzuzufügen. Weitere Informationen finden Sie unter Routing von virtuellem Netzwerkdatenverkehr.

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 beim neu erstellten Cluster das ausgehende Sperrmodusfeature aktiviert ist, 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-Cluster (ARO).

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 Ausgangs-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 konfigurieren Sie dann die Ausgangs-IP wie in diesem Red Hat OpenShift-Dokument. Diese Ausgangs-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 Parameter --outbound-type UserDefinedRouting unterstützt. Es wird nicht für öffentliche ARO-Cluster mit dem Parameter --outbound-type LoadBalancer 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 das Kennwort in kubeadminPassword.

{
  "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

Zum Herstellen einer Verbindung mit einem Azure Red Hat OpenShift-Cluster müssen Sie den folgenden Schritt über einen Host ausführen, der sich entweder in dem von Ihnen erstellten oder in einem virtuellen Netzwerk befindet, das mit dem virtuellen Netzwerk, in dem der Cluster bereitgestellt wurde, per Peering verknüpft ist.

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

Installieren der OpenShift-CLI

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

Die Abbildung zeigt den Azure Red Hat OpenShift-Anmeldebildschirm.

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

Zum Herstellen einer Verbindung mit einem Azure Red Hat OpenShift-Cluster müssen Sie den folgenden Schritt über einen Host ausführen, der sich entweder in dem von Ihnen erstellten oder in einem virtuellen Netzwerk befindet, das mit dem virtuellen Netzwerk, in dem der Cluster bereitgestellt wurde, per Peering verknüpft ist.

Melden Sie sich mit dem folgenden Befehl beim API-Server des OpenShift-Clusters an. Ersetzen Sie <kubeadmin password> durch das Kennwort, das Sie 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.