Vytváření clusterů Kubernetes pomocí Azure CLI
Platí pro: Azure Stack HCI verze 23H2
Tento článek popisuje, jak vytvářet clustery Kubernetes v Azure Stack HCI pomocí Azure CLI. Pracovní postup je následující:
- Vytvořte cluster Kubernetes v Azure Stack HCI 23H2 pomocí Azure CLI. Cluster je ve výchozím nastavení připojený k Azure Arc.
- Při vytváření clusteru zadáte skupinu Microsoft Entra, která obsahuje seznam Microsoft Entra uživatelů s přístupem správce clusteru Kubernetes.
- Přístup ke clusteru pomocí kubectl a Microsoft Entra ID.
- Spusťte ukázkovou vícekontejnerovou aplikaci s webovým front-endem a instancí Redis v clusteru.
Než začnete
- Než začnete, ujistěte se, že máte od správce místní infrastruktury následující podrobnosti:
- ID předplatného Azure – ID předplatného Azure, ve kterém se azure Stack HCI používá k nasazení a registraci.
- ID vlastního umístění – ID azure Resource Manager vlastního umístění. Vlastní umístění se konfiguruje během nasazení clusteru Azure Stack HCI. Správce infrastruktury by vám měl poskytnout ID Resource Manager vlastního umístění. Tento parametr se vyžaduje k vytváření clusterů Kubernetes. ID Resource Manager můžete také získat pomocí
az customlocation show --name "<custom location name>" --resource-group <azure resource group> --query "id" -o tsv
příkazu , pokud správce infrastruktury zadá vlastní název umístění a název skupiny prostředků. - ID sítě – ID azure Resource Manager logické sítě Azure Stack HCI vytvořené podle těchto kroků. Správce by vám měl poskytnout ID logické sítě. Tento parametr se vyžaduje k vytváření clusterů Kubernetes. ID Resource Manager Azure můžete také získat pomocí,
az stack-hci-vm network lnet show --name "<lnet name>" --resource-group <azure resource group> --query "id" -o tsv
pokud znáte skupinu prostředků, ve které se logická síť vytvořila.
- Kroky v tomto článku můžete spustit na místním vývojovém počítači a vytvořit cluster Kubernetes ve vzdáleném nasazení Azure Stack HCI. Ujistěte se, že na vývojovém počítači máte nejnovější verzi Az CLI . Můžete se také rozhodnout upgradovat verzi Az CLI pomocí
az upgrade
. - Pokud se chcete ke clusteru Kubernetes připojit odkudkoli, vytvořte skupinu Microsoft Entra a přidejte do ní členy. Všichni členové ve skupině Microsoft Entra mají ke clusteru přístup správce clusteru. Nezapomeňte přidat sami sebe jako člena skupiny Microsoft Entra. Pokud nepřidáte sami, nemůžete ke clusteru Kubernetes přistupovat pomocí kubectl. Další informace o vytváření skupin Microsoft Entra a přidávání uživatelů najdete v tématu Správa Microsoft Entra skupin a členství ve skupinách.
- Stáhněte a nainstalujte kubectl na vývojový počítač. Nástroj příkazového řádku Kubernetes kubectl umožňuje spouštět příkazy pro clustery Kubernetes. Kubectl můžete použít k nasazení aplikací, kontrole a správě prostředků clusteru a zobrazení protokolů.
Instalace rozšíření Azure CLI
Spuštěním následujícího příkazu nainstalujte potřebná rozšíření Azure CLI:
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
Vytvoření clusteru Kubernetes
Pomocí příkazu az aksarc create
vytvořte cluster Kubernetes v AKS Arc. Před spuštěním tohoto příkazu se ujistěte, že se přihlásíte k Azure. Pokud máte více předplatných Azure, vyberte příslušné ID předplatného pomocí příkazu 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 --load-balancer-count 0 --control-plane-ip $controlplaneIP
Po několika minutách se příkaz dokončí a vrátí informace o clusteru ve formátu JSON.
Připojení ke clusteru Kubernetes
Teď se můžete ke clusteru Kubernetes připojit spuštěním příkazu z vývojového az connectedk8s proxy
počítače. Před spuštěním tohoto příkazu se ujistěte, že se přihlásíte k Azure. Pokud máte více předplatných Azure, vyberte příslušné ID předplatného pomocí příkazu az account set .
Tento příkaz stáhne kubeconfig clusteru Kubernetes do vývojového počítače a otevře kanál připojení proxy serveru k místnímu clusteru Kubernetes. Kanál je otevřený po dobu spuštění příkazu. Nechte tento příkaz běžet tak dlouho, dokud chcete získat přístup ke clusteru. Pokud vyprší časový limit, zavřete okno rozhraní příkazového řádku, otevřete nové okno a spusťte příkaz znovu.
Abyste mohli úspěšně spustit následující příkaz, musíte mít oprávnění přispěvatele ke skupině prostředků, která je hostitelem clusteru Kubernetes:
az connectedk8s proxy --name $aksclustername --resource-group $resource_group --file .\aks-arc-kube-config
Očekávaný výstup:
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.
Nechte tuto relaci spuštěnou a připojte se ke clusteru Kubernetes z jiného terminálu nebo příkazového řádku. Spuštěním příkazu kubectl get ověřte, že se můžete připojit ke clusteru Kubernetes. Tento příkaz vrátí seznam uzlů clusteru:
kubectl get node -A --kubeconfig .\aks-arc-kube-config
Následující výstupní příklad ukazuje uzel vytvořený v předchozích krocích. Ujistěte se, že je stav uzlu Připravený:
NAME STATUS ROLES AGE VERSION
moc-l0ttdmaioew Ready control-plane,master 34m v1.24.11
moc-ls38tngowsl Ready <none> 32m v1.24.11
Nasazení aplikace
Soubor manifestu Kubernetes definuje požadovaný stav clusteru, například které image kontejneru se mají spustit.
Manifest můžete použít k vytvoření všech objektů potřebných ke spuštění aplikace Azure Vote. Tento manifest zahrnuje dvě nasazení Kubernetes:
- Ukázkové aplikace Azure Vote v Pythonu
- Instance Redis.
Vytvoří se také dvě služby Kubernetes :
- Interní služba pro instanci Redis.
- Externí služba pro přístup k aplikaci Azure Vote z internetu.
Vytvořte soubor s názvem azure-vote.yaml a zkopírujte následující 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: mcr.microsoft.com/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: mcr.microsoft.com/azuredocs/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
Nasaďte aplikaci pomocí příkazu kubectl apply a zadejte název YAML:
kubectl apply -f azure-vote.yaml --kubeconfig .\\aks-arc-kube-config
Následující příklad výstupu ukazuje úspěšně vytvořená nasazení a služby:
deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created
Testování aplikace
Při spuštění aplikace služba Kubernetes zpřístupní front-end aplikace na internetu. Dokončení tohoto procesu může trvat několik minut.
Průběh můžete monitorovat pomocí příkazu kubectl get service s argumentem --watch
.
kubectl get service azure-vote-front --watch --kubeconfig .\aks-arc-kube-config
Výstup EXTERNAL-IP pro službu azure-vote-front se zpočátku zobrazí jako čekající.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
azure-vote-front LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s
Jakmile se externí IP adresa změní z čekající na skutečnou veřejnou IP adresu, pomocí kombinace kláves CTRL-C zastavte proces kubectl watch. Následující příklad výstupu ukazuje platnou veřejnou IP adresu přiřazenou službě:
azure-vote-front LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
Pokud chcete zobrazit aplikaci Azure Vote v akci, otevřete webový prohlížeč na externí IP adresu vaší služby.
Odstranění clusteru
Spuštěním příkazu vyčistíte az aksarc delete
cluster, který jste vytvořili:
az aksarc delete --resource-group $aksclustername --name $resource_group
Další kroky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro