Freigeben über


Vorbereiten Ihres Azure Arc-aktivierten Kubernetes-Clusters

Wichtig

Die von Azure Arc unterstützte Vorschauversion von „Azure IoT Einsatz“ befindet sich derzeit in der Vorschauphase. Sie sollten diese Vorschausoftware nicht in Produktionsumgebungen verwenden.

Sie müssen eine neue Installation von „Azure IoT Einsatz“ bereitstellen, wenn ein allgemein verfügbares Release verfügbar wird. Sie werden kein Upgrade für eine Preview-Installation durchführen können.

Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.

Ein Azure Arc-fähiger Kubernetes-Cluster ist eine Voraussetzung für die Bereitstellung von Azure IoT Einsatz Preview. In diesem Artikel wird beschrieben, wie Sie einen Cluster vorbereiten, bevor Sie „Azure IoT Einsatz“ bereitstellen. Dieser Artikel enthält Anleitungen für Ubuntu und Windows.

Die Schritte in diesem Artikel bereiten Ihren Cluster auf eine Bereitstellung sicherer Einstellungen vor, was ein längerer, aber produktionsbereiter Prozess ist. Wenn Sie Azure IoT Einsatz schnell bereitstellen und eine Beispielworkload nur mit Testeinstellungen ausführen möchten, informieren Sie sich stattdessen im Schnellstart: Ausführen von Azure IoT Einsatz (Vorschau) in GitHub Codespaces mit K3s. Weitere Informationen zu Testeinstellungen und sicheren Einstellungen finden Sie unter Bereitstellungsdetails > Auswählen Ihrer Features.

Voraussetzungen

Microsoft unterstützt Azure Kubernetes Service (AKS) Edge Essentials für Bereitstellungen unter Windows und K3s für Bereitstellungen auf Ubuntu. Eine Liste mit bestimmten Hardware- und Softwarekombinationen, die getestet und überprüft werden, finden Sie unter Überprüften Umgebungen.

Wenn Sie Azure IoT Operations in einer Multiknotenlösung bereitstellen möchten, verwenden Sie K3s auf Ubuntu.

Zum Vorbereiten eines Azure Arc-fähigen Kubernetes-Clusters benötigen Sie:

  • Ein Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

  • Azure CLI, Version 2.64.0 oder höher, installiert auf Ihrem Entwicklungscomputer. Verwenden Sie az --version, um Ihre Version zu überprüfen. Bei Bedarf können Sie sie mithilfe von az upgrade aktualisieren. Weitere Informationen finden Sie unter Installieren der Azure CLI.

  • Die aktuelle Version der folgenden Erweiterungen für die Azure-Befehlszeilenschnittstelle:

    az extension add --upgrade --name azure-iot-ops
    az extension add --upgrade --name connectedk8s
    
  • Hardware, die die Systemanforderungen erfüllt:

  • Wenn Sie Azure IoT Operations in einem Multiknotencluster mit aktivierter Fehlertoleranz bereitstellen möchten, überprüfen Sie die Hardware- und Speicheranforderungen in Vorbereiten von Linux für Edgevolumes.

Erstellen eines Clusters und Konfigurieren dieses Clusters als Arc-fähig

Dieser Abschnitt enthält Schritte zum Erstellen von Clustern in validierten Umgebungen unter Linux und Windows.

So Bereiten Sie einen K3s-Kubernetes-Cluster in Ubuntu vor:

  1. Installieren Sie K3s nach den Anweisungen in der K3s Schnellstartanleitung.

  2. Überprüfen Sie, ob kubectl als Teil von K3s installiert wurde. Wenn nicht, folgen Sie den Anweisungen, um kubectl unter Linux zu installieren.

    kubectl version --client
    
  3. Folgen Sie den Anweisungen, um Helm zu installieren.

  4. Erstellen Sie eine YAML-Datei für die K3s-Konfiguration in .kube/config:

    mkdir ~/.kube
    sudo KUBECONFIG=~/.kube/config:/etc/rancher/k3s/k3s.yaml kubectl config view --flatten > ~/.kube/merged
    mv ~/.kube/merged ~/.kube/config
    chmod  0600 ~/.kube/config
    export KUBECONFIG=~/.kube/config
    #switch to k3s context
    kubectl config use-context default
    sudo chmod 644 /etc/rancher/k3s/k3s.yaml
    
  5. Führen Sie den folgenden Befehl aus, um die Benutzerüberwachungs-/Instanzbeschränkungen zu erhöhen.

    echo fs.inotify.max_user_instances=8192 | sudo tee -a /etc/sysctl.conf
    echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
    
    sudo sysctl -p
    
  6. Um eine bessere Leistung zu erzielen, erhöhen Sie den Grenzwert für Dateideskriptor:

    echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf
    
    sudo sysctl -p
    

Konfigurieren Sie Cluster mit mehreren Knoten für Azure Container Storage

Bei Clustern mit mehreren Knoten mit mindestens drei Knoten haben Sie die Möglichkeit, die Fehlertoleranz für den Speicher mit Azure Container Storage zu aktivieren, der von Azure Arc aktiviert ist, wenn Sie Azure IoT Operations bereitstellen.

Wenn Sie die Fehlertoleranz während der Bereitstellung aktivieren möchten, konfigurieren Sie Ihre Cluster, indem Sie die Schritte in Vorbereiten von Linux für Edgevolumes mithilfe eines Ubuntu-Clusters mit mehreren Knoten ausführen.

Machen Sie Ihr Cluster Arc-fähig

