Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
Gäller för: Azure Local, version 23H2
Den här artikeln beskriver hur du skapar Kubernetes-kluster i Azure Local med hjälp av Azure CLI. Arbetsflödet är följande:
az customlocation show --name "<custom location name>" --resource-group <azure resource group> --query "id" -o tsv
om infrastrukturadministratören tillhandahåller ett anpassat platsnamn och resursgruppsnamn.az stack-hci-vm network lnet show --name "<lnet name>" --resource-group <azure resource group> --query "id" -o tsv
du känner till resursgruppen där det logiska nätverket skapades.az upgrade
.Kör följande kommando för att installera nödvändiga Azure CLI-tillägg:
az extension add -n aksarc --upgrade
az extension add -n customlocation --upgrade
az extension add -n stack-hci-vm --upgrade
az extension add -n connectedk8s --upgrade
az aksarc create
Använd kommandot för att skapa ett Kubernetes-kluster i AKS Arc. Kontrollera att du loggar in på Azure innan du kör det här kommandot. Om du har flera Azure-prenumerationer väljer du lämpligt prenumerations-ID med kommandot az account set .
az aksarc create -n $aksclustername -g $resource_group --custom-location $customlocationID --vnet-ids $logicnetId --aad-admin-group-object-ids $aadgroupID --generate-ssh-keys
Efter några minuter slutförs kommandot och returnerar JSON-formaterad information om klustret.
Anteckning
~/.ssh/id_rsa.pub
. Du kan ange en annan plats med hjälp av parametern --ssh-key-value
när klustret skapas.--generate-ssh-keys
krävs om det inte finns någon befintlig SSH-nyckel på den lokala datorn. Om du inte tar med den här parametern när klustret skapas och det inte finns någon SSH-nyckel får du ett felmeddelande.--generate-ssh-keys
ange , eller utelämna den parametern.Viktigt
Om du vill använda Azure RBAC eller arbetsbelastningsidentitet för ett AKS-kluster måste du skicka de parametrar som krävs när klustret skapas med Hjälp av Azure CLI. För närvarande stöds inte uppdatering av ett befintligt AKS-kluster för att aktivera arbetsbelastningsidentitet och/eller Azure RBAC. Mer information finns i Använda Azure RBAC för Kubernetes-auktorisering eller Distribuera och konfigurera arbetsbelastningsidentitet för klustret.
Nu kan du ansluta till kubernetes-klustret genom att köra az connectedk8s proxy
kommandot från utvecklingsdatorn. Kontrollera att du loggar in på Azure innan du kör det här kommandot. Om du har flera Azure-prenumerationer väljer du lämpligt prenumerations-ID med kommandot az account set .
Det här kommandot laddar ned kubeconfig för ditt Kubernetes-kluster till utvecklingsdatorn och öppnar en proxyanslutningskanal till ditt lokala Kubernetes-kluster. Kanalen är öppen så länge kommandot körs. Låt det här kommandot köras så länge du vill komma åt klustret. Om tidsgränsen överskrids stänger du CLI-fönstret, öppnar ett nytt och kör sedan kommandot igen.
Du måste ha deltagarbehörighet för resursgruppen som är värd för Kubernetes-klustret för att kunna köra följande kommando:
az connectedk8s proxy --name $aksclustername --resource-group $resource_group --file .\aks-arc-kube-config
Förväntad utdata:
Proxy is listening on port 47011
Merged "aks-workload" as current context in .\\aks-arc-kube-config
Start sending kubectl requests on 'aks-workload' context using
kubeconfig at .\\aks-arc-kube-config
Press Ctrl+C to close proxy.
Håll den här sessionen igång och anslut till ditt Kubernetes-kluster från en annan terminal/kommandotolk. Kontrollera att du kan ansluta till kubernetes-klustret genom att köra kommandot kubectl get. Det här kommandot returnerar en lista över klusternoderna:
kubectl get node -A --kubeconfig .\aks-arc-kube-config
I följande utdataexempel visas noden som skapades i föregående steg. Kontrollera att nodstatusen är Klar:
NAME STATUS ROLES AGE VERSION
moc-l0ttdmaioew Ready control-plane,master 34m v1.24.11
moc-ls38tngowsl Ready <none> 32m v1.24.11
En Kubernetes-manifestfil definierar ett klusters önskade tillstånd, till exempel vilka containeravbildningar som ska köras.
Du kan använda ett manifest för att skapa alla objekt som behövs för att köra Azure Vote-programmet. Det här manifestet innehåller två Kubernetes-distributioner:
Två Kubernetes-tjänster skapas också:
Skapa en fil med namnet azure-vote.yaml och kopiera i följande manifest:
apiVersion: apps/v1
kind: Deployment
metadata:
name: azure-vote-back
spec:
replicas: 1
selector:
matchLabels:
app: azure-vote-back
template:
metadata:
labels:
app: azure-vote-back
spec:
nodeSelector:
"kubernetes.io/os": linux
containers:
- name: azure-vote-back
image: <path to image>/oss/bitnami/redis:6.0.8
env:
- name: ALLOW_EMPTY_PASSWORD
value: "yes"
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 250m
memory: 256Mi
ports:
- containerPort: 6379
name: redis
---
apiVersion: v1
kind: Service
metadata:
name: azure-vote-back
spec:
ports:
- port: 6379
selector:
app: azure-vote-back
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: azure-vote-front
spec:
replicas: 1
selector:
matchLabels:
app: azure-vote-front
template:
metadata:
labels:
app: azure-vote-front
spec:
nodeSelector:
"kubernetes.io/os": linux
containers:
- name: azure-vote-front
image: <path to image>/azure-vote-front:v1
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 250m
memory: 256Mi
ports:
- containerPort: 80
env:
- name: REDIS
value: "azure-vote-back"
---
apiVersion: v1
kind: Service
metadata:
name: azure-vote-front
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: azure-vote-front
Distribuera programmet med kommandot kubectl apply och ange namnet på din YAML:
kubectl apply -f azure-vote.yaml --kubeconfig .\\aks-arc-kube-config
Följande exempelutdata visar distributioner och tjänster som har skapats:
deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created
Distribuera en MetalLB-lastbalanserare så att den kan tilldela en extern IP-adress för programmets klientdel. Du kan följa de här anvisningarna distribuera MetalLB-tillägget från Azure-portalen eller använda CLI.
När programmet körs exponerar en Kubernetes-tjänst programklientdelen på Internet. Den här processen kan ta ett par minuter att slutföra.
Övervaka förloppet med hjälp av kommandot kubectl get service med --watch
argumentet .
kubectl get service azure-vote-front --watch --kubeconfig .\aks-arc-kube-config
EXTERNA IP-utdata för tjänsten azure-vote-front visas inledningsvis som väntande.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s
När DEN EXTERNA IP-adressen ändras från väntande till en faktisk offentlig IP-adress använder du CTRL-C för att stoppa kubectl watch-processen. Följande exempelutdata visar en giltig offentlig IP-adress som har tilldelats tjänsten:
azure-vote-front LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
Om du vill se hur Azure Vote-appen fungerar i praktiken så öppnar du en webbläsare till den externa IP-adressen för din tjänst.
az aksarc delete
Kör kommandot för att rensa klustret som du skapade:
az aksarc delete --name $aksclustername --resource-group $resource_group
Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuUtbildning
Certifiering
Microsoft-certifierad: Azure-administratör associerad - Certifications
Visa viktiga kunskaper för att konfigurera, hantera, skydda och administrera viktiga professionella funktioner i Microsoft Azure.