Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
- Nasazení clusteru Kubernetes Azure Nexus pomocí Azure CLI
Než začnete
Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Začínáme s Azure Cloud Shellem.
Pokud chcete spouštět referenční příkazy CLI lokálně, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Pro více informací, viz Jak spustit Azure CLI v Docker kontejneru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Chcete-li dokončit proces ověřování, postupujte podle kroků zobrazených ve vašem terminálu. Další možnosti přihlášení najdete v tématu Ověřování v Azure pomocí Azure CLI.
Když budete vyzváni, nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Použití a správa rozšíření pomocí Azure CLI.
Spusťte az version, abyste zjistili verzi a závislé knihovny, které jsou nainstalovány. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
Nainstalujte nejnovější verzi potřebných rozšíření Azure CLI.
Tento článek vyžaduje verzi 2.61.0 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.
Pokud máte více předplatných Azure, vyberte příslušné ID předplatného, ve kterém se mají prostředky fakturovat pomocí
az accountpříkazu.Seznam podporovaných skladových položek virtuálních počítačů najdete v tabulce skladových položek virtuálního počítače v referenční části .
Seznam podporovaných verzí Kubernetes najdete v podporovaných verzích Kubernetes .
Vytvořte skupinu prostředků pomocí příkazu
az group create. Skupina prostředků Azure je logická skupina, ve které se nasazují a spravují prostředky Azure. Při vytváření skupiny prostředků se zobrazí výzva k zadání umístění. Toto umístění je umístění úložiště metadat vaší skupiny prostředků a místo, kde vaše prostředky běží v Azure, pokud během vytváření prostředků nezadáte jinou oblast. Následující příklad vytvoří skupinu prostředků s názvem myResourceGroup v lokaci eastus.az group create --name myResourceGroup --location eastusNásledující příklad výstupu se podobá úspěšnému vytvoření skupiny prostředků:
{ "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup", "location": "eastus", "managedBy": null, "name": "myResourceGroup", "properties": { "provisioningState": "Succeeded" }, "tags": null }Pokud chcete nasadit soubor Bicep nebo šablonu ARM, musíte mít právo zápisu pro prostředky, které nasazujete, a přístup ke všem operacím na prostředku typu Microsoft.Resources/deployments. Například k nasazení clusteru potřebujete oprávnění Microsoft.NetworkCloud/kubernetesclusters/write a Microsoft.Resources/deployments/*. Seznam rolí a oprávnění najdete v tématu Předdefinované role Azure.
Potřebujete
custom locationID prostředku clusteru Azure Operator Nexus.Potřebujete vytvořit různé sítě podle vašich konkrétních požadavků na úlohy a je nezbytné mít pro své úlohy k dispozici příslušné IP adresy. Pokud chcete zajistit bezproblémovou implementaci, doporučujeme se obrátit na příslušné týmy podpory a požádat o pomoc.
Tento rychlý start předpokládá základní znalosti konceptů Kubernetes. Další informace najdete v tématu Základní koncepty Kubernetes pro Službu Azure Kubernetes Service (AKS).
Vytvoření clusteru Azure Nexus Kubernetes
Následující příklad vytvoří cluster myNexusK8sCluster ve skupině prostředků myResourceGroup v umístění eastus.
Před spuštěním příkazů je potřeba nastavit několik proměnných, abyste definovali konfiguraci clusteru. Tady jsou proměnné, které potřebujete nastavit, spolu s některými výchozími hodnotami, které můžete použít pro určité proměnné:
| Variable | Description |
|---|---|
| UMÍSTĚNÍ | Oblast Azure, ve které chcete cluster vytvořit. |
| Skupina zdrojů | Název skupiny prostředků Azure, ve které chcete cluster vytvořit. |
| PŘEDPLATNÉ_ID | ID vašeho předplatného Azure. |
| CUSTOM_LOCATION | Tento argument určuje vlastní umístění instance Nexus. |
| CSN_ARM_ID | ID CSN je jedinečný identifikátor sítě cloudových služeb, kterou chcete použít. |
| CNI_ARM_ID | ID CNI je jedinečný identifikátor síťového rozhraní, které má modul runtime kontejneru používat. |
| IDENTIFIKÁTOR_OBJEKTU_SKUPINY_SPRÁVCE_AAD | ID objektu skupiny Microsoft Entra, která by měla mít oprávnění správce v clusteru. |
| NÁZEV_CLUSTERU | Název, který chcete předat clusteru Nexus Kubernetes. |
| K8S_VERSION | Verze Kubernetes, kterou chcete použít. |
| ADMIN_UŽIVATELSKÉ_JMÉNO | Uživatelské jméno správce clusteru. |
| SSH_PUBLIC_KEY | Veřejný klíč SSH, který se používá pro zabezpečenou komunikaci s clusterem. |
| CONTROL_PLANE_COUNT | Počet uzlů řídicí roviny clusteru. |
| CONTROL_PLANE_VM_SIZE | Velikost virtuálního počítače pro uzly řídicí roviny. |
| POČÁTEČNÍ_NÁZEV_FONDU_AGENTŮ | Název počátečního fondu agentů. |
| INITIAL_AGENT_POOL_COUNT | Počet nodů v počátečním agentovém fondu. |
| INITIAL_AGENT_POOL_VM_SIZE (Počáteční velikost VM fondu agentů) | Velikost virtuálního počítače pro počáteční fond agentů. |
| POD_CIDR | Rozsah sítě pro pody Kubernetes v clusteru v zápisu CIDR. |
| SERVICE_CIDR | Rozsah sítě pro služby Kubernetes v clusteru v zápisu CIDR. |
| DNS_SERVICE_IP | IP adresa pro službu DNS Kubernetes. |
Po definování těchto proměnných můžete spuštěním příkazu Azure CLI vytvořit cluster.
--debug Přidejte na konec příznak, který poskytuje podrobnější výstup pro účely řešení potíží.
K definování těchto proměnných použijte následující příkazy sady a nahraďte ukázkové hodnoty upřednostňovanými hodnotami. Můžete také použít výchozí hodnoty některých proměnných, jak je znázorněno v následujícím příkladu:
RESOURCE_GROUP="myResourceGroup"
SUBSCRIPTION_ID="<Azure subscription ID>"
LOCATION="$(az group show --name $RESOURCE_GROUP --query location --subscription $SUBSCRIPTION_ID -o tsv)"
CUSTOM_LOCATION="/subscriptions/<subscription_id>/resourceGroups/<managed_resource_group>/providers/microsoft.extendedlocation/customlocations/<custom-location-name>"
CSN_ARM_ID="/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.NetworkCloud/cloudServicesNetworks/<csn-name>"
CNI_ARM_ID="/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.NetworkCloud/l3Networks/<l3Network-name>"
AAD_ADMIN_GROUP_OBJECT_ID="00000000-0000-0000-0000-000000000000"
CLUSTER_NAME="myNexusK8sCluster"
K8S_VERSION="v1.24.9"
ADMIN_USERNAME="azureuser"
SSH_PUBLIC_KEY="$(cat ~/.ssh/id_rsa.pub)"
CONTROL_PLANE_SSH_PUBLIC_KEY="$(cat ~/.ssh/id_rsa.pub)"
AGENT_POOL_SSH_PUBLIC_KEY="$(cat ~/.ssh/id_rsa.pub)"
CONTROL_PLANE_COUNT="1"
CONTROL_PLANE_VM_SIZE="NC_G6_28_v1"
INITIAL_AGENT_POOL_NAME="${CLUSTER_NAME}-nodepool-1"
INITIAL_AGENT_POOL_COUNT="1"
INITIAL_AGENT_POOL_VM_SIZE="NC_P10_56_v1"
POD_CIDR="10.244.0.0/16"
SERVICE_CIDR="10.96.0.0/16"
DNS_SERVICE_IP="10.96.0.10"
Důležité
Před spuštěním těchto příkazů je důležité nahradit zástupné symboly pro CUSTOM_LOCATION, CSN_ARM_ID, CNI_ARM_ID a AAD_ADMIN_GROUP_OBJECT_ID skutečnými hodnotami.
Po definování těchto proměnných můžete cluster Kubernetes vytvořit spuštěním následujícího příkazu Azure CLI:
az networkcloud kubernetescluster create \
--name "${CLUSTER_NAME}" \
--resource-group "${RESOURCE_GROUP}" \
--subscription "${SUBSCRIPTION_ID}" \
--extended-location name="${CUSTOM_LOCATION}" type=CustomLocation \
--location "${LOCATION}" \
--kubernetes-version "${K8S_VERSION}" \
--aad-configuration admin-group-object-ids="[${AAD_ADMIN_GROUP_OBJECT_ID}]" \
--admin-username "${ADMIN_USERNAME}" \
--ssh-key-values "${SSH_PUBLIC_KEY}" \
--control-plane-node-configuration \
count="${CONTROL_PLANE_COUNT}" \
vm-sku-name="${CONTROL_PLANE_VM_SIZE}" \
ssh-key-values='["${CONTROL_PLANE_SSH_PUBLIC_KEY}"]' \
--initial-agent-pool-configurations "[{count:${INITIAL_AGENT_POOL_COUNT},mode:System,name:${INITIAL_AGENT_POOL_NAME},vm-sku-name:${INITIAL_AGENT_POOL_VM_SIZE},ssh-key-values:['${AGENT_POOL_SSH_PUBLIC_KEY}']}]" \
--network-configuration \
cloud-services-network-id="${CSN_ARM_ID}" \
cni-network-id="${CNI_ARM_ID}" \
pod-cidrs="[${POD_CIDR}]" \
service-cidrs="[${SERVICE_CIDR}]" \
dns-service-ip="${DNS_SERVICE_IP}"
Pokud není dostatek kapacity pro nasazení požadovaných uzlů clusteru, zobrazí se chybová zpráva. Tato zpráva ale neobsahuje žádné podrobnosti o dostupné kapacitě. Uvádí, že vytvoření clusteru nemůže pokračovat kvůli nedostatečné kapacitě.
Poznámka:
Výpočet kapacity bere v úvahu celý cluster platformy místo toho, aby se omezil pouze na jednotlivé racky. Proto pokud je fond agentů vytvořen v zóně (kde se rack rovná zóně) s nedostatečnou kapacitou, ale jiná zóna má dostatečnou kapacitu, vytváření clusteru bude pokračovat, ale nakonec časový limit vyprší. Tento přístup ke kontrole kapacity dává smysl pouze v případě, že při vytváření clusteru nebo fondu agentů není zadaná konkrétní zóna.
Po několika minutách se příkaz dokončí a vrátí informace o clusteru. Pokročilejší možnosti najdete v tématu Rychlý start: Nasazení clusteru Kubernetes Azure Nexus pomocí Bicep.
Kontrola nasazených prostředků
Po dokončení nasazení můžete prostředky zobrazit pomocí rozhraní příkazového řádku nebo webu Azure Portal.
Pokud chcete zobrazit podrobnosti clusteru myNexusK8sCluster ve myResourceGroup skupině prostředků, spusťte následující příkaz Azure CLI:
az networkcloud kubernetescluster show \
--name myNexusK8sCluster \
--resource-group myResourceGroup
Navíc, pokud chcete získat seznam názvů fondů agentů, které jsou přidružené ke clusteru myNexusK8sCluster ve skupině prostředků myResourceGroup, můžete použít následující příkaz Azure CLI.
az networkcloud kubernetescluster agentpool list \
--kubernetes-cluster-name myNexusK8sCluster \
--resource-group myResourceGroup \
--output table
Připojení ke clusteru
Teď, když se cluster Nexus Kubernetes úspěšně vytvořil a připojil ke službě Azure Arc, se k němu můžete snadno připojit pomocí funkce připojení clusteru. Připojení ke clusteru umožňuje bezpečně přistupovat ke clusteru a spravovat ho odkudkoli, což usnadňuje interaktivní vývoj, ladění a úlohy správy clusteru.
Podrobnější informace o dostupných možnostech najdete v tématu Připojení ke clusteru Kubernetes operátora Azure Nexus.
Poznámka:
Při vytváření clusteru Nexus Kubernetes vytvoří Nexus automaticky spravovanou skupinu prostředků, která je vyhrazená pro ukládání prostředků clusteru. V rámci této skupiny se vytvoří zdroj clusteru připojeného prostřednictvím Arc.
Pokud chcete získat přístup ke clusteru, musíte nastavit připojení ke clusteru kubeconfig. Po přihlášení k Azure CLI s příslušnou entitou Microsoft Entra můžete získat kubeconfig potřebné pro komunikaci s clusterem odkudkoli, i mimo firewall, který ho obklopuje.
Nastavte
CLUSTER_NAME,RESOURCE_GROUPaSUBSCRIPTION_IDproměnné.CLUSTER_NAME="myNexusK8sCluster" RESOURCE_GROUP="myResourceGroup" SUBSCRIPTION_ID=<set the correct subscription_id>Dotažte se na spravovanou skupinu prostředků pomocí
aza uložte ji doMANAGED_RESOURCE_GROUPaz account set -s $SUBSCRIPTION_ID MANAGED_RESOURCE_GROUP=$(az networkcloud kubernetescluster show -n $CLUSTER_NAME -g $RESOURCE_GROUP --output tsv --query managedResourceGroupConfiguration.name)Následující příkaz spustí proxy server connectedk8s, který umožňuje připojit se k serveru rozhraní API Kubernetes pro zadaný cluster Nexus Kubernetes.
az connectedk8s proxy -n $CLUSTER_NAME -g $MANAGED_RESOURCE_GROUP &Slouží
kubectlk odesílání požadavků do clusteru:kubectl get pods -ATeď by se měla zobrazit odpověď z clusteru obsahujícího seznam všech uzlů.
Poznámka:
Pokud se zobrazí chybová zpráva "Nepodařilo se odeslat přístupový token do klientského proxy serveruNelze se připojit k MSI", možná budete muset provést az login k opětovnému ověření v Azure.
Přidání fondu agentů
Cluster vytvořený v předchozím kroku má jeden pool uzlů. Přidejme druhý fond agentů pomocí příkazu az networkcloud kubernetescluster agentpool create. Následující příklad vytvoří fond agentů s názvem myNexusK8sCluster-nodepool-2:
Můžete také použít výchozí hodnoty některých proměnných, jak je znázorněno v následujícím příkladu:
RESOURCE_GROUP="myResourceGroup"
CUSTOM_LOCATION="/subscriptions/<subscription_id>/resourceGroups/<managed_resource_group>/providers/microsoft.extendedlocation/customlocations/<custom-location-name>"
CLUSTER_NAME="myNexusK8sCluster"
AGENT_POOL_NAME="${CLUSTER_NAME}-nodepool-2"
AGENT_POOL_VM_SIZE="NC_P10_56_v1"
AGENT_POOL_COUNT="1"
AGENT_POOL_MODE="User"
Po definování těchto proměnných můžete přidat fond agentů spuštěním následujícího příkazu Azure CLI:
az networkcloud kubernetescluster agentpool create \
--name "${AGENT_POOL_NAME}" \
--kubernetes-cluster-name "${CLUSTER_NAME}" \
--resource-group "${RESOURCE_GROUP}" \
--subscription "${SUBSCRIPTION_ID}" \
--extended-location name="${CUSTOM_LOCATION}" type=CustomLocation \
--count "${AGENT_POOL_COUNT}" \
--mode "${AGENT_POOL_MODE}" \
--vm-sku-name "${AGENT_POOL_VM_SIZE}"
Po několika minutách se příkaz dokončí a vrátí informace o fondu agentů. Pokročilejší možnosti najdete v tématu Rychlý start: Nasazení clusteru Kubernetes Azure Nexus pomocí Bicep.
Poznámka:
Během počátečního vytváření samotného clusteru můžete přidat více fondů agentů pomocí počátečních konfigurací fondu agentů. Pokud ale chcete přidat fondy agentů po počátečním vytvoření, můžete použít výše uvedený příkaz k vytvoření dalších fondů agentů pro váš cluster Nexus Kubernetes.
Následující příklad výstupu se podobá úspěšnému vytvoření fondu agentů.
$ az networkcloud kubernetescluster agentpool list --kubernetes-cluster-name myNexusK8sCluster --resource-group myResourceGroup --output table
This command is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Count Location Mode Name ProvisioningState ResourceGroup VmSkuName
------- ---------- ------ ---------------------------- ------------------- --------------- -----------
1 eastus System myNexusK8sCluster-nodepool-1 Succeeded myResourceGroup NC_P10_56_v1
1 eastus User myNexusK8sCluster-nodepool-2 Succeeded myResourceGroup NC_P10_56_v1
Vyčistěte zdroje
Pokud už skupinu prostředků nepotřebujete, odstraňte ji. Skupina prostředků a všechny prostředky ve skupině prostředků se odstraní.
Pomocí příkazu az group delete odeberte skupinu prostředků, cluster Kubernetes a všechny související prostředky kromě síťových prostředků Operator Nexus.
az group delete --name myResourceGroup --yes --no-wait
Další kroky
Soubory CNF teď můžete nasadit buď přímo prostřednictvím připojení clusteru , nebo prostřednictvím Service Manageru operátora Azure.