Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een Kubernetes-cluster met Azure Arc is een vereiste voor het implementeren van Azure IoT Operations. In dit artikel wordt beschreven hoe u een cluster voorbereidt voordat u Azure IoT Operations implementeert. Dit artikel bevat richtlijnen voor Ubuntu, Windows, Azure Local en Tanzu Kubernetes Grid (TKG).
Als u Azure IoT-bewerkingen snel wilt implementeren en een voorbeeldworkload wilt uitvoeren in een testomgeving, raadpleegt u de quickstart: Azure IoT Operations uitvoeren in GitHub Codespaces met K3s.
Vereiste voorwaarden
Microsoft ondersteunt Azure Kubernetes Service (AKS) Edge Essentials voor implementaties in Windows, K3s voor implementaties op Ubuntu, AKS-implementaties in Azure Local en Tanzu Kubernetes Release (TKr) op TKG. Als u Azure IoT-bewerkingen wilt implementeren in een oplossing met meerdere knooppunten, gebruikt u K3's in Ubuntu.
Als u een Kubernetes-cluster met Azure Arc wilt voorbereiden, hebt u het volgende nodig:
Een Azure-abonnement met de rol Eigenaar of een combinatie van de rollen Inzender en Beheerder voor gebruikerstoegang. U kunt uw toegangsniveau controleren door naar uw abonnement te navigeren, toegangsbeheer (IAM) aan de linkerkant van Azure Portal te selecteren en vervolgens Mijn toegang weergeven te selecteren. Als u geen Azure-abonnement hebt, kunt u er gratis een maken voordat u begint.
Een Azure-resourcegroep. Er wordt slechts één Azure IoT Operations-exemplaar per resourcegroep ondersteund. Gebruik de opdracht az group create om een nieuwe resourcegroep te maken. Zie Ondersteunde regio's voor de lijst met momenteel ondersteunde Azure-regio's.
az group create --location <REGION> --resource-group <RESOURCE_GROUP> --subscription <SUBSCRIPTION_ID>Azure CLI versie 2.62.0 of hoger geïnstalleerd op uw clustercomputer. Gebruik
az --versionom uw versie te controleren enaz upgradeom indien nodig bij te werken. Zie De Azure CLI installeren voor meer informatie.De nieuwste versie van de connectedk8s-extensie voor Azure CLI:
az extension add --upgrade --name connectedk8s
Hardware die voldoet aan de systeemvereisten:
Als u Azure IoT-bewerkingen gaat implementeren in een cluster met meerdere knooppunten waarvoor fouttolerantie is ingeschakeld, controleert u de hardware- en opslagvereisten in Linux voorbereiden op Edge-volumes.
Een cluster maken en arc inschakelen
Deze sectie bevat stappen voor het maken van clusters in gevalideerde omgevingen in Linux en Windows.
Een K3s Kubernetes-cluster voorbereiden op Ubuntu:
Maak een K3s-cluster met één knooppunt of meerdere knooppunten. Zie de K3s-snelstartgids of K3s-gerelateerde projecten voor voorbeelden.
Controleer of kubectl is geïnstalleerd als onderdeel van K3s. Zo niet, volg dan de instructies voor het installeren van kubectl in Linux.
kubectl version --clientVolg de instructies om Helm te installeren.
Maak een YAML-bestand voor K3s-configuratie 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.yamlVoer de volgende opdracht uit om de limieten voor gebruikerstoezicht of instanties te verhogen.
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 -pVoor betere prestaties verhoogt u de limiet voor bestandsdescriptor:
echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Uw cluster inschakelen met Arc
Verbind uw cluster met Azure Arc, zodat het extern kan worden beheerd.
Meld u vanaf een computer die toegang heeft
kubectltot uw cluster aan bij Azure CLI met uw Microsoft Entra-gebruikersaccount met de vereiste rollen voor het Azure-abonnement:az loginAls u op enig moment een foutmelding krijgt met de mededeling dat uw apparaat moet worden beheerd voor toegang tot uw resource, voert
az loginu deze opnieuw uit en zorgt u ervoor dat u zich interactief aanmeldt met een browser.Nadat u zich hebt aangemeld, worden in de Azure CLI al uw abonnementen weergegeven en wordt uw standaardabonnement aangegeven met een sterretje
*. Als u wilt doorgaan met uw standaardabonnement, selecteert uEnter. Typ anders het nummer van het Azure-abonnement dat u wilt gebruiken.Registreer de vereiste resourceproviders in uw abonnement.
Opmerking
Deze stap hoeft slechts één keer per abonnement te worden uitgevoerd. Als u resourceproviders wilt registreren, moet u gemachtigd zijn om de
/register/actionbewerking uit te voeren, die is opgenomen in de rollen Inzender en Eigenaar van het abonnement. Zie Azure-resourceproviders en -typen voor meer informatie.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"Gebruik de opdracht az connectedk8s connect om uw Kubernetes-cluster Arc-gereed te maken en het als onderdeel van uw Azure-resourcengroep te beheren.
az connectedk8s connect --name <CLUSTER_NAME> -l <REGION> --resource-group <RESOURCE_GROUP> --subscription <SUBSCRIPTION_ID> --enable-oidc-issuer --enable-workload-identity --disable-auto-upgradeAls u niet-geplande updates voor Azure Arc en de systeem-Arc-extensies die Door Azure IoT Operations als afhankelijkheden worden gebruikt, wilt voorkomen, wordt met deze opdracht automatischupgrade uitgeschakeld. In plaats daarvan moet u agents handmatig bijwerken als dat nodig is.
Belangrijk
Als uw omgeving gebruikmaakt van een proxyserver of Azure Arc Gateway, wijzigt u de
az connectedk8s connectopdracht met uw proxygegevens:- Volg de instructies in Verbinding maken met behulp van een uitgaande proxyserver of Kubernetes-clusters onboarden naar Azure Arc met Azure Arc Gateway.
 - Toevoegen 
