Verbinden mit einem Azure Red Hat OpenShift-Cluster mit gehosteten Steuerungsebenen (Vorschau)

In dieser Schnellstartanleitung stellen Sie eine Verbindung mit einem Azure Red Hat OpenShift mit gehosteten Steuerelementebenen (HCP)-Cluster her, indem Sie temporäre Administratoranmeldeinformationen anfordern. Die Anmeldeinformationen generieren eine kubeconfig Datei, die Sie mit der OpenShift CLI (oc) für den Zugriff auf den Cluster verwenden.

Voraussetzungen

Von Bedeutung

Wenn Ihr Cluster über einen privaten API-Server verfügt, müssen Sie alle Befehle in diesem Artikel von einem Host ausführen, der über eine private Netzwerkkonnektivität mit dem virtuellen Netzwerk des Clusters verfügt. Sie können verbindungen über Azure VNet-Peering, Azure VPN Gateway oder Azure ExpressRoute einrichten. Zum schnellen Testen der Konnektivität siehe Herstellen einer Verbindung über eine Jumpbox-VM.

Jumpbox-VM erstellen (nur für private Cluster)

Wenn Ihr Cluster über einen privaten API-Server verfügt und Sie nicht über eine vorhandene private Netzwerkverbindung verfügen, können Sie einen virtuellen Sprungkastencomputer in einem dedizierten Subnetz mit eigenem NSG erstellen. Verwenden Sie eine Sprungbox-VM für die anfängliche Clustereinrichtung, Tests oder einmalige Verwaltungsaufgaben. Verwenden Sie für den laufenden Produktionszugriff von lokalen Netzwerken oder CI/CD-Pipelines stattdessen Azure VPN Gateway oder Azure ExpressRoute.

Vorbereiten der Umgebung

  1. Festlegen der Umgebungsvariablen. Ersetzen Sie die Platzhalterwerte durch Ihre eigenen Werte.

    LOCATION="<location>"
    CUSTOMER_RG_NAME="<resource-group-name>"
    JUMPBOX_SUBNET_NAME="<subnet-name>"
    JUMPBOX_NSG_NAME="<nsg-name>"
    JUMPBOX_NAME="<jumpbox-vm-name>"
    
  2. Erstellen Sie eine dedizierte NSG für die Jumpbox-VM.

    az network nsg create \
     --name "${JUMPBOX_NSG_NAME}" \
     --resource-group "${CUSTOMER_RG_NAME}" \
     --location "${LOCATION}"
    
  3. Fügen Sie eine eingehende SSH-Regel hinzu, die auf Ihren gewünschten IP- oder CIDR-Bereich beschränkt ist.

    az network nsg rule create \
     --resource-group "${CUSTOMER_RG_NAME}" \
     --nsg-name "${JUMPBOX_NSG_NAME}" \
     --name "AllowSSH" \
     --priority 1000 \
     --protocol Tcp \
     --destination-port-ranges 22 \
     --source-address-prefixes "<source-ip-address>" \
     --access Allow \
     --direction Inbound
    

    Ersetzen Sie <source-ip-address> mit der gewünschten Quelle.

  4. Erstellen Sie ein dediziertes Subnetz für die Jumpbox-VM.

    az network vnet subnet create \
     --name "${JUMPBOX_SUBNET_NAME}" \
     --vnet-name "${CUSTOMER_VNET_NAME}" \
     --resource-group "${CUSTOMER_RG_NAME}" \
     --address-prefixes 10.0.2.0/28 \
     --network-security-group "${JUMPBOX_NSG_NAME}"
    

Jumpbox-VM erstellen

  1. Erstellen Sie die Jump-Box-VM.

    az vm create \
     --resource-group "${CUSTOMER_RG_NAME}" \
     --name "${JUMPBOX_NAME}" \
     --image Ubuntu2204 \
     --admin-username azureuser \
     --vnet-name "${CUSTOMER_VNET_NAME}" \
     --subnet "${JUMPBOX_SUBNET_NAME}" \
     --size Standard_B2s \
     --generate-ssh-keys
    
  2. Rufen Sie die öffentliche IP-Adresse der Jumpbox-VM ab.

    JUMPBOX_IP=$(az vm show \
     --resource-group "${CUSTOMER_RG_NAME}" \
     --name "${JUMPBOX_NAME}" \
     --show-details \
     --query publicIps \
     --output tsv)
    
    echo "Jump box VM IP: ${JUMPBOX_IP}"
    
  3. Stellen Sie über SSH eine Verbindung mit der Jump-Box-VM her.

    ssh azureuser@"${JUMPBOX_IP}"
    

