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
Wenn Sie über mehrere Azure-Abonnements verfügen, geben Sie die gewünschte Abonnement-ID an:
az account set --subscription <SUBSCRIPTION ID>
Registrieren des
Microsoft.RedHatOpenShift
-Ressourcenanbietersaz provider register -n Microsoft.RedHatOpenShift --wait
Registrieren Sie den Ressourcenanbieter
Microsoft.Compute
(falls noch nicht geschehen):az provider register -n Microsoft.Compute --wait
Registrieren Sie den Ressourcenanbieter
Microsoft.Network
(falls noch nicht geschehen):az provider register -n Microsoft.Network --wait
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.
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.
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.
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
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 }
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" } }
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
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
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.
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.