Een Azure Arc-gegevenscontroller maken met behulp van de CLI

Vereisten

Bekijk het onderwerp Een implementatie van gegevensservices met Azure Arc plannen voor overzichtsinformatie.

Hulpprogramma's installeren

Voordat u begint, installeert u de arcdata extensie voor Azure (az) CLI.

De () extensie voor Azure (arcdataaz) CLI installeren

Ongeacht welk doelplatform u kiest, moet u de volgende omgevingsvariabelen instellen voordat u de gegevenscontroller gaat maken. Deze omgevingsvariabelen worden de referenties die worden gebruikt voor toegang tot de metrische gegevens en logboekdashboards nadat de gegevenscontroller is gemaakt.

Omgevingsvariabelen instellen

Hieronder volgen twee sets omgevingsvariabelen die nodig zijn voor toegang tot de metrische gegevens en logboekdashboards.

De omgevingsvariabelen bevatten wachtwoorden voor logboek- en metrische services. De wachtwoorden moeten ten minste acht tekens lang zijn en tekens bevatten uit drie van de volgende vier categorieën: Latijnse hoofdletters, Latijnse kleine letters, cijfers en niet-alfanumerieke tekens.

## variables for Metrics and Monitoring dashboard credentials
export AZDATA_LOGSUI_USERNAME=<username for Kibana dashboard>
export AZDATA_LOGSUI_PASSWORD=<password for Kibana dashboard>
export AZDATA_METRICSUI_USERNAME=<username for Grafana dashboard>
export AZDATA_METRICSUI_PASSWORD=<password for Grafana dashboard>

Verbinding maken naar Kubernetes-cluster

Verbinding maken en verifieer bij een Kubernetes-cluster en laat een bestaande Kubernetes-context selecteren voordat u begint met het maken van de Azure Arc-gegevenscontroller. Hoe u verbinding maakt met een Kubernetes-cluster of -service, verschilt. Raadpleeg de documentatie voor de Kubernetes-distributie of -service die u gebruikt voor het maken van verbinding met de Kubernetes-API-server.

U kunt controleren of u een huidige Kubernetes-verbinding hebt en uw huidige context bevestigt met de volgende opdrachten.

kubectl cluster-info
kubectl config current-context

De Azure Arc-gegevenscontroller maken

De volgende secties bevatten instructies voor specifieke typen Kubernetes-platforms. Volg de instructies voor uw platform.

Fooi

Als u geen Kubernetes-cluster hebt, kunt u er een maken in Azure. Volg de instructies in quickstart: Gegevensservices met Azure Arc implementeren - direct verbonden modus - Azure Portal om het hele proces te doorlopen.

Volg vervolgens de instructies onder Maken in Azure Kubernetes Service (AKS).

Maken in Azure Kubernetes Service (AKS)

Het AKS-implementatieprofiel maakt standaard gebruik van de managed-premium opslagklasse. De managed-premium opslagklasse werkt alleen als u vm's hebt die zijn geïmplementeerd met behulp van VM-installatiekopieën met Premium-schijven.

Als u als opslagklasse gaat gebruiken managed-premium , kunt u de volgende opdracht uitvoeren om de gegevenscontroller te maken. Vervang de tijdelijke aanduidingen in de opdracht door de naam van de resourcegroep, de abonnements-id en de Azure-locatie.

az arcdata dc create --profile-name azure-arc-aks-premium-storage --k8s-namespace <namespace> --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect --use-k8s

#Example:
#az arcdata dc create --profile-name azure-arc-aks-premium-storage --k8s-namespace arc --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect --use-k8s

Als u niet zeker weet welke opslagklasse u moet gebruiken, moet u de default opslagklasse gebruiken die wordt ondersteund, ongeacht welk VM-type u gebruikt. Het biedt alleen niet de snelste prestaties.

Als u de default opslagklasse wilt gebruiken, kunt u deze opdracht uitvoeren:

az arcdata dc create --profile-name azure-arc-aks-default-storage --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect

#Example:
#az arcdata dc create --profile-name azure-arc-aks-default-storage  --k8s-namespace arc --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect

Zodra u de opdracht hebt uitgevoerd, gaat u verder met het bewaken van de aanmaakstatus.

Maken op AKS in Azure Stack HCI

Opslag configureren (Azure Stack HCI met AKS-HCI)

Als u Azure Stack HCI gebruikt met AKS-HCI, maakt u een aangepaste opslagklasse met fsType.