Richten Sie die VM-Umgebung der Jumpbox ein

Da der API-Server des privaten Clusters keinen öffentlichen Endpunkt aufweist, müssen Sie Befehle aus dem virtuellen Netzwerk ausführen oc .

  1. Laden Sie die Azure CLI auf der Jumpbox-VM herunter, und installieren Sie sie.

    In diesem Beispiel wird die Azure CLI für Ubuntu heruntergeladen und installiert. Wenn Sie das Sprungfeld mit einem anderen Betriebssystem erstellt haben, befolgen Sie die Azure CLI Azure CLI Installationsanweisungen für Ihr Betriebssystem.

    curl -fsSL 'https://azurecliprod.blob.core.windows.net/$root/deb_install.sh' | sudo bash
    
  2. Stellen Sie sicher, dass die Azure CLI installiert ist.

    az version
    
  3. Melden Sie sich bei Azure an.

    az login
    

    Dieser Befehl gibt einen Gerätecode und eine URL zurück.

  4. Öffnen Sie die URL in einem Browser auf Ihrem lokalen Computer, geben Sie den Code ein, und authentifizieren Sie sich.

  5. Fügen Sie die ARO HCP CLI-Erweiterung hinzu.

    az extension add --name aro
    
  6. Überprüfen Sie, ob die ARO HCP CLI-Erweiterung installiert ist.

    az aro hcp -h
    
  7. Installieren Sie die OpenShift CLI.

    curl -sL https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable/openshift-client-linux.tar.gz \
      | sudo tar -C /usr/local/bin -xz oc kubectl
    
  8. Stellen Sie sicher, dass die OpenShift CLI installiert ist.

    oc version --client
    

Herstellen einer Verbindung mit dem Cluster

Administratoranmeldeinformationen laufen nach 24 Stunden ab.

  1. Legen Sie die folgenden Umgebungsvariablen fest, wenn Sie sie noch nicht festgelegt haben. Ersetzen Sie die Platzhalterwerte durch die Werte für Ihren Cluster.

    CUSTOMER_RG_NAME="<resource-group-name>"
    CLUSTER_NAME="<cluster-name>"
    
  2. Fordern Sie temporäre administrative Anmeldeinformationen für den Cluster an und speichern Sie die kubeconfig in einer Datei.

    az aro hcp cluster request-credential --admin \
     --name "${CLUSTER_NAME}" \
     --resource-group "${CUSTOMER_RG_NAME}" \
     --file kubeconfig
    
  3. Legen Sie die KUBECONFIG Umgebungsvariable auf den Pfad der kubeconfig gespeicherten Datei fest.

    export KUBECONFIG=kubeconfig
    
  4. Stellen Sie sicher, dass Sie eine Verbindung mit dem Cluster herstellen können.

    oc auth whoami
    

    Die folgende Beispielausgabe zeigt eine erfolgreiche Verbindung.

    ATTRIBUTE    VALUE
    Username     system:customer-break-glass:<user-id>
    Groups       [system:masters system:authenticated]
    Extra: authentication.kubernetes.io/credential-id   <credential-id>
    

Aufräumen

Administratoranmeldeinformationen widerrufen

Wenn Sie alle Administratoranmeldeinformationen für den Cluster widerrufen möchten, führen Sie den folgenden Befehl aus.

az aro hcp cluster revoke-credential \
  --name "${CLUSTER_NAME}" \
  --resource-group "${CUSTOMER_RG_NAME}"

Jumpbox-VM löschen

Wenn Sie eine Jumpbox-VM für die Verbindung mit einem privaten Cluster erstellt haben, löschen Sie die VM, um laufende Gebühren zu vermeiden.

az vm delete \
  --resource-group "${CUSTOMER_RG_NAME}" \
  --name "${JUMPBOX_NAME}" \
  --yes

Nächste Schritte