Share via


Skapa En Azure Arc-datakontrollant med hjälp av CLI

Förutsättningar

Se avsnittet Planera en Azure Arc-aktiverad distribution av datatjänster för översiktsinformation.

Installera verktygen

Innan du börjar installerar arcdata du tillägget för Azure (az) CLI.

Installera (arcdata) tillägget för Azure (az) CLI

Oavsett vilken målplattform du väljer måste du ange följande miljövariabler innan datastyrenheten skapas. Dessa miljövariabler blir de autentiseringsuppgifter som används för att komma åt instrumentpanelerna för mått och loggar när datakontrollanten har skapats.

Ange miljövariabler

Följande är två uppsättningar med miljövariabler som behövs för att komma åt instrumentpanelerna för mått och loggar.

Miljövariablerna innehåller lösenord för logg- och måtttjänster. Lösenorden måste vara minst åtta tecken långa och innehålla tecken från tre av följande fyra kategorier: latinska versaler, latinska gemener, siffror och icke-alfanumeriska tecken.

## 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>

Anslut till Kubernetes-kluster

Anslut och autentisera till ett Kubernetes-kluster och ha en befintlig Kubernetes-kontext vald innan du börjar skapa Azure Arc-datastyrenheten. Hur du ansluter till ett Kubernetes-kluster eller -tjänst varierar. Se dokumentationen för Kubernetes-distributionen eller tjänsten som du använder för att ansluta till Kubernetes API-servern.

Du kan kontrollera att du har en aktuell Kubernetes-anslutning och bekräfta din aktuella kontext med följande kommandon.

kubectl cluster-info
kubectl config current-context

Skapa Azure Arc-datastyrenheten

Följande avsnitt innehåller instruktioner för specifika typer av Kubernetes-plattformar. Följ anvisningarna för din plattform.

Dricks

Om du inte har något Kubernetes-kluster kan du skapa ett i Azure. Följ anvisningarna i Snabbstart: Distribuera Azure Arc-aktiverade datatjänster – direkt anslutet läge – Azure-portalen för att gå igenom hela processen.

Följ sedan anvisningarna under Skapa på Azure Kubernetes Service (AKS).

Skapa på Azure Kubernetes Service (AKS)

Som standard använder AKS-distributionsprofilen lagringsklassen managed-premium . Lagringsklassen managed-premium fungerar bara om du har virtuella datorer som har distribuerats med vm-avbildningar som har premiumdiskar.

Om du ska använda managed-premium som lagringsklass kan du köra följande kommando för att skapa datastyrenheten. Ersätt platshållarna i kommandot med resursgruppens namn, prenumerations-ID och Azure-plats.

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

Om du inte är säker på vilken lagringsklass du ska använda bör du använda lagringsklassen default som stöds oavsett vilken typ av virtuell dator du använder. Det ger helt enkelt inte den snabbaste prestandan.

Om du vill använda lagringsklassen default kan du köra det här kommandot:

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

När du har kört kommandot fortsätter du till Övervaka skapandestatusen.

Skapa på AKS på Azure Stack HCI

Konfigurera lagring (Azure Stack HCI med AKS-HCI)

Om du använder Azure Stack HCI med AKS-HCI skapar du en anpassad lagringsklass med fsType.

fsType: ext4

Använd den här typen för att distribuera datastyrenheten. Se de fullständiga anvisningarna i Skapa en anpassad lagringsklass för en AKS på Azure Stack HCI-disk.

Som standard använder distributionsprofilen en lagringsklass med namnet default och tjänsttypen LoadBalancer.

Du kan köra följande kommando för att skapa datakontrollanten med hjälp av lagringsklassen default och tjänsttypen 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

När du har kört kommandot fortsätter du till Övervaka skapandestatusen.

Skapa på Azure Red Hat OpenShift (ARO)

Skapa en anpassad distributionsprofil

Använd profilen azure-arc-azure-openshift för Azure RedHat Open Shift.

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

Skapa datakontrollant

Du kan köra följande kommando för att skapa datakontrollanten:

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

När du har kört kommandot fortsätter du till Övervaka skapandestatusen.

Skapa på Red Hat OpenShift Container Platform (OCP)

Fastställa lagringsklass

Kör följande kommando för att avgöra vilken lagringsklass som ska användas.

kubectl get storageclass

Skapa en anpassad distributionsprofil