fsType: ext4

Gebruik dit type om de gegevenscontroller te implementeren. Zie de volledige instructies in Een aangepaste opslagklasse maken voor een AKS op een Azure Stack HCI-schijf.

Het implementatieprofiel maakt standaard gebruik van een opslagklasse met de naam default en het servicetype LoadBalancer.

U kunt de volgende opdracht uitvoeren om de gegevenscontroller te maken met behulp van de opslagklasse en het default servicetype LoadBalancer.

az arcdata dc create --profile-name azure-arc-aks-hci  --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect

#Example:
#az arcdata dc create --profile-name azure-arc-aks-hci  --k8s-namespace arc --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect

Zodra u de opdracht hebt uitgevoerd, gaat u verder met het bewaken van de aanmaakstatus.

Maken in Azure Red Hat OpenShift (ARO)

Aangepast implementatieprofiel maken

Gebruik het profiel azure-arc-azure-openshift voor Azure RedHat Open Shift.

az arcdata dc config init --source azure-arc-azure-openshift --path ./custom

Gegevenscontroller maken

U kunt de volgende opdracht uitvoeren om de gegevenscontroller te maken:

az arcdata dc create --profile-name azure-arc-azure-openshift  --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect

#Example
#az arcdata dc create --profile-name azure-arc-azure-openshift  --k8s-namespace arc --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect

Zodra u de opdracht hebt uitgevoerd, gaat u verder met het bewaken van de aanmaakstatus.

Maken op Red Hat OpenShift Container Platform (OCP)

Opslagklasse bepalen

Voer de volgende opdracht uit om te bepalen welke opslagklasse moet worden gebruikt.

kubectl get storageclass

Aangepast implementatieprofiel maken

Maak een nieuw aangepast implementatieprofielbestand op basis van het azure-arc-openshift implementatieprofiel door de volgende opdracht uit te voeren. Met deze opdracht maakt u een map custom in uw huidige werkmap en een aangepast implementatieprofielbestand control.json in die map.

Gebruik het profiel azure-arc-openshift voor OpenShift Container Platform.

az arcdata dc config init --source azure-arc-openshift --path ./custom

Opslagklasse instellen

Stel nu de gewenste opslagklasse in door de onderstaande opdracht te vervangen door <storageclassname> de naam van de opslagklasse die u wilt gebruiken die is bepaald door de kubectl get storageclass bovenstaande opdracht uit te voeren.

az arcdata dc config replace --path ./custom/control.json --json-values "spec.storage.data.className=<storageclassname>"
az arcdata dc config replace --path ./custom/control.json --json-values "spec.storage.logs.className=<storageclassname>"

#Example:
#az arcdata dc config replace --path ./custom/control.json --json-values "spec.storage.data.className=mystorageclass"
#az arcdata dc config replace --path ./custom/control.json --json-values "spec.storage.logs.className=mystorageclass"

LoadBalancer instellen (optioneel)

Standaard wordt het azure-arc-openshift implementatieprofiel gebruikt NodePort als het servicetype. Als u een OpenShift-cluster gebruikt dat is geïntegreerd met een load balancer, kunt u de configuratie wijzigen om het LoadBalancer servicetype te gebruiken met behulp van de volgende opdracht:

az arcdata dc config replace --path ./custom/control.json --json-values "$.spec.services[*].serviceType=LoadBalancer"

Gegevenscontroller maken

U bent nu klaar om de gegevenscontroller te maken met behulp van de volgende opdracht.

Notitie

De --path parameter moet verwijzen naar de map die het bestand control.json bevat, niet naar het bestand control.json zelf.

Notitie

Geef bij de implementatie naar OpenShift Container Platform de --infrastructure parameterwaarde op. Opties zijn: aws, azure, alibaba, gcp, . onpremises

az arcdata dc create --path ./custom  --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect --infrastructure <infrastructure>

#Example:
#az arcdata dc create --path ./custom  --k8s-namespace arc --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect --infrastructure onpremises

Zodra u de opdracht hebt uitgevoerd, gaat u verder met het bewaken van de aanmaakstatus.

Maken op open source, upstream Kubernetes (kubeadm)

Het kubeadm-implementatieprofiel maakt standaard gebruik van een opslagklasse met de naam local-storage en het servicetype NodePort. Als dit acceptabel is, kunt u de onderstaande instructies overslaan die het gewenste opslagklasse- en servicetype instellen en direct de az arcdata dc create onderstaande opdracht uitvoeren.

