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 vonaz 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:
- Stellen Sie sicher, dass Ihr Computer mindestens 16 GB RAM und 8 verfügbare vCPUs für Azure IoT Operations reserviert ist.
- Systemanforderungen für Azure Arc-fähige Kubernetes.
- K3s Anforderungen.
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:
Installieren Sie K3s nach den Anweisungen in der K3s Schnellstartanleitung.
Ü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
Folgen Sie den Anweisungen, um Helm zu installieren.
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
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
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.
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.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 SieEnter
aus. Geben Sie andernfalls die Nummer des Azure-Abonnements ein, das Sie verwenden möchten.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"
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>
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
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.
Erstellen Sie eine K3s-Konfigurationsdatei.
sudo nano /etc/rancher/k3s/config.yaml
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
Speichern Sie die Datei, und beenden Sie den Nano-Editor.
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)
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
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.