169.254.169.254aan de--proxy-skip-rangeparameter van deaz connectedk8s connectopdracht. Azure Device Registry gebruikt dit lokale eindpunt om toegangstokens op te halen voor autorisatie. 
Azure IoT Operations biedt geen ondersteuning voor proxyservers waarvoor een vertrouwd certificaat is vereist.
Haal de URL van de uitgever van het cluster op.
az connectedk8s show --resource-group <RESOURCE_GROUP> --name <CLUSTER_NAME> --query oidcIssuerProfile.issuerUrl --output tsvSla de uitvoer van deze opdracht op voor gebruik in de volgende stappen.
Maak een k3s-configuratiebestand.
sudo nano /etc/rancher/k3s/config.yamlVoeg de volgende inhoud toe aan het
config.yamlbestand, waarbij u de tijdelijke aanduiding vervangt door de<SERVICE_ACCOUNT_ISSUER>URL van de verlener van uw cluster.kube-apiserver-arg: - service-account-issuer=<SERVICE_ACCOUNT_ISSUER> - service-account-max-token-expiration=24hSla het bestand op en sluit de nano-editor af.
Bereid u voor op het inschakelen van de Azure Arc-service, aangepaste locatie, op uw Arc-cluster door de id van het aangepaste locatieobject op te halen en op te slaan als de omgevingsvariabele, OBJECT_ID. U moet zijn aangemeld bij Azure CLI met een Microsoft Entra-gebruikersaccount om de opdracht uit te voeren, niet een service-principal. Voer de volgende opdracht precies uit zoals geschreven, zonder de GUID-waarde te wijzigen.
export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)Opmerking
Als u de foutmelding krijgt: 'Kan de OID van de app "custom-locations" niet ophalen.' Doorgaan zonder de functie in te schakelen. Er zijn onvoldoende bevoegdheden om de bewerking te voltooien. Uw service-principal beschikt mogelijk niet over de benodigde machtigingen om de object-id van de aangepaste locatie op te halen. Meld u aan bij Azure CLI met een Microsoft Entra-gebruikersaccount dat voldoet aan de vereisten. Zie Aangepaste locaties maken en beheren voor meer informatie.
Gebruik de opdracht az connectedk8s enable-features om de functie voor aangepaste locatie in uw Arc-cluster in te schakelen. Deze opdracht maakt gebruik van de omgevingsvariabele OBJECT_ID die is opgeslagen in de vorige stap om de waarde voor de parameter custom-locations-oid in te stellen. Voer deze opdracht uit op de computer waarop u het Kubernetes-cluster hebt geïmplementeerd:
az connectedk8s enable-features -n <CLUSTER_NAME> -g <RESOURCE_GROUP> --custom-locations-oid $OBJECT_ID --features cluster-connect custom-locationsStart K3s opnieuw op.
systemctl restart k3s
Clusters met meerdere knooppunten configureren voor Azure Container Storage
Op Ubuntu-clusters met meerdere knooppunten met ten minste drie knooppunten kunt u fouttolerantie inschakelen voor opslag met Azure Container Storage ingeschakeld door Azure Arc wanneer u Azure IoT Operations implementeert.
Als u fouttolerantie wilt inschakelen tijdens de implementatie, configureert u uw clusters door de stappen in Linux voorbereiden voor Edge-volumes te volgen met behulp van een Ubuntu-cluster met meerdere knooppunten.
Als u uw cluster uitvoert op een Andere Kubernetes-distributie dan k3s, raadpleegt u de richtlijnen voor het voorbereiden van Linux met andere platforms.
Geavanceerde configuratie
Wanneer u op dit moment een Kubernetes-cluster met Azure Arc hebt, maar voordat u Azure IoT Operations implementeert, wilt u mogelijk uw cluster configureren voor geavanceerde scenario's.
- Als u waarneembaarheidsfuncties in het cluster wilt inschakelen, volgt u de stappen in Waarneembaarheidsbronnen implementeren en stelt u logboeken in.
 - Als u uw eigen certificaatverlener in het cluster wilt configureren, volgt u de stappen in Certificaatbeheer > Bring your own issuer.
 
Volgende stappen
Nu u een Kubernetes-cluster met Azure Arc hebt, kunt u Ervoor kiezen Om Azure IoT Operation te implementeren met testinstellingen of met productie-instellingen.
- Testimplementatie: Aanbevolen voor snelle evaluatie en prototypen voordat u in productie implementeert. Testimplementatie is niet geschikt voor productie, het ontbreekt aan waarneembaarheid en beveiligde beveiliging.
 - Productie-implementatie: aanbevolen voor workloads die gereed zijn voor productie. Productie-implementatie is geschikt voor echte IoT-implementaties met nalevings- en beveiligingsbehoeften.