Plánování flexibilních uzlů pro AKS (Preview)

Important

Funkce AKS ve verzi Preview jsou k dispozici na bázi samoobsluhy a dobrovolného přihlášení. Ukázky jsou poskytovány "tak, jak jsou" a "dle dostupnosti" a jsou vyloučeny ze smluv o úrovni služeb a z omezené záruky. Předběžné verze AKS jsou částečně pokryty zákaznickou podporou podle možností. Proto tyto funkce nejsou určené pro produkční použití. Další informace najdete v následujících článcích podpory:

Flexibilní uzly rozšiřují cluster Azure Kubernetes Service (AKS) na počítače s Linuxem, které spravujete mimo fondy uzlů spravovaných Azure clusteru. Než přidáte flexibilní uzel, zvolte, jak se hostitel ověřuje pro Azure, jak dosáhne serveru rozhraní API Kubernetes a jak se síťový provoz přesouvá mezi prostředími AKS a flexibilních uzlů.

Tento článek vám pomůže učinit tato rozhodnutí, naplánovat nepřekrývající se rozsahy adres a vytvořit sdílený soubor prostředí pro zbývající články o nasazení.

Než začnete

  • Projděte si přehled flexibilních uzlů pro AKS.
  • Projděte si koncepty identit a přístupu pro flexibilní uzly.
  • Projděte si koncepty sítí pro flexibilní uzly.
  • Použijte prostředí Bash kompatibilní s Linuxem, které má požadované nástroje a síťový přístup. Tato série nasazení označuje toto prostředí jako vaše prostředí Bash. Samostatný počítač, který připojuje cluster, je hostitelem flexibilního uzlu.
  • Nainstalujte Azure CLI. Nainstalovanou verzi zjistíte spuštěním příkazu az --version. Pokud chcete nainstalovat nebo upgradovat, přečtěte si téma Instalace Azure CLI.
  • Přihlaste se k Azure pomocí účtu, který může číst cílové předplatné a konfiguraci virtuální sítě.
  • Připravte existující Azure virtuální síť a podsíť pro uzly AKS spravované Azure. Virtuální síť může být v jiné skupině prostředků než cluster AKS. Pokud je, ujistěte se, že identita clusteru AKS má požadovaná oprávnění v podsíti.

Rozhodování o nasazení

Před vytvořením nebo konfigurací prostředků naplánujte následující rozhodnutí.

Rozhodnutí Možnosti Co rozhodnutí řídí
Identita hostitele Spravovaná identita, spravovaná identita Azure Arc nebo instanční objekt služby Jak se agent flex node ověřuje v Azure
Přístup k rozhraní API AKS Veřejný nebo privátní cluster AKS Jak se vaše prostředí Bash a hostitelé flexibilních uzlů přeloží a dostanou se k serveru rozhraní API Kubernetes
Připojení flexibilního uzlu Připojení vrstvy 3 nebo brána Unbounded-Net WireGuard Jak komunikují uzly spravované AKS, flexibilní uzly, pody a služby Kubernetes

Tato rozhodnutí řeší různé části nasazení. Například výběrem veřejného koncového bodu rozhraní API AKS se nevytvoří síťové připojení mezi uzly spravovanými AKS a hostiteli uzlů flex.

Vyberte identitu hostitele

Pomocí rozhodovací tabulky v konceptech identit a přístupu pro flexibilní uzly zvolte Azure identitu, kterou používá agent flex node.

Identita hostitele autorizuje Azure operace. Nenahrazuje síťové připojení ani zaváděcí konfiguraci Kubernetes, kterou hostitel potřebuje, aby se mohl připojit ke clusteru. Neukládejte přihlašovací údaje do souboru sdíleného prostředí.

Volba veřejného nebo privátního přístupu k rozhraní API AKS

