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>
Ansluta 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.
- Azure Kubernetes Service (AKS)
- AKS på Azure Stack HCI
- Azure Red Hat OpenShift (ARO)
- Red Hat OpenShift Container Platform (OCP)
- Öppen källkod, uppströms Kubernetes (kubeadm)
- AWS Elastic Kubernetes Service (EKS)
- Google Cloud Kubernetes Engine Service (GKE)
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 Portal 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 control.json filen, inte till själva control.json-filen.
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.