Kurz: Nasazení virtuálních uzlů ve službě Azure Container Instances v clusteru Azure Kubernetes Service
V tomto kurzu pomocí webu Azure Portal nasadíte cluster Azure Kubernetes Service (AKS). Po nasazení clusteru AKS použijete chart Helm k nasazení virtuálních uzlů ve službě Azure Container Instances.
Požadavky
V tomto kurzu se předpokládá, že máte nainstalované následující nástroje:
- Azure CLI
- kubectl (verze 1.29+)
- Helm
- Git
Přihlášení k Azure
Přihlaste se k webu Azure Portal na adrese https://portal.azure.com.
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Vytvoření virtuální sítě pro cluster AKS
Na domovské stránce webu Azure Portal vyberte Vytvořit prostředek.
Vyberte Síťová>virtuální síť.
Na stránce Základy zvolte předplatné a zadejte následující hodnoty:
- Skupina prostředků: Vytvořit novou>
virtualnodesresourcegroup
- Název virtuální sítě:
myvirtualnetwork
- Oblast:
East US
Na stránce IP adres nakonfigurujte následující adresní prostory a podsítě:
- 10.0.0.0/16:
default
podsíť s velikostí /24 - 10.1.0.0/16:
aks
podsíť s velikostí /16 - 10.2.0.0/16:
cg
podsíť s velikostí /16- Podsíť
cg
musí mít delegování podsítě naMicrosoft.ContainerInstance/containerGroups
. - Pokud vaše pody spuštěné ve virtuálních uzlech potřebují odchozí síť, musíte nastavit bránu NAT a nakonfigurovat podsíť
cg
, aby ji používala. Pokyny k této instalaci najdete v tématu Konfigurace služby NAT Gateway pro statickou IP adresu pro odchozí provoz ze skupiny kontejnerů.
- Podsíť
Ponechte všechna ostatní nastavení jako výchozí a pak vyberte Zkontrolovat a vytvořit.
Po dokončení ověření se zobrazí souhrn nastavení virtuální sítě. Výběrem možnosti Vytvořit odešlete žádost o nasazení virtuální sítě.
Při spuštění nasazení se zobrazí oznámení, které indikuje, že nasazení probíhá. Po nasazení virtuální sítě se zobrazí další oznámení.
Vytvoření clusteru AKS
Na domovské stránce webu Azure Portal vyberte Vytvořit prostředek.
Vyberte kontejnery>Azure Kubernetes Service (AKS).
Na stránce Základy zvolte stejné předplatné, které jste použili k vytvoření virtuální sítě, a zadejte následující hodnoty:
- Skupina prostředků:
virtualnodesresourcegroup
- Konfigurace přednastavení clusteru:
Dev/Test
- Název clusteru Kubernetes:
virtualnodescluster
- Oblast:
East US
- Verze Kubernetes: Libovolná verze začínající
1.29.
například1.29.10
- Automatický upgrade:
Enabled with patch
Na stránce Fondy uzlů vyberte libovolnou skladovou položku virtuálního počítače s alespoň 4 vCPU a 16 GB paměti RAM pro agentpool
fond uzlů. Tyto uzly se použijí k hostování infrastruktury virtuálních uzlů. Nevybírejte Enable virtual nodes
– to odkazuje na předchozí nabídku virtuálních uzlů pro AKS.
Na stránce Sítě zadejte následující hodnoty:
- Konfigurace sítě:
Azure CNI Node Subnet
- Přineste si vlastní virtuální síť Azure:
Enabled
- Virtuální síť:
myvirtualnetwork
- Podsíť clusteru:
aks
- Rozsah adres služby Kubernetes:
10.4.0.0/16
- IP adresa služby DNS Kubernetes:
10.4.0.10
- Zásady sítě:
Calico
Ponechte všechna ostatní nastavení jako výchozí a pak vyberte Zkontrolovat a vytvořit.
Po dokončení ověření se zobrazí souhrn nastavení clusteru AKS. Výběrem možnosti Vytvořit odešlete žádost o nasazení clusteru AKS.
Při spuštění nasazení se zobrazí oznámení, které indikuje, že nasazení probíhá. Po nasazení clusteru AKS se zobrazí další oznámení.
Přiřazení oprávnění ke spravované identitě clusteru AKS
Když nasadíte cluster AKS, AKS vytvoří skupinu prostředků uzlu ve stejném předplatném pro infrastrukturu hostitelského clusteru. Ve výchozím nastavení má tato skupina prostředků název, například MC_<resource group>_<AKS cluster>_<region>
. Pro účely tohoto kurzu by skupina prostředků uzlu měla mít název MC_virtualnodesresourcegroup_virtualnodescluster_eastus
.
Jedním z prostředků vytvořených ve skupině prostředků uzlu je spravovaná identita s názvem virtualnodescluster_agentpool
. Přejděte na tuto spravovanou identitu a vyberte přiřazení rolí Azure. Pak přidejte následující dvě přiřazení rolí:
- Rozsah:
Resource group
- Předplatné:
<your subscription name>
- Skupina prostředků:
MC_virtualnodesresourcegroup_virtualnodescluster_eastus
- Role:
Contributor
Toto přiřazení role umožňuje vytvoření skupin kontejnerů ACI ve skupině prostředků uzlu.
- Rozsah:
Resource group
- Předplatné:
<your subscription name>
- Skupina prostředků:
virtualnodesresourcegroup
- Role:
Contributor
Toto přiřazení role umožňuje vložení skupin kontejnerů ACI do virtuální sítě, kterou jste vytvořili v této skupině prostředků.
Instalace virtuálních uzlů ve službě Azure Container Instances pomocí chartu Helm
Pomocí Azure CLI stáhněte konfiguraci a přihlašovací údaje pro cluster AKS, který jste vytvořili. Tím nakonfigurujete kubectl pro váš cluster AKS.
az login
az account set --subscription <your subscription ID>
az aks get-credentials --name virtualnodescluster --resource-group virtualnodesresourcegroup
Kromě toho zaregistrujeme poskytovatele prostředků ACI ve vašem předplatném, abyste mohli nasadit skupiny kontejnerů.
az provider register -n Microsoft.ContainerInstance
Naklonujte úložiště GitHub virtualnodesOnAzureContainerInstances . Chart Helm pro instalaci virtuálních uzlů ve službě Helm/virtualnode
Azure Container Instances se nachází ve složce.
Pomocí následujícího příkazu nainstalujte chart Helm:
helm install virtualnode <cloned repository location>\Helm\virtualnode
Během minuty se zaregistruje nový virtuální uzel a ve stavu Připraveno v clusteru AKS. Stav uzlů clusteru AKS můžete zkontrolovat pomocí kubectl.
kubectl get nodes
Nasazení prvního podu do virtuálního uzlu
S virtuálními uzly můžete pracovat stejně jako s jinými uzly Kubernetes. Například níže uvedený ukázkový YAML nasadí pod do virtuálního uzlu v clusteru AKS – všimněte si použití selektorů uzlů a tolerance k vhodnému umístění podu. YAML můžete nasadit pomocí kubectl apply.
apiVersion: v1
kind: Pod
metadata:
annotations:
name: demo-pod
spec:
containers:
- command:
- /bin/bash
- -c
- 'counter=1; while true; do echo "Hello, World! Counter: $counter"; counter=$((counter+1)); sleep 1; done'
image: mcr.microsoft.com/azure-cli
name: hello-world-counter
resources:
limits:
cpu: 2250m
memory: 2256Mi
requests:
cpu: 100m
memory: 128Mi
nodeSelector:
virtualization: virtualnode2
tolerations:
- effect: NoSchedule
key: virtual-kubelet.io/provider
operator: Exists
Po nasazení podu s ním můžete pracovat přesně tak, jak byste použili "normální" pod Kubernetes.
Pokud chcete například zobrazit stav a události podu (užitečné při hledání chyb):)
kubectl describe pods demo-pod
Zobrazení protokolů podu:
kubectl logs demo-pod
Získání prostředí pro pod:
kubectl exec demo-pod -it -- /bin/bash
Další kroky
V tomto kurzu jste vytvořili cluster AKS na webu Azure Portal, nasadili virtuální uzly ve službě Azure Container Instances pomocí chartu Helm a nasadili pod do virtuálního uzlu. Teď máte základní znalosti o tom, jak spouštět pody Kubernetes na virtuálním uzlu a můžete využívat většinu funkcí a konstruktorů Kubernetes na těchto podech.
Pokud chcete využít specializované možnosti nebo chování virtuálních uzlů pro vaše pody, přečtěte si téma Přizpůsobení podů.
Pokud chcete přizpůsobit instalaci virtuálního uzlu, přečtěte si téma Přizpůsobení uzlů.
Pokud plánujete nasadit úlohy ve velkém měřítku (tisíce podů za minutu) na virtuální uzly, máme osvědčené postupy a doporučení.