Server rozhraní API Kubernetes je koncový bod správy clusteru. Vaše prostředí Bash a každý hostitel flexibilních uzlů musí být schopen přeložit a připojit se k tomuto koncovému bodu.

  • Přístup k veřejnému rozhraní API AKS používá zabezpečený veřejný koncový bod. Ověřování a autorizace Kubernetes stále řídí přístup ke clusteru. Koncový bod veřejného rozhraní API nezpřístupňuje aplikace spuštěné v clusteru.
  • Privátní přístup k rozhraní API AKS používá privátní koncový bod ve virtuální síti AKS. V prostředí Bash spusťte příkazy pro nastavení Azure CLI kubectla clusteru, které musí běžet na počítači připojeném k této privátní síti. Síť flex node musí být také schopná přeložit privátní název DNS clusteru a směrovat provoz do privátního koncového bodu.

Nasazení flexibilních uzlů podporují veřejný i privátní přístup k serveru rozhraní API. Privátní trasa vyžaduje dodatečnou konfiguraci DNS, směrování a provádění příkazů, která je uvedena tam, kde je to relevantní. Obecné pokyny k AKS najdete v tématu Plánování sítí řídicí roviny pro AKS, vytvoření privátního clusteru AKS a připojení k privátnímu clusteru AKS.

Zvolte připojení flex uzlu

Tato série nasazení vytváří cluster AKS bez integrovaného síťového modulu a instaluje Unbounded-Net na uzly spravované službou AKS i na flexibilní uzly. Unbounded-Net přiřadí rozsahy adres podů a nakonfiguruje směrování mezi prostředími AKS a flex node. Tento článek popisuje tento pracovní postup. Jiné konfigurace CNI nebo síťové konfigurace mohou vyžadovat odlišné nastavení směrování, firewallu, DNS, brány, zabezpečení a životního cyklu. Vysvětlení síťového modelu ve verzi Public-Preview najdete v tématu Koncepty sítí pro flexibilní uzly.

Poskytnete základní síťové připojení mezi prostředími AKS a flex node. Připojení vrstvy 3 znamená, že obě sítě uzlů už můžou směrovat pakety PROTOKOLU IP na adresy uzlů druhého uzlu v obou směrech. Zvolte metodu, která odpovídá vaší stávající síti:

Metoda připojení Kdy ji použít
Propojení virtuálních sítí Hostitelé clusteru AKS a flexibilních uzlů jsou ve Azure virtuálních sítích, včetně virtuálních sítí v různých oblastech.
VPN brána Hostitelé flexibilních uzlů jsou v místním prostředí nebo v jiné síti, která se připojuje k Azure prostřednictvím šifrované sítě VPN typu site-to-site.
ExpressRoute Vaše organizace používá vyhrazené privátní připojení mezi svou sítí a Azure.
brána wireguardu Unbounded-Net Sítě AKS a flex node nemají privátní směrované připojení. Nakonfigurujete a provozujete tunely WireGuard ve fondu uzlů brány AKS a tyto uzly brány musí být veřejně přístupné. Naplánujte kapacitu a dostupnost brány, protože provoz podů mezi prostředími závisí na tomto fondu. Podívejte se na veřejný cluster AKS s testovacím prostředím Unbounded-Net WireGuard.

Podrobný návod v Microsoft Learn využívá konektivitu 3. vrstvy se sítí Unbounded-Net.

AKS API Připojení flexibilního uzlu Průvodce
Public Připojení vrstvy 3 Doporučená konfigurace
Soukromý Připojení vrstvy 3 Vyžaduje další konfiguraci DNS, směrování a spouštění příkazů.
Public Veřejná brána WireGuard Alternativní topologie; prohlédnout si testovací prostředí AKSFlexNode
Soukromý Veřejná brána WireGuard Není pokryto v této dokumentaci.

Note

Další příklady topologie najdete v testovacích prostředích AKSFlexNode, včetně příkladů, které používají veřejný server rozhraní API AKS s bránou WireGuard a privátním serverem rozhraní AKS API se sítěmi spravovanými zákazníkem. Tato cvičení doplňují konfiguraci zdokumentovanou v tomto článku. Tyto laboratoře mohou používat různé síťové komponenty a mohou mít různé provozní nebo podpůrné odpovědnosti. Před použitím testovacího prostředí zkontrolujte požadavky, omezení, příslušné verze komponent a odpovědnost zákazníků. Testovací prostředí GitHub nerozbaluje obor podpory zdokumentovaný v Microsoft Learn.