Als u uw implementatieprofiel wilt aanpassen om een specifieke opslagklasse en/of servicetype op te geven, begint u met het maken van een nieuw aangepast implementatieprofielbestand op basis van het kubeadm-implementatieprofiel door de volgende opdracht uit te voeren. Met deze opdracht maakt u een map custom in uw huidige werkmap en een aangepast implementatieprofielbestand control.json in die map.

az arcdata dc config init --source azure-arc-kubeadm --path ./custom 

U kunt de beschikbare opslagklassen opzoeken door de volgende opdracht uit te voeren.

kubectl get storageclass

Stel nu de gewenste opslagklasse in door de onderstaande opdracht te vervangen door <storageclassname> de naam van de opslagklasse die u wilt gebruiken die is bepaald door de kubectl get storageclass bovenstaande opdracht uit te voeren.

az arcdata dc config replace --path ./custom/control.json --json-values "spec.storage.data.className=<storageclassname>"
az arcdata dc config replace --path ./custom/control.json --json-values "spec.storage.logs.className=<storageclassname>"

#Example:
#az arcdata dc config replace --path ./custom/control.json --json-values "spec.storage.data.className=mystorageclass"
#az arcdata dc config replace --path ./custom/control.json --json-values "spec.storage.logs.className=mystorageclass"

Standaard wordt het kubeadm-implementatieprofiel gebruikt NodePort als het servicetype. Als u een Kubernetes-cluster gebruikt dat is geïntegreerd met een load balancer, kunt u de configuratie wijzigen met behulp van de volgende opdracht.

az arcdata dc config replace --path ./custom/control.json --json-values "$.spec.services[*].serviceType=LoadBalancer"

U bent nu klaar om de gegevenscontroller te maken met behulp van de volgende opdracht.

Notitie

Geef bij de implementatie naar OpenShift Container Platform de --infrastructure parameterwaarde op. Opties zijn: aws, azure, alibaba, gcp, . onpremises

az arcdata dc create --path ./custom  --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect --infrastructure <infrastructure>

#Example:
#az arcdata dc create --path ./custom - --k8s-namespace <namespace> --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect --infrastructure onpremises

Zodra u de opdracht hebt uitgevoerd, gaat u verder met het bewaken van de aanmaakstatus.

Maken op AWS Elastic Kubernetes Service (EKS)

De EKS-opslagklasse is gp2 standaard en het servicetype is LoadBalancer.

Voer de volgende opdracht uit om de gegevenscontroller te maken met behulp van het opgegeven EKS-implementatieprofiel.

az arcdata dc create --profile-name azure-arc-eks  --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect

#Example:
#az arcdata dc create --profile-name azure-arc-eks  --k8s-namespace <namespace> --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect

Zodra u de opdracht hebt uitgevoerd, gaat u verder met het bewaken van de aanmaakstatus.

Maken in Google Cloud Kubernetes Engine Service (GKE)

De GKE-opslagklasse is standard standaard en het servicetype is LoadBalancer.

Voer de volgende opdracht uit om de gegevenscontroller te maken met behulp van het opgegeven GKE-implementatieprofiel.

az arcdata dc create --profile-name azure-arc-gke --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect

#Example:
#az arcdata dc create --profile-name azure-arc-gke --k8s-namespace <namespace> --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect

Zodra u de opdracht hebt uitgevoerd, gaat u verder met het bewaken van de aanmaakstatus.

De status van het maken controleren

Het duurt enkele minuten om de controller volledig te maken. U kunt de voortgang in een ander terminalvenster bewaken met de volgende opdrachten:

Notitie

In de onderstaande voorbeeldopdrachten wordt ervan uitgegaan dat u een gegevenscontroller met de naam arc-dc en kubernetes-naamruimte met de naam archebt gemaakt. Als u verschillende waarden hebt gebruikt, werkt u het script dienovereenkomstig bij.

kubectl get datacontroller/arc-dc --namespace arc
kubectl get pods --namespace arc

U kunt ook de status van het maken van een bepaalde pod controleren door een opdracht zoals hieronder uit te voeren. Dit is vooral handig voor het oplossen van eventuele problemen.

kubectl describe po/<pod name> --namespace arc

#Example:
#kubectl describe po/control-2g7bl --namespace arc

Problemen met het maken oplossen

Als u problemen ondervindt bij het maken, raadpleegt u de gids voor probleemoplossing.