Verbinden Sie Ihren Cluster mit Azure Arc, damit er remote verwaltet werden kann.

  1. Melden Sie sich auf dem Computer, auf dem Sie das Kubernetes-Cluster bereitgestellt haben, mit Azure CLI an:

    az login
    

    Wenn an irgendeinem Punkt ein Fehler angezeigt wird, der besagt, dass Ihr Gerät für den Zugriff auf Ihre Ressource verwaltet werden muss, führen Sie az login erneut aus, und stellen Sie sicher, dass Sie sich interaktiv mit einem Browser anmelden.

  2. Nachdem Sie sich angemeldet haben, zeigt die Azure CLI alle Ihre Abonnements an und kennzeichnet Ihr Standardabonnement mit einem Sternchen *. Um mit Ihrem Standardabonnement fortzufahren, wählen Sie Enter aus. Geben Sie andernfalls die Nummer des Azure-Abonnements ein, das Sie verwenden möchten.

  3. Registrieren Sie die erforderlichen Ressourcenanbieter in Ihrem Abonnement.

    Hinweis

    Dieser Schritt muss nur einmal pro Abonnement durchgeführt werden. Zum Registrieren von Ressourcenanbietern benötigen Sie die Berechtigung zum Ausführen des /register/action-Vorgangs, welche in den Rollen „Mitwirkender“ und „Besitzer“ des Abonnements enthalten ist. Weitere Informationen finden Sie unter Azure-Ressourcenanbieter und -typen.

    az provider register -n "Microsoft.ExtendedLocation"
    az provider register -n "Microsoft.Kubernetes"
    az provider register -n "Microsoft.KubernetesConfiguration"
    az provider register -n "Microsoft.IoTOperations"
    az provider register -n "Microsoft.DeviceRegistry"
    az provider register -n "Microsoft.SecretSyncController"
    
  4. Verwenden Sie den Befehl az group create, um in Ihrem Azure-Abonnement eine Ressourcengruppe zum Speichern aller Ressourcen zu erstellen:

    Die Liste aller aktuell unterstützten Azure-Regionen finden Sie unter Unterstützte Regionen.

    az group create --location <REGION> --resource-group <RESOURCE_GROUP> --subscription <SUBSCRIPTION_ID>
    
  5. Verwenden Sie den Befehl az connectedk8s connect, um Ihren Kubernetes-Cluster als Arc-fähig zu konfigurieren und ihn als Teil Ihrer Azure-Ressourcengruppe zu verwalten.

    az connectedk8s connect --name <CLUSTER_NAME> -l <REGION> --resource-group <RESOURCE_GROUP> --subscription <SUBSCRIPTION_ID> --enable-oidc-issuer --enable-workload-identity
    
  6. Rufen Sie die Aussteller-URL des Clusters ab.

    az connectedk8s show --resource-group <RESOURCE_GROUP> --name <CLUSTER_NAME> --query oidcIssuerProfile.issuerUrl --output tsv
    

    Speichern Sie die Ausgabe dieses Befehls, die sie in den nächsten Schritten verwenden soll.

  7. Erstellen Sie eine K3s-Konfigurationsdatei.

    sudo nano /etc/rancher/k3s/config.yaml
    
  8. Fügen Sie der Datei config.yaml den folgenden Inhalt hinzu, und ersetzen Sie den <SERVICE_ACCOUNT_ISSUER> Platzhalter durch die Aussteller-URL Ihres Clusters.

    kube-apiserver-arg:
     - service-account-issuer=<SERVICE_ACCOUNT_ISSUER>
     - service-account-max-token-expiration=24h
    
  9. Speichern Sie die Datei, und beenden Sie den Nano-Editor.

  10. Rufen Sie die objectId der Microsoft Entra-ID-Anwendung ab, die der Azure Arc-Dienst in Ihrem Mandanten verwendet, und speichern Sie sie als Umgebungsvariable. Führen Sie den folgenden Befehl genau wie angegeben aus, ohne den GUID-Wert zu ändern.

    export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)
    
  11. Verwenden Sie den Befehl az connectedk8s enable-features, um für Ihren Cluster die Unterstützung benutzerdefinierter Speicherorte zu aktivieren. Dieser Befehl verwendet die objectId der Microsoft Entra ID-Anwendung, die der Azure Arc-Dienst verwendet. Führen Sie diesen Befehl auf dem Computer aus, auf dem Sie das Kubernetes-Cluster bereitgestellt haben:

    az connectedk8s enable-features -n <CLUSTER_NAME> -g <RESOURCE_GROUP> --custom-locations-oid $OBJECT_ID --features cluster-connect custom-locations
    
  12. Starten Sie K3s neu.

    systemctl restart k3s
    

Überprüfen Ihres Clusters

Um zu überprüfen, ob Ihr Cluster für die Bereitstellung von Azure IoT Einsatz bereit ist, können Sie den Hilfsbefehl verify-host in der Azure IoT Einsatz-Erweiterung für Azure CLI verwenden. Wenn Sie den Clusterhost ausführen, überprüft dieser Hilfsbefehl die Konnektivität mit Azure Resource Manager- und Microsoft Container-Registrierungsendpunkten.

az iot ops verify-host

Erweiterte Konfiguration

Sie verfügen jetzt über einen Azure Arc-fähigen Kubernetes-Cluster. Bevor Sie „Azure IoT Einsatz“ dafür bereitstellen, sollten Sie Ihren Cluster für erweiterte Szenarien konfigurieren.

Wenn Sie Einblickfunktionen für den Cluster aktivieren möchten, führen Sie die Schritte in Bereitstellen von Einblickressourcen und Einrichten von Protokollen aus, bevor Sie die Bereitstellung fortsetzen.

Nächste Schritte

Sie haben nun einen Azure Arc-fähigen Kubernetes-Cluster, den Sie für Azure IoT Einsatz bereitstellen können.