Pokud chcete poskytnout zpětnou vazbu k topologii, která není reprezentovaná, otevřete problém v úložišti AKSFlexNode. Zahrnout umístění hostitele flexibilního uzlu, model přístupu k rozhraní API AKS, navrženou metodu připojení, navrhované CNI a síťové cesty vyžadované scénářem.

Plánování požadovaného síťového připojení

Obraťte se na správce sítě a ujistěte se, že návrh sítě poskytuje následující možnosti připojení:

Requirement Proč se to vyžaduje
Vaše prostředí Bash dokáže přeložit název serveru AKS API a navázat s ním spojení. K konfiguraci a správě clusteru potřebujete toto připojení.
Každý hostitel flexibilního uzlu dokáže přeložit a spojit se se serverem rozhraní API AKS. Agent uzlu Flex a kubelet používají toto připojení pro připojení ke clusteru a komunikaci s řídicí rovinou Kubernetes.
Uzly spravované službou AKS a hostitelé uzlů Flex můžou dosáhnout na privátní IP adresy ostatních. U většiny metod připojení Unbounded-Net používá sítě uzlů jako podkladovou cestu mezi dvěma prostředími.
Provoz služby Pod a Kubernetes může směrovat mezi uzly spravovanými AKS a flexibilními uzly. Úlohy potřebují komunikaci mezi uzly, dns clusteru a přístup ke službě Kubernetes.
Řídicí vrstva AKS se může připojit ke kubeletu na uzlu Flex. AKS používá tuto cestu pro operace kubeletu, včetně kubectl logs, kubectl exec a kubectl port-forward.

Konfigurujete a spravujete síť externího hostitele, včetně směrování, partnerského propojení virtuálních sítí, připojení VPN nebo ExpressRoute, pravidel brány firewall a skupin zabezpečení sítě, DNS, nastavení proxy serveru a konfigurace Unbounded-Net popsané v této sérii. Model úplné odpovědnosti najdete v zásadách podpory pro flexibilní uzly.

Omezte přístup ke správě hostitele pouze na schválené zdrojové adresy. U virtuálního počítače Azure přiřaďte skupinu zabezpečení sítě k podsíti hostitele nebo síťovému rozhraní. U hostitele mimo Azure použijte ekvivalentní ovládací prvky brány firewall. Pokud pomocí az vm create vytvoříte hostitele uzlu Flex, zkontrolujte všechny veřejné IP adresy a pravidla skupiny zabezpečení sítě, které tento příkaz vytvoří. Pokud pravidlo SSH neomezíte, může povolit připojení k portu TCP 22 z libovolného veřejného zdroje.

Shromáždění hodnot nasazení

Zbývající články znovu používají následující hodnoty.

Běžné hodnoty prostředků Azure

Variable Description Kdy se používá
SUBSCRIPTION_ID Předplatné, které obsahuje cluster AKS a související prostředky Azure Každé nasazení
RESOURCE_GROUP Skupina prostředků, která obsahuje cluster AKS. Každé nasazení
CLUSTER_NAME Název clusteru AKS Každé nasazení
FLEX_POOL_NAME Název fondu uzlů Flex. Používejte jenom písmena a číslice. Každé nasazení
AKS_API_ACCESS Model přístupu k rozhraní API pro cluster AKS Nastavte hodnotu na public nebo private. Příprava clusteru a ověření připojení rozhraní API
AKS_RESOURCE_ID Azure ID prostředku clusteru AKS. Azure tuto hodnotu poskytuje po existenci clusteru. Pozdější články

Hodnoty clusteru AKS a virtuální sítě

