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 (arcdata
az
) 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 met Kubernetes-cluster
Maak verbinding met een Kubernetes-cluster en verifieer deze 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.
- Azure Kubernetes Service (AKS)
- AKS in Azure Stack HCI
- Azure Red Hat OpenShift (ARO)
- Red Hat OpenShift Container Platform (OCP)
- Open source, upstream Kubernetes (kubeadm)
- AWS Elastic Kubernetes Service (EKS)
- Google Cloud Kubernetes Engine Service (GKE)
Tip
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 met het control.json bestand niet naar het control.json bestand 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 arc
hebt 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.