Skapa en ny anpassad distributionsprofilfil baserat på azure-arc-openshift distributionsprofilen genom att köra följande kommando. Det här kommandot skapar en katalog custom i din aktuella arbetskatalog och en anpassad distributionsprofilfil control.json i katalogen.

Använd profilen azure-arc-openshift för OpenShift Container Platform.

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

Ange lagringsklass

Ange nu önskad lagringsklass genom att <storageclassname> ersätta i kommandot nedan med namnet på den lagringsklass som du vill använda som fastställdes genom att köra kubectl get storageclass kommandot ovan.

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"

Ange LoadBalancer (valfritt)

Som standard används NodePort distributionsprofilen azure-arc-openshift som tjänsttyp. Om du använder ett OpenShift-kluster som är integrerat med en lastbalanserare kan du ändra konfigurationen så att den LoadBalancer använder tjänsttypen med hjälp av följande kommando:

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

Skapa datakontrollant

Nu är du redo att skapa datakontrollanten med hjälp av följande kommando.

Kommentar

Parametern --path ska peka på katalogen som innehåller filen control.json, inte till själva filen control.json.

Kommentar

När du distribuerar till OpenShift Container Platform anger du --infrastructure parametervärdet. Alternativen är: 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

När du har kört kommandot fortsätter du till Övervaka skapandestatusen.

Skapa på öppen källkod, överordnad Kubernetes (kubeadm)

Som standard använder kubeadm-distributionsprofilen en lagringsklass med namnet local-storage och tjänsttypen NodePort. Om detta är acceptabelt kan du hoppa över anvisningarna nedan som anger önskad lagringsklass och tjänsttyp och omedelbart köra az arcdata dc create kommandot nedan.

Om du vill anpassa distributionsprofilen för att ange en specifik lagringsklass och/eller tjänsttyp börjar du med att skapa en ny anpassad distributionsprofilfil baserat på kubeadm-distributionsprofilen genom att köra följande kommando. Det här kommandot skapar en katalog custom i din aktuella arbetskatalog och en anpassad distributionsprofilfil control.json i katalogen.

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

Du kan söka efter tillgängliga lagringsklasser genom att köra följande kommando.

kubectl get storageclass

Ange nu önskad lagringsklass genom att <storageclassname> ersätta i kommandot nedan med namnet på den lagringsklass som du vill använda som fastställdes genom att köra kubectl get storageclass kommandot ovan.

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"

Som standard använder NodePort kubeadm-distributionsprofilen som tjänsttyp. Om du använder ett Kubernetes-kluster som är integrerat med en lastbalanserare kan du ändra konfigurationen med hjälp av följande kommando.

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

Nu är du redo att skapa datakontrollanten med hjälp av följande kommando.

Kommentar

När du distribuerar till OpenShift Container Platform anger du --infrastructure parametervärdet. Alternativen är: 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

När du har kört kommandot fortsätter du till Övervaka skapandestatusen.

Skapa på AWS Elastic Kubernetes Service (EKS)

Som standard är gp2 EKS-lagringsklassen och tjänsttypen är LoadBalancer.

Kör följande kommando för att skapa datakontrollanten med hjälp av den tillhandahållna EKS-distributionsprofilen.

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

När du har kört kommandot fortsätter du till Övervaka skapandestatusen.

Skapa på Google Cloud Kubernetes Engine Service (GKE)

Som standard är standard GKE-lagringsklassen och tjänsttypen är LoadBalancer.

Kör följande kommando för att skapa datakontrollanten med hjälp av den tillhandahållna GKE-distributionsprofilen.

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

När du har kört kommandot fortsätter du till Övervaka skapandestatusen.

Övervaka skapandestatusen

Det tar några minuter att skapa kontrollanten helt. Du kan övervaka förloppet i ett annat terminalfönster med följande kommandon:

Kommentar

Exempelkommandona nedan förutsätter att du har skapat en datakontrollant med namnet arc-dc och Kubernetes-namnområdet med namnet arc. Om du använde olika värden uppdaterar du skriptet i enlighet med detta.

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

Du kan också kontrollera skapandestatusen för en viss podd genom att köra ett kommando som nedan. Detta är särskilt användbart för att felsöka eventuella problem.

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

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

Felsöka problem med att skapa

Om du får problem med att skapa kan du läsa felsökningsguiden.