Variable Description Kdy se používá
LOCATION Azure oblast pro cluster AKS. Ověřte, že tato oblast splňuje požadavek na regionální dostupnost . Vytvoření clusteru AKS
AKS_VNET_NAME Název virtuální sítě, která obsahuje podsíť AKS. Vyhledání a ověření podsítě AKS
AKS_VNET_RESOURCE_GROUP Skupina prostředků, která obsahuje virtuální síť AKS. Může se lišit od RESOURCE_GROUP. Vyhledání a ověření podsítě AKS
AKS_SUBNET_NAME Název podsítě používané uzly AKS spravovanými službou Azure. Vyhledání a ověření podsítě AKS
AKS_SUBNET_ID ID prostředku Azure pro podsíť AKS. Vytvoření clusteru AKS
AKS_NODE_VM_SIZE Velikost virtuálního počítače Azure pro systémový fond uzlů AKS spravovaný službou Azure. Tato hodnota neurčuje velikost hostitele prvku flex. Vytvoření clusteru AKS
SERVICE_CIDR Rozsah adres pro služby Kubernetes Konfigurace profilu sítě clusteru AKS
DNS_SERVICE_IP IP adresa pro službu DNS Kubernetes. Konfigurace profilu sítě clusteru AKS

Před vytvořením souboru prostředí získejte ID prostředku podsítě AKS a rozsahy adres:

az network vnet subnet show \
    --resource-group '<virtual-network-resource-group>' \
    --vnet-name '<virtual-network-name>' \
    --name '<aks-subnet-name>' \
    --query "{ResourceId:id,AddressPrefix:addressPrefix,AddressPrefixes:addressPrefixes}" \
    --output json

Hodnoty adres AKS a Unbounded-Net

Používáte SERVICE_CIDR a DNS_SERVICE_IP konfigurujete profil sítě clusteru AKS. Nakonfigurujte CIDR pro uzly a pody, abyste nastavili lokality Unbounded-Net používané v tomto návodu.

Uzel AKS, pod AKS, uzel Flex, pod Flex a rozsahy služeb Kubernetes musí být v souladu se zvoleným návrhem sítě a nesmí se vzájemně překrývat ani s žádnou sítí dostupnou prostřednictvím partnerského vztahu virtuálních sítí, sítě VPN nebo ExpressRoute. Koordinuje konečné hodnoty se správcem sítě.

Nekopírujte ukázkové CIDR z jiného nasazení. CIDR vymezují směrovatelný adresní prostor, takže opakované použití ukázkové konfigurace, která se překrývá s vašimi sítěmi v Azure nebo s připojenými sítěmi, může způsobit nejednoznačné směrování provozu nebo zabránit uzlům a podům ve vzájemné komunikaci.

Variable Description Používáno kým
AKS_SUBNET_CIDR Adresní rozsah přiřazený podsíti pro uzly AKS spravované Azure. Ověření virtuální sítě Azure a podsítě AKS
AKS_NODE_CIDR Rozsah uzlů lokality Unbounded-Net, který obsahuje podsíť uzlů AKS. Unbounded-Net primární lokalita clusteru
AKS_POD_CIDR Fond adres pro pody na uzlech AKS spravovaných Azure Unbounded-Net primární lokalita clusteru
FLEX_HOST_SUBNET_CIDR Rozsah adres, který obsahuje hostitele uzlů Flex. Ověření hostitelské sítě uzlu Flex node
FLEX_NODE_CIDR Unbounded-Net rozsah uzlů lokality obsahující podsíť hostitele flexibilního uzlu. Unbounded-Net Lokalita pro flexibilní uzly
FLEX_POD_CIDR Rozsah adres pro pody na uzlech Flex. Unbounded-Net Lokalita pro flexibilní uzly
SERVICE_CIDR Rozsah adres pro služby Kubernetes Profil sítě clusteru AKS
DNS_SERVICE_IP IP adresa pro službu DNS Kubernetes. Profil sítě clusteru AKS

Pro plán adres použijte následující pravidla:

  • AKS_SUBNET_CIDR musí být součástí AKS_NODE_CIDR.
  • FLEX_HOST_SUBNET_CIDR musí být součástí FLEX_NODE_CIDR.
  • DNS_SERVICE_IP musí být uvnitř SERVICE_CIDR.

