Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Important
AKS preview-functies zijn beschikbaar op selfservice, opt-in basis. Previews worden geleverd 'zoals het is' en 'voor zover beschikbaar' en zijn uitgesloten van de serviceovereenkomsten en beperkte garantie. AKS-previews worden gedeeltelijk gedekt door klantondersteuning naar best vermogen. Zodoende zijn deze functies niet bedoeld voor productiegebruik. Zie de volgende ondersteuningsartikelen voor meer informatie:
Flexknooppunten breiden een Azure Kubernetes Service (AKS)-cluster uit naar Linux-machines die u buiten de Azure beheerde knooppuntgroepen van het cluster beheert. Voordat u een flexknooppunt toevoegt, kiest u hoe de host wordt geverifieerd bij Azure, hoe deze de Kubernetes API-server bereikt en hoe netwerkverkeer tussen de AKS- en flexknooppuntomgevingen wordt verplaatst.
Dit artikel helpt u bij het nemen van deze beslissingen, het plannen van niet-overlapping van adresbereiken en het maken van een gedeeld omgevingsbestand voor de resterende implementatieartikelen.
Voordat u begint
- Bekijk het overzicht van flexknooppunten voor AKS.
- Bekijk identiteits- en toegangsconcepten voor flexknooppunten.
- Bekijk de netwerkconcepten voor flexknooppunten.
- Gebruik een linux-compatibele Bash-omgeving met de vereiste hulpprogramma's en netwerktoegang. Deze implementatieserie noemt die omgeving uw Bash-omgeving. De afzonderlijke computer waarmee het cluster wordt samengevoegd, is de flexknooppunthost.
- Installeer de Azure CLI. Voer
az --versionuit om te kijken welke versie is geïnstalleerd. Ga naar Azure CLI installeren om te installeren of upgraden. - Meld u aan bij Azure met een account dat het doelabonnement en de configuratie van het virtuele netwerk kan lezen.
- Bereid een bestaand virtueel Azure-netwerk en subnet voor de door Azure beheerde AKS-knooppunten voor. Het virtuele netwerk kan zich in een andere resourcegroep bevinden dan het AKS-cluster. Als dat het is, moet u ervoor zorgen dat de AKS-clusteridentiteit over de vereiste machtigingen voor het subnet beschikt.
De implementatiebeslissingen nemen
Plan de volgende beslissingen voordat u resources maakt of configureert.
| Besluit | Opties | Wat de beslissing bepaalt |
|---|---|---|
| Hostidentiteit | Beheerde identiteit, Azure Arc beheerde identiteit of service-principal | Hoe de flexknooppuntagent wordt geverifieerd bij Azure |
| Toegang tot AKS-API | Openbaar of privé AKS-cluster | Hoe uw Bash-omgeving en flexknooppunthosts de Kubernetes-API-server oplossen en bereiken |
| Flexknooppuntconnectiviteit | Layer 3-connectiviteit of een Unbounded-Net WireGuard-gateway | Hoe AKS-beheerde knooppunten, flexknooppunten, pods en Kubernetes-services communiceren |
Deze beslissingen hebben betrekking op verschillende onderdelen van de implementatie. Als u bijvoorbeeld een openbaar AKS-API-eindpunt selecteert, wordt er geen netwerkverbinding gemaakt tussen door AKS beheerde knooppunten en flexknooppunthosts.
De hostidentiteit kiezen
Gebruik de beslissingstabel in identiteits- en toegangsconcepten voor flexknooppunten om de Azure identiteit te kiezen die de flexknooppuntagent gebruikt.
De host-id autoriseert Azure bewerkingen. De netwerkverbinding of kubernetes bootstrapconfiguratie die de host nodig heeft om lid te worden van het cluster, wordt niet vervangen. Sla geen inloggegevens op in het gedeelde omgevingsbestand.
Openbare of persoonlijke AKS-API-toegang kiezen
De Kubernetes-API-server is het beheereindpunt voor het cluster. Uw Bash-omgeving en elke flexknooppunthost moeten dit eindpunt kunnen oplossen en er verbinding mee kunnen maken.
- Openbare AKS-API-toegang maakt gebruik van een beveiligd openbaar eindpunt. Kubernetes-verificatie en -autorisatie beheren nog steeds de toegang tot het cluster. Een openbaar API-eindpunt maakt de toepassingen die worden uitgevoerd in het cluster niet beschikbaar.
-
Privé-AKS-API-toegang maakt gebruik van een privé-eindpunt in het virtuele AKS-netwerk. Voer Azure CLI-
kubectlen clusterinstallatieopdrachten uit in uw Bash-omgeving, die moet worden uitgevoerd op een computer die is verbonden met dat privénetwerk. Het flexknooppuntnetwerk moet ook de privé-DNS-naam van het cluster kunnen oplossen en verkeer naar het privé-eindpunt kunnen routeren.
Flexknooppuntimplementaties ondersteunen zowel openbare als persoonlijke toegang tot de API-server. Voor het privépad zijn aanvullende DNS-, routerings- en opdrachtuitvoeringsconfiguratie vereist, die wordt uitgelicht waar het van toepassing is. Voor algemene AKS-richtlijnen raadpleegt u Netwerkbeheervlak plannen voor AKS, een privé-AKS-cluster maken en verbinding maken met een privé-AKS-cluster.
De connectiviteit van flexknooppunten kiezen
Deze implementatiereeks maakt het AKS-cluster zonder een ingebouwde netwerkinvoegtoepassing en installeert Unbounded-Net op zowel de door AKS beheerde knooppunten als flexknooppunten. Unbounded-Net podadresbereiken toewijst en routering configureert tussen de AKS- en flexknooppuntomgevingen. In dit artikel wordt die werkstroom beschreven. Voor andere CNI- of netwerkconfiguraties is mogelijk andere routering, firewall, DNS, gateway, beveiliging en levenscyclusconfiguratie vereist. Zie netwerkconcepten voor Flex-knooppunten voor een uitleg van het netwerkmodel in openbare preview.
U geeft de onderliggende netwerkverbinding tussen de AKS- en flexknooppuntomgevingen op. Connectiviteit op laag 3 betekent dat beide knooppuntnetwerken IP-pakketten al in beide richtingen naar elkaars knooppuntadressen kunnen routeren. Kies de methode die past bij uw bestaande netwerk:
| Verbindingsmethode | Wanneer gebruikt u het? |
|---|---|
| Peering op virtueel netwerk | De AKS-cluster- en flexknooppunthosts bevinden zich in Azure virtuele netwerken, waaronder virtuele netwerken in verschillende regio's. |
| VPN-toegangspoort | De flexknooppunthosts bevinden zich in een on-premises omgeving of een ander netwerk dat verbinding maakt met Azure via een versleuteld site-naar-site-VPN. |
| ExpressRoute | Uw organisatie maakt gebruik van een toegewezen privéverbinding tussen het netwerk en Azure. |
| Unbounded-Net WireGuard-gateway | De AKS- en flexknooppuntnetwerken hebben geen privéverbinding. U configureert en gebruikt de WireGuard-tunnels op een AKS-gatewayknooppuntgroep en deze gatewayknooppunten moeten openbaar toegankelijk zijn. Houd rekening met gatewaycapaciteit en beschikbaarheid, omdat podverkeer tussen omgevingen afhankelijk is van deze pool. Bekijk het openbare AKS-cluster met Unbounded-Net WireGuard-lab. |
In de stapsgewijze handleiding van Microsoft Learn wordt gebruikgemaakt van connectiviteit op laag 3 met Unbounded-Net.
| AKS-API | Flexknooppuntconnectiviteit | Richtlijnen |
|---|---|---|
| Public | Verbinding op netwerkniveau (laag 3) | Aanbevolen configuratie |
| Privé | Verbinding op netwerkniveau (laag 3) | Vereist aanvullende DNS-, routerings- en opdrachtuitvoeringsconfiguratie |
| Public | Openbare WireGuard-gateway | Alternatieve topologie; de AKSFlexNode-labs bekijken |
| Privé | Openbare WireGuard-gateway | Niet gedekt door deze documentatie |
Opmerking
Zie de AKSFlexNode-labs voor aanvullende topologievoorbeelden, waaronder voorbeelden die gebruikmaken van een openbare AKS-API-server met een WireGuard-gateway en een persoonlijke AKS API-server met door de klant beheerde netwerken. Deze labs vormen een aanvulling op de configuratie die in dit artikel wordt beschreven. Deze labs kunnen verschillende netwerkonderdelen gebruiken en verschillende operationele of ondersteuningsverantwoordelijkheden hebben. Voordat u een lab gebruikt, bekijkt u de vereisten, beperkingen, toepasselijke onderdeelversies en verantwoordelijkheden van de klant. Een GitHub lab breidt het ondersteuningsbereik dat wordt beschreven in Microsoft Learn niet uit.
Als u feedback wilt geven over een topologie die niet wordt weergegeven, opent u een probleem in de AKSFlexNode-opslagplaats. Neem de locatie van de flexknooppunthost, het AKS API-toegangsmodel, de voorgestelde connectiviteitsmethode, voorgestelde CNI en de netwerkpaden op die vereist zijn voor het scenario.
De vereiste netwerkverbinding plannen
Neem contact op met de netwerkbeheerder om ervoor te zorgen dat het netwerkontwerp de volgende connectiviteit biedt:
| Requirement | Waarom dit vereist is |
|---|---|
| Uw Bash-omgeving kan de AKS-API-server oplossen en bereiken. | U hebt deze verbinding nodig om het cluster te configureren en te beheren. |
| Elke flexknooppunthost kan de AKS-API-server oplossen en bereiken. | De flexknooppuntagent en kubelet gebruiken deze verbinding om het cluster te koppelen en te communiceren met het Kubernetes-besturingsvlak. |
| Door AKS beheerde knooppunten en flexknooppunthosts kunnen elkaars privé-IP-adressen bereiken. | Voor de meeste connectiviteitsmethoden gebruikt Unbounded-Net de knooppuntnetwerken als het onderliggende pad tussen de twee omgevingen. |
| Verkeer van pods en Kubernetes-services kan worden gerouteerd tussen door AKS beheerde knooppunten en flexknooppunten. | Workloads hebben communicatie tussen knooppunten, cluster-DNS en Kubernetes-servicetoegang nodig. |
| Het AKS-besturingsvlak kan verbinding maken met de kubelet op een flexknooppunt. | AKS gebruikt dit pad voor kubelet-bewerkingen, waaronder kubectl logs, kubectl execen kubectl port-forward. |
U configureert en beheert het externe hostnetwerk, waaronder routering, peering van virtuele netwerken, VPN- of ExpressRoute-verbindingen, regels voor firewall- en netwerkbeveiligingsgroepen, DNS, proxy-instellingen en de Unbounded-Net configuratie die in deze reeks wordt beschreven. Zie ondersteuningsbeleid voor flexknooppunten voor het volledige verantwoordelijkheidsmodel.
Toegang tot hostbeheer beperken tot goedgekeurde bronadressen. Voor een Azure-VM koppelt u een netwerkbeveiligingsgroep aan het hostsubnet of de netwerkinterface. Voor een host buiten Azure past u gelijkwaardige firewallbesturingselementen toe. Als u az vm create gebruikt om een Flex-nodehost te maken, controleer dan eventuele regels voor openbare IP-adressen en netwerkbeveiligingsgroepen die door de opdracht worden gemaakt. Tenzij u de SSH-regel beperkt, kunnen verbindingen met TCP-poort 22 vanuit elke openbare bron worden toegestaan.
De implementatiewaarden verzamelen
In de resterende artikelen worden de volgende waarden opnieuw gebruikt.
Algemene Azure-resourcewaarden
| Variable | Description | Wanneer deze wordt gebruikt |
|---|---|---|
SUBSCRIPTION_ID |
Abonnement met het AKS-cluster en gerelateerde Azure resources. | Elke implementatie |
RESOURCE_GROUP |
Resourcegroep die het AKS-cluster bevat. | Elke implementatie |
CLUSTER_NAME |
Naam van het AKS-cluster. | Elke implementatie |
FLEX_POOL_NAME |
Naam van de flexknooppuntgroep. Gebruik alleen letters en cijfers. | Elke implementatie |
AKS_API_ACCESS |
API-toegangsmodel voor het AKS-cluster. Stel de waarde in op public of private. |
Validatie van clustervoorbereiding en API-connectiviteit |
AKS_RESOURCE_ID |
Azure resource-id van het AKS-cluster. Azure geeft deze waarde op nadat het cluster bestaat. | Latere artikelen |
Waarden voor AKS-cluster en virtueel netwerk
| Variable | Description | Wanneer deze wordt gebruikt |
|---|---|---|
LOCATION |
Azure regio voor het AKS-cluster. Controleer of deze regio voldoet aan de regionale beschikbaarheidsvereiste . | Het AKS-cluster maken |
AKS_VNET_NAME |
Naam van het virtuele netwerk dat het AKS-subnet bevat. | Het AKS-subnet zoeken en valideren |
AKS_VNET_RESOURCE_GROUP |
Resourcegroep die het virtuele AKS-netwerk bevat. Het kan verschillen van RESOURCE_GROUP. |
Het AKS-subnet zoeken en valideren |
AKS_SUBNET_NAME |
Naam van het subnet dat door de Azure beheerde AKS-knooppunten wordt gebruikt. | Het AKS-subnet zoeken en valideren |
AKS_SUBNET_ID |
Azure resource-id van het AKS-subnet. | Het AKS-cluster maken |
AKS_NODE_VM_SIZE |
Azure VM-grootte voor de door Azure beheerde AKS-systeemknooppuntgroep. Deze waarde bepaalt niet de grootte van de host van het flexknooppunt. | Het AKS-cluster maken |
SERVICE_CIDR |
Adresbereik voor Kubernetes-services. | Het AKS-clusternetwerkprofiel configureren |
DNS_SERVICE_IP |
IP-adres voor de Kubernetes DNS-service. | Het AKS-clusternetwerkprofiel configureren |
Haal de resource-id en adresbereiken van het AKS-subnet op voordat u het omgevingsbestand maakt:
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
AKS- en Unbounded-Net-adreswaarden
U gebruikt SERVICE_CIDR en DNS_SERVICE_IP om het netwerkprofiel van het AKS-cluster te configureren. Configureer de CIDR's voor nodes en pods om de Unbounded-Net Sites in te stellen die in deze handleiding worden gebruikt.
Het AKS-knooppunt, de AKS-pod, het flexknooppunt, de flexpod en de Kubernetes-servicebereiken moeten voldoen aan het geselecteerde netwerkontwerp en mogen elkaar niet overlappen of een netwerk dat bereikbaar is via peering van virtuele netwerken, VPN of ExpressRoute. De uiteindelijke waarden coördineren met uw netwerkbeheerder.
Kopieer geen voorbeeld-CIDR's uit een andere implementatie. CIDR's identificeren routeerbare adresruimte, dus als u een voorbeeld gebruikt dat uw Azure of verbonden netwerken overlapt, kan verkeer ambigu zijn of voorkomen dat knooppunten en pods elkaar bereiken.
| Variable | Description | Wordt gebruikt door |
|---|---|---|
AKS_SUBNET_CIDR |
Adresbereik dat is toegewezen aan het subnet voor door Azure beheerde AKS-knooppunten. | validatie van Azure virtueel netwerk en AKS-subnet |
AKS_NODE_CIDR |
Het bereik van het Unbounded-Net Site-knooppunt dat het subnet van het AKS-knooppunt bevat. | Unbounded-Net primaire clustersite |
AKS_POD_CIDR |
Adresgroep voor pods op Azure beheerde AKS-knooppunten. | Unbounded-Net primaire clustersite |
FLEX_HOST_SUBNET_CIDR |
Adresbereik dat de flexknooppunthosts bevat. | Validatie van flexknooppunthostnetwerk |
FLEX_NODE_CIDR |
Unbounded-Net siteknooppuntbereik dat het subnet van de flexknooppunthost bevat. | Unbounded-Net site voor flexknooppunten |
FLEX_POD_CIDR |
Adresgroep voor pods op flexknooppunten. | Unbounded-Net site voor flexknooppunten |
SERVICE_CIDR |
Adresbereik voor Kubernetes-services. | AKS-clusternetwerkprofiel |
DNS_SERVICE_IP |
IP-adres voor de Kubernetes DNS-service. | AKS-clusternetwerkprofiel |
Pas de volgende regels toe op het adresplan:
-
AKS_SUBNET_CIDRmoet zijn opgenomen inAKS_NODE_CIDR. -
FLEX_HOST_SUBNET_CIDRmoet zijn opgenomen inFLEX_NODE_CIDR. -
DNS_SERVICE_IPmoet binnenSERVICE_CIDRzijn.
Deze acht waarden zijn geen acht afzonderlijke intervallen. Vijf zijn onafhankelijke bereiken die niet mogen overlappen, twee zijn subnetbereiken binnen het bereik van de bijbehorende Site-knoop en één is een afzonderlijk IP-adres binnen het servicebereik.
De volgende waarden voldoen aan elke regel in deze sectie. Behandel ze als illustratie van de relaties, niet als standaardwaarden. Bevestig uw eigen waarden voor uw Azure en verbonden netwerkadresruimte voordat u deze gebruikt.
| Variable | Example | Relationship |
|---|---|---|
AKS_NODE_CIDR |
10.10.0.0/16 |
Onafhankelijk bereik |
AKS_SUBNET_CIDR |
10.10.1.0/24 |
Ingesloten in AKS_NODE_CIDR |
AKS_POD_CIDR |
10.244.0.0/16 |
Onafhankelijk bereik |
FLEX_NODE_CIDR |
10.20.0.0/16 |
Onafhankelijk bereik |
FLEX_HOST_SUBNET_CIDR |
10.20.1.0/24 |
Ingesloten in FLEX_NODE_CIDR |
FLEX_POD_CIDR |
10.245.0.0/16 |
Onafhankelijk bereik |
SERVICE_CIDR |
10.96.0.0/16 |
Onafhankelijk bereik |
DNS_SERVICE_IP |
10.96.0.10 |
Binnen SERVICE_CIDR |
Bekijk de huidige adresruimten van het virtuele netwerk Azure:
az network vnet list \
--query "[].{ResourceGroup:resourceGroup,Name:name,AddressPrefixes:addressSpace.addressPrefixes}" \
--output table
Azure kan conflicten identificeren binnen de resources die het beheert, maar het kan geen adresbereiken valideren in elk verbonden on-premises-netwerk of extern netwerk.
Versiewaarden van onderdelen
Flexknooppunten vereisen compatibele versies van AKS, de Azure CLI-extensie, Unbounded-Net en de flexknooppuntagent. Gebruik de versies die in dit artikel worden vermeld en selecteer of upgrade deze onderdelen niet zelfstandig.
| Variable | Description |
|---|---|
AKS_VERSION |
Ondersteunde Kubernetes-versie voor het AKS-cluster. |
AKS_PREVIEW_VERSION |
aks-previewAzure CLI extensieversie 22.0.0b8 of hoger. |
UNBOUNDED_VERSION |
Ondersteunde Unbounded-Net versie. |
AKS_FLEX_NODE_VERSION |
Ondersteunde versie van flexknooppuntagent. |
Regionale beschikbaarheid
Flexknooppunten vereisen AKS-release v20260904 of hoger in de regio die als host fungeert voor uw cluster. AKS past deze op datum gebaseerde releases automatisch toe en ze staan los van de Kubernetes-versie die u hebt AKS_VERSIONingesteld.
Voordat u een cluster maakt of selecteert, opent u het tabblad AKS Release van de AKS-releasetracker, zoekt u uw regio en controleert u de versie onder Momenteel in werking. AKS-releaseversies maken gebruik van de vYYYYMMDD indeling. Als in uw regio een eerdere versie wordt weergegeven, wacht u totdat de release de regio bereikt of selecteert u, als uw implementatievereisten zijn toegestaan, een regio waar de vereiste versie beschikbaar is.
Lokale werkruimtewaarde
| Variable | Description |
|---|---|
WORK_DIR |
Map in uw Bash-omgeving waarin de overige artikelen downloads, gegenereerde bestanden en het kubeconfig-bestand van het cluster opslaan. De standaardwaarde is ~/.local/share/aksflexnode/<deployment-name>. Als u deze bestanden ergens anders wilt bewaren, zoals een tijdelijke map die u na de implementatie verwijdert, wijzigt u de WORK_DIR waarde in het omgevingsbestand. |
Het gedeelde omgevingsbestand maken
Maak één omgevingsbestand voor elke implementatie. Het bestand houdt de niet-geheime waarden consistent in de overige artikelen en terminalsessies.
Sla geen toegangstokens op, bootstrapgegevens, kubeconfig-inhoud, referenties van de service-principal, certificaten, persoonlijke sleutels van certificaten of persoonlijke SSH-sleutels in dit bestand.
Kies een kort implementatielabel en maak een beveiligde map voor het omgevingsbestand.
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}"Maak het omgevingsbestand.
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 fiMet de
set_flexnode_envhelper kunnen latere artikelen Azure gegenereerde waarden vastleggen zonder dubbele definities aan het bestand toe te voegen.Open
${FLEXNODE_ENV_FILE}in een editor en vervang elke waarde tussen punthaken. Laat de waarden onder Waarden die door latere artikelen zijn vastgelegd , leeg.Controleer of er geen tijdelijke aanduidingen blijven.
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' fiLaad het omgevingsbestand, maak de werkmap en stel het actieve Azure-abonnement in.
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 tableBevestig dat de geretourneerde abonnements-id overeenkomt met
SUBSCRIPTION_ID.Bevestig dat
AKS_API_ACCESSeen ondersteund pad identificeert: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 ;; esacStart elke nieuwe terminalsessie door het implementatielabel in te stellen en het omgevingsbestand ervan te laden:
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.}"
De planningswaarden valideren
Controleer het geselecteerde AKS-subnet.
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
Bevestig dat de geretourneerde resource-id en het adresbereik overeenkomen AKS_SUBNET_ID en AKS_SUBNET_CIDR.
Volgende stap
Maak vervolgens een AKS-cluster gereed voor flex-knooppunten. In het volgende artikel wordt het openbare of persoonlijke AKS-cluster gemaakt en wordt de clusterresource-id vastgelegd.