Tyto osm hodnot nejsou osm samostatných oblastí. Pět je nezávislých rozsahů, které se nesmí překrývat, dva jsou rozsahy podsítí obsažené v příslušném rozsahu uzlů lokality a jedna je jedna IP adresa uvnitř rozsahu služeb.

Následující hodnoty splňují všechna pravidla v této části. Považujte je za ilustraci vztahů, ne jako výchozí hodnoty. Než je použijete, potvrďte své vlastní hodnoty v Azure a připojeném adresním prostoru sítě.

Variable Example Relationship
AKS_NODE_CIDR 10.10.0.0/16 Nezávislý rozsah
AKS_SUBNET_CIDR 10.10.1.0/24 Obsaženo v rámci AKS_NODE_CIDR
AKS_POD_CIDR 10.244.0.0/16 Nezávislý rozsah
FLEX_NODE_CIDR 10.20.0.0/16 Nezávislý rozsah
FLEX_HOST_SUBNET_CIDR 10.20.1.0/24 Obsaženo v rámci FLEX_NODE_CIDR
FLEX_POD_CIDR 10.245.0.0/16 Nezávislý rozsah
SERVICE_CIDR 10.96.0.0/16 Nezávislý rozsah
DNS_SERVICE_IP 10.96.0.10 Uvnitř SERVICE_CIDR

Zkontrolujte aktuální adresní prostory virtuální sítě Azure:

az network vnet list \
    --query "[].{ResourceGroup:resourceGroup,Name:name,AddressPrefixes:addressSpace.addressPrefixes}" \
    --output table

Azure může identifikovat konflikty v rámci prostředků, které spravuje, ale nemůže ověřit rozsahy adres v každé připojené místní nebo externí síti.

Hodnoty verzí komponent

Flexibilní uzly vyžadují kompatibilní verze AKS, rozšíření Azure CLI, nevázané sítě a agenta flex node. Používejte verze uvedené v tomto článku a nevybírejte ani neupgradujte tyto komponenty nezávisle.

Variable Description
AKS_VERSION Podporovaná verze Kubernetes pro cluster AKS
AKS_PREVIEW_VERSION aks-preview rozšíření Azure CLI verze 22.0.0b8 nebo novější.
UNBOUNDED_VERSION Podporovaná verze Unbounded-Net.
AKS_FLEX_NODE_VERSION Podporovaná verze agenta flex node.

Dostupnost v oblastech

Uzly Flex vyžadují AKS ve verzi v20260904 nebo novější v oblasti, ve které je hostovaný váš cluster. AKS tato vydání založená na datech automaticky aplikuje a jsou oddělená od verze Kubernetes, kterou jste nastavili v AKS_VERSION.

Než vytvoříte nebo vyberete cluster, otevřete kartu AKS Release v nástroji pro sledování verzí AKS, vyhledejte svůj region a zkontrolujte verzi v části Aktuálně v provozu. Verze AKS používají vYYYYMMDD formát. Pokud se ve vaší oblasti zobrazuje starší verze, počkejte, až se verze dostane do oblasti, nebo pokud vaše požadavky na nasazení povolí, vyberte oblast, ve které je k dispozici požadovaná verze.

Hodnota místního pracovního prostoru

Variable Description
WORK_DIR Adresář ve vašem prostředí Bash, kde zbývající články ukládají soubory ke stažení, vygenerované soubory a soubor kubeconfig clusteru. Výchozí hodnota je ~/.local/share/aksflexnode/<deployment-name>. Pokud chcete tyto soubory zachovat někde jinde, například dočasný adresář, který po nasazení odeberete, změňte WORK_DIR hodnotu v souboru prostředí.

Vytvoření souboru sdíleného prostředí

Vytvořte jeden soubor prostředí pro každé nasazení. Soubor uchovává nesekretní hodnoty konzistentní ve zbývajících článcích a terminálových relacích.

Neukládejte v tomto souboru přístupové tokeny, spouštěcí data, obsah kubeconfig, přihlašovací údaje instančního objektu, certifikáty, privátní klíče certifikátu ani privátní klíče SSH.

  1. Zvolte krátký popisek nasazení a vytvořte chráněný adresář pro soubor prostředí.

    export FLEXNODE_DEPLOYMENT="flexnode-demo"
    export FLEXNODE_ENV_DIR="${HOME}/.config/aks-flexnode"
    export FLEXNODE_ENV_FILE="${FLEXNODE_ENV_DIR}/${FLEXNODE_DEPLOYMENT}.env"
    
    install -d -m 0700 "${FLEXNODE_ENV_DIR}"
    
  2. Vytvořte soubor prostředí.

    if [[ -e "${FLEXNODE_ENV_FILE}" ]]; then
        printf 'Environment file already exists: %s\n' "${FLEXNODE_ENV_FILE}" >&2
        false
    else
        install -m 0600 /dev/null "${FLEXNODE_ENV_FILE}"
    
        cat > "${FLEXNODE_ENV_FILE}" <<'EOF'
    set_flexnode_env() {
        if [[ "$#" -ne 2 || ! "$1" =~ ^[A-Za-z_][A-Za-z0-9_]*$ ]]; then
            printf 'Usage: set_flexnode_env NAME VALUE\n' >&2
            return 2
        fi
    
        local name="$1"
        local value="$2"
        local temporary_file
    
        temporary_file="$(mktemp "$(dirname "${FLEXNODE_ENV_FILE}")/flexnode.env.XXXXXX")" || return 1
        awk -v prefix="export ${name}=" 'index($0, prefix) != 1 { print }' \
            "${FLEXNODE_ENV_FILE}" > "${temporary_file}" || {
            rm -f "${temporary_file}"
            return 1
        }
    
        printf 'export %s=%q\n' "${name}" "${value}" >> "${temporary_file}" || {
            rm -f "${temporary_file}"
            return 1
        }
    
        install -m 0600 "${temporary_file}" "${FLEXNODE_ENV_FILE}" || {
            rm -f "${temporary_file}"
            return 1
        }
    
        rm -f "${temporary_file}"
        export "${name}=${value}"
    }
    
    # Customer inputs
    export SUBSCRIPTION_ID='<subscription-id>'
    export LOCATION='<supported-aks-region>'
    export RESOURCE_GROUP='<aks-resource-group>'
    export CLUSTER_NAME='<aks-cluster-name>'
    export FLEX_POOL_NAME='<flex-node-pool-name>'
    export AKS_API_ACCESS='<public-or-private>'
    
    # AKS virtual network
    export AKS_VNET_NAME='<virtual-network-name>'
    export AKS_VNET_RESOURCE_GROUP='<virtual-network-resource-group>'
    export AKS_SUBNET_NAME='<aks-subnet-name>'
    export AKS_SUBNET_ID='<aks-subnet-resource-id>'
    
    # Network address ranges
    export AKS_SUBNET_CIDR='<aks-node-subnet-cidr>'
    export AKS_POD_CIDR='<aks-pod-cidr>'
    export AKS_NODE_CIDR='<aks-site-node-cidr>'
    export FLEX_HOST_SUBNET_CIDR='<flex-host-subnet-cidr>'
    export FLEX_NODE_CIDR='<flex-site-node-cidr>'
    export FLEX_POD_CIDR='<flex-node-pod-cidr>'
    export SERVICE_CIDR='<kubernetes-service-cidr>'
    export DNS_SERVICE_IP='<kubernetes-dns-service-ip>'
    
    # Azure-managed AKS system node pool
    export AKS_NODE_VM_SIZE='<supported-and-available-aks-node-vm-size>'
    
    # Compatible component versions for flex nodes (preview)
    export AKS_VERSION='1.36.2'
    export AKS_PREVIEW_VERSION='22.0.0b8'
    export UNBOUNDED_VERSION='v0.8.0'
    export AKS_FLEX_NODE_VERSION='v0.2.0'
    
    # Local paths
    export WORK_DIR="${HOME}/.local/share/aksflexnode/${FLEXNODE_DEPLOYMENT}"
    
    # Values recorded by later articles
    export AKS_RESOURCE_ID=''
    export FLEXNODE_KUBECONFIG=''
    export FLEX_POOL_RESOURCE_ID=''
    export FLEX_MACHINE_NAME=''
    export FLEX_HOST_NAME=''
    export FLEX_HOST_SSH_TARGET=''
    export FLEX_HOST_PRIVATE_IP=''
    export HOST_PRINCIPAL_OBJECT_ID=''
    export HOST_IDENTITY_CLIENT_ID=''
    export SSH_PUBLIC_KEY_PATH=''
    export SSH_PRIVATE_KEY_PATH=''
    export VM_RESOURCE_GROUP=''
    export VM_NAME=''
    export VM_RESOURCE_ID=''
    export ARC_RESOURCE_GROUP=''
    export ARC_MACHINE_NAME=''
    export ARC_RESOURCE_ID=''
    export SP_TENANT_ID=''
    export SP_CLIENT_ID=''
    export SP_OBJECT_ID=''
    EOF
    fi
    

    Pomocná rutina set_flexnode_env umožňuje pozdějším článkům zaznamenávat Azure vygenerované hodnoty bez přidání duplicitních definic do souboru.

  3. Otevřete ${FLEXNODE_ENV_FILE} v editoru a nahraďte každou hodnotu uzavřenou v úhlových závorkách. Ponechte hodnoty v části Hodnoty zaznamenané v pozdějších článcích prázdné.

  4. Zkontrolujte, že žádné zástupné symboly nezůstanou.

    if grep -n '<[^>]*>' "${FLEXNODE_ENV_FILE}"; then
        printf 'Replace the unresolved placeholders before you continue.\n' >&2
        false
    else
        printf 'No unresolved placeholders found.\n'
    fi
    
  5. Načtěte soubor prostředí, vytvořte pracovní adresář a nastavte aktivní Azure předplatné.

    source "${FLEXNODE_ENV_FILE}"
    install -d -m 0700 "${WORK_DIR:?Load the deployment environment first.}"
    az account set --subscription "${SUBSCRIPTION_ID}"
    az account show \
        --query "{Name:name,SubscriptionId:id}" \
        --output table
    

    Ověřte, že vrácené ID předplatného odpovídá SUBSCRIPTION_ID.

    Ověřte, že AKS_API_ACCESS identifikuje podporovanou cestu:

    case "${AKS_API_ACCESS}" in
        public|private)
            printf 'AKS API access: %s\n' "${AKS_API_ACCESS}"
            ;;
        *)
            printf 'Set AKS_API_ACCESS to public or private.\n' >&2
            false
            ;;
    esac
    

    Spusťte každou novou relaci terminálu nastavením popisku nasazení a načtením jeho souboru prostředí:

    export FLEXNODE_DEPLOYMENT="flexnode-demo"
    export FLEXNODE_ENV_FILE="${HOME}/.config/aks-flexnode/${FLEXNODE_DEPLOYMENT}.env"
    test -s "${FLEXNODE_ENV_FILE}"
    source "${FLEXNODE_ENV_FILE}"
    install -d -m 0700 "${WORK_DIR:?Load the deployment environment first.}"
    

Ověření hodnot plánování

Ověřte vybranou podsíť AKS.

az network vnet subnet show \
    --resource-group "${AKS_VNET_RESOURCE_GROUP}" \
    --vnet-name "${AKS_VNET_NAME}" \
    --name "${AKS_SUBNET_NAME}" \
    --query "{AddressPrefix:addressPrefix,AddressPrefixes:addressPrefixes,ResourceId:id}" \
    --output json

Ověřte, že se vrácené ID prostředku a rozsah adres shodují s AKS_SUBNET_ID a AKS_SUBNET_CIDR.

Další krok

Dále připravte cluster AKS pro flexibilní uzly. V dalším článku se vytvoří veřejný nebo privátní cluster AKS a zaznamená se ID prostředku clusteru.