Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Important
AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "mevcut olduğu şekilde" sağlanmakta olup, hizmet seviyesi anlaşmalarına ve sınırlı garantilere dahil edilmemektedir. AKS önizlemeleri, müşteri desteği ekibi tarafından maksimum çaba gösterilerek kısmen ele alınmaktadır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:
Esnek düğümler, bir Azure Kubernetes Service (AKS) kümesini, kümenin Azure yönetilen düğüm havuzlarının dışında yönettiğiniz Linux makinelerine genişletir. Bir esnek düğüm eklemeden önce, konağın Azure’a nasıl kimlik doğrulayacağını, Kubernetes API sunucusuna nasıl erişeceğini ve ağ trafiğinin AKS ile esnek düğüm ortamları arasında nasıl hareket edeceğini belirleyin.
Bu makale, bu kararları vermenizi, eşleme olmayan adres aralıklarını planlamanıza ve kalan dağıtım makaleleri için paylaşılan bir ortam dosyası oluşturmanıza yardımcı olur.
Başlamadan önce
- AKS'ye genel bakış için esnek düğümleri gözden geçirin.
- Esnek düğümler için kimlik ve erişim kavramlarını gözden geçirin.
- Esnek düğümler için ağ kavramlarını gözden geçirin.
- Gerekli araçlara ve ağ erişimine sahip Linux uyumlu bir Bash ortamı kullanın. Bu dağıtım serisi, bu ortamdan Bash ortamınız diye söz eder. Kümeyi birleştiren ayrı makine esnek düğüm konağıdır.
- Azure CLI yükleyin. Yüklü sürümü bulmak için
az --versionkomutunu çalıştırın. Yüklemek veya yükseltmek için Install the Azure CLI bölümüne bakın. - Hedef aboneliği ve sanal ağ yapılandırmasını okuyabilen bir hesapla Azure oturum açın.
- Azure tarafından yönetilen AKS düğümleri için mevcut bir Azure sanal ağı ve alt ağı hazırlayın. Sanal ağ AKS kümesinden farklı bir kaynak grubunda olabilir. Bu durumda, AKS kümesi kimliğinin alt ağda gerekli izinlere sahip olduğundan emin olun.
Dağıtım kararlarını verme
Kaynakları oluşturmadan veya yapılandırmadan önce aşağıdaki kararları planlayın.
| Karar | Options | Karar neleri denetler? |
|---|---|---|
| Konak kimliği | Yönetilen kimlik, Azure Arc yönetilen kimlik veya hizmet sorumlusu | Esnek düğüm aracısı Azure'a nasıl kimlik doğrular |
| AKS API erişimi | Genel veya özel AKS kümesi | Bash ortamınızın ve flex node ana bilgisayarlarınızın Kubernetes API sunucusunu nasıl çözümleyip ona nasıl eriştiği |
| Flex düğüm bağlantısı | Katman 3 bağlantısı veya Unbounded-Net WireGuard ağ geçidi | AKS tarafından yönetilen düğümler, esnek düğümler, podlar ve Kubernetes hizmetleri nasıl iletişim kurar? |
Bu kararlar dağıtımın farklı bölümlerini ele alır. Örneğin, genel AKS API uç noktası seçildiğinde AKS tarafından yönetilen düğümler ile esnek düğüm konakları arasında ağ bağlantısı oluşturulmaz.
Konak kimliğini seçin
Esnek düğüm aracısının kullandığı Azure kimliğini seçmek için esnek düğümler için kimlik ve erişim kavramlarında karar tablosunu kullanın.
Konak kimliği, Azure işlemlerini yetkiler. Konağın kümeye katılması için gereken ağ bağlantısının veya Kubernetes bootstrap yapılandırmasının yerini almaz. Kimlik bilgilerini paylaşılan ortam dosyasında depolamayın.
Genel veya özel AKS API erişimini seçme
Kubernetes API sunucusu, kümenin yönetim uç noktasıdır. Bash ortamınız ve her esnek düğüm konağı bu uç noktayı çözümleyebilmeli ve bu uç noktaya bağlanabilmelidir.
- Genel AKS API erişimi güvenli bir genel uç nokta kullanır. Kubernetes kimlik doğrulaması ve yetkilendirmesi kümeye erişimi denetlemeye devam eder. Genel API uç noktası, kümede çalışan uygulamaları kullanıma sunmaz.
-
Özel AKS API erişimi, AKS sanal ağında özel bir uç nokta kullanır. Bash ortamınızda Azure CLI,
kubectlve küme kurulum komutlarını çalıştırın; bu komutlar bu özel ağa bağlı bir makinede çalıştırılmalıdır. Esnek düğüm ağının ayrıca kümenin özel DNS adını çözümleyebilmesi ve trafiği özel uç noktaya yönlendirebilmesi gerekir.
Esnek düğüm dağıtımları API sunucusuna hem genel hem de özel erişimi destekler. Özel yol, ek DNS, yönlendirme ve komut yürütme yapılandırması gerektirir; bunların gerekli olduğu yerler ilgili bölümlerde belirtilmiştir. Genel AKS kılavuzu için bkz. AKS için denetim düzlemi ağını planlama, Özel AKS kümesi oluşturma ve Özel AKS kümesine bağlanma.
Esnek düğüm bağlantısını seçin
Bu dağıtım serisi aks kümesini yerleşik bir ağ eklentisi olmadan oluşturur ve hem AKS tarafından yönetilen düğümlere hem de esnek düğümlere Unbounded-Net yükler. Unbounded-Net pod adres aralıkları atar ve AKS ile esnek düğüm ortamları arasında yönlendirmeyi yapılandırır. Bu makalede bu iş akışı açıklanmaktadır. Diğer CNI veya ağ yapılandırmaları farklı yönlendirme, güvenlik duvarı, DNS, ağ geçidi, güvenlik ve yaşam döngüsü yapılandırması gerektirebilir. Genel önizleme ağ modelinin açıklaması için bkz. Esnek düğümler için ağ kavramları.
AKS ile flex node ortamları arasındaki temel ağ bağlantısını sağlarsınız. Katman 3 bağlantısı, her iki düğüm ağının da IP paketlerini her iki yönde de birbirlerinin düğüm adreslerine yönlendirebileceği anlamına gelir. Mevcut ağınıza uygun yöntemi seçin:
| Bağlantı yöntemi | Ne zaman kullanılır? |
|---|---|
| Sanal ağ eşleme | AKS kümesi ve esnek düğüm konakları, farklı bölgelerdeki sanal ağlar da dahil olmak üzere Azure sanal ağlarda yer alır. |
| VPN Gateway | Esnek düğüm konakları, şirket içi bir ortamda veya şifreli bir siteden siteye VPN aracılığıyla Azure'a bağlanan başka bir ağda bulunur. |
| ExpressRoute | Kuruluşunuz ağıyla Azure arasında ayrılmış bir özel bağlantı kullanıyor. |
| Unbounded-Net WireGuard ağ geçidi | AKS ve esnek düğüm ağlarının özel yönlendirilmiş bağlantısı yoktur. WireGuard tünellerini bir AKS ağ geçidi düğüm havuzunda yapılandırıp çalıştırırsınız ve bu ağ geçidi düğümlerinin genel olarak erişilebilir olması gerekir. Ortamlar arası pod trafiği bu havuza bağlı olduğundan ağ geçidi kapasitesini ve kullanılabilirliğini planlayın. Unbounded-Net WireGuard laboratuvarıyla genel AKS kümesine bakın. |
Microsoft Learn kılavuzu, Sınırsız Ağ ile Katman 3 bağlantısını kullanır.
| AKS API | Flex düğüm bağlantısı | Rehberlik |
|---|---|---|
| Public | Katman 3 bağlantısı | Önerilen yapılandırma |
| Özel | Katman 3 bağlantısı | Ek DNS, yönlendirme ve komut yürütme yapılandırması gerektirir |
| Public | Ortak WireGuard ağ geçidi | Alternatif topoloji; bkz. AKSFlexNode laboratuvarları |
| Özel | Ortak WireGuard ağ geçidi | Bu belge kapsamında değildir |
Note
Ek topoloji örnekleri için, WireGuard ağ geçidine sahip genel AKS API sunucusu ve müşteri tarafından yönetilen ağ ile özel AKS API sunucusu kullanan örnekler de dahil olmak üzere AKSFlexNode laboratuvarlarına bakın. Bu laboratuvarlar, bu makalede belgelenen yapılandırmayı tamamlar. Bu laboratuvarlar farklı ağ bileşenleri kullanabilir ve farklı işletim veya destek sorumluluklarına sahip olabilir. Laboratuvarı kullanmadan önce önkoşullarını, sınırlamalarını, geçerli bileşen sürümlerini ve müşteri sorumluluklarını gözden geçirin. GitHub laboratuvarı, Microsoft Learn'de belgelenen destek kapsamını genişletmez.
Temsil edilmeen bir topoloji hakkında geri bildirim sağlamak için AKSFlexNode deposunda bir sorun açın. Esnek düğüm konak konumunu, AKS API erişim modelini, önerilen bağlantı yöntemini, önerilen CNI'yi ve senaryonun gerektirdiği ağ yollarını ekleyin.
Gerekli ağ bağlantısını planlama
Ağ tasarımının aşağıdaki bağlantıyı sağladığından emin olmak için ağ yöneticinizle birlikte çalışın:
| Requirement | Neden gereklidir? |
|---|---|
| Bash ortamınız çözümlenebilir ve AKS API sunucusuna ulaşabilir. | Kümeyi yapılandırmak ve yönetmek için bu bağlantıya ihtiyacınız vardır. |
| Her esnek düğüm ana bilgisayarı, AKS API sunucusunu çözümleyebilir ve ona erişebilir. | Esnek düğüm aracısı ve kubelet, kümeye katılmak ve Kubernetes denetim düzlemi ile iletişim kurmak için bu bağlantıyı kullanır. |
| AKS tarafından yönetilen düğümler ile esnek düğüm ana bilgisayarları birbirlerinin özel IP adreslerine erişebilir. | çoğu bağlantı yöntemi için Unbounded-Net iki ortam arasındaki temel yol olarak düğüm ağlarını kullanır. |
| Pod ve Kubernetes hizmet trafiği AKS tarafından yönetilen düğümler ile esnek düğümler arasında yönlendirme yapabilir. | İş yükleri için düğümler arası iletişim, küme DNS'i ve Kubernetes hizmeti erişimi gerekir. |
| AKS kontrol düzlemi, bir flex düğümündeki kubelet'e bağlanabilir. | AKS, , kubectl execve kubectl port-forwardgibi kubectl logskubelet işlemleri için bu yolu kullanır. |
Yönlendirme, sanal ağ eşlemesi, VPN veya ExpressRoute bağlantıları, güvenlik duvarı ve ağ güvenlik grubu kuralları, DNS, ara sunucu ayarları ve bu seride belgelenen Unbounded-Net yapılandırması gibi dış ana bilgisayar ağını yapılandırıp çalıştırırsınız. Tam sorumluluk modeli için esnek düğümler için destek ilkesine bakın.
Ana bilgisayar yönetimi erişimini yalnızca onaylanmış kaynak adresleriyle kısıtlayın. Azure VM için bir ağ güvenlik grubunu konak alt ağı veya ağ arabirimiyle ilişkilendirin. Azure dışındaki bir konak için eşdeğer güvenlik duvarı denetimleri uygulayın. Bir esnek düğüm ana bilgisayarı oluşturmak için az vm create kullanıyorsanız komutun oluşturduğu genel IP adreslerini ve ağ güvenlik grubu kurallarını gözden geçirin. SSH kuralını kısıtlamadığınız sürece, herhangi bir genel kaynaktan 22 numaralı TCP bağlantı noktasına bağlantılara izin verebilir.
Dağıtım değerlerini toplama
Kalan makalelerde aşağıdaki değerler yeniden kullanılır.
Yaygın Azure kaynak değerleri
| Variable | Description | Kullanıldığında |
|---|---|---|
SUBSCRIPTION_ID |
AKS kümesini ve ilgili Azure kaynaklarını içeren abonelik. | Her dağıtımda |
RESOURCE_GROUP |
AKS kümesini içeren kaynak grubu. | Her dağıtımda |
CLUSTER_NAME |
AKS kümesinin adı. | Her dağıtımda |
FLEX_POOL_NAME |
Esnek düğüm havuzunun adı. Yalnızca harfleri ve basamakları kullanın. | Her dağıtımda |
AKS_API_ACCESS |
AKS kümesi için API erişim modeli. Değeri private veya public olarak ayarlayın. |
Küme hazırlığı ve API bağlantısı doğrulaması |
AKS_RESOURCE_ID |
AKS kümesinin Azure kaynak kimliği. Azure, küme mevcut olduktan sonra bu değeri sağlar. | Sonraki makaleler |
AKS kümesi ve sanal ağ değerleri
| Variable | Description | Kullanıldığında |
|---|---|---|
LOCATION |
AKS kümesi için Azure bölgesi. Bu bölgenin bölgesel kullanılabilirlik gereksinimini karşıladığını onaylayın. | AKS kümesini oluşturma |
AKS_VNET_NAME |
AKS alt ağını içeren sanal ağın adı. | AKS alt ağını bulma ve doğrulama |
AKS_VNET_RESOURCE_GROUP |
AKS sanal ağını içeren kaynak grubu. 'den RESOURCE_GROUPfarklı olabilir. |
AKS alt ağını bulma ve doğrulama |
AKS_SUBNET_NAME |
Azure tarafından yönetilen AKS düğümleri tarafından kullanılan alt ağın adı. | AKS alt ağını bulma ve doğrulama |
AKS_SUBNET_ID |
AKS alt ağının Azure kaynak kimliği. | AKS kümesini oluşturma |
AKS_NODE_VM_SIZE |
Azure tarafından yönetilen AKS sistem düğümü havuzu için Azure VM boyutu. Bu değer esnek düğüm ana bilgisayarını boyutlandırmaz. | AKS kümesini oluşturma |
SERVICE_CIDR |
Kubernetes hizmetleri için adres aralığı. | AKS kümesi ağ profilini yapılandırma |
DNS_SERVICE_IP |
Kubernetes DNS hizmetinin IP adresi. | AKS kümesi ağ profilini yapılandırma |
Ortam dosyasını oluşturmadan önce AKS alt ağı kaynak kimliğini ve adres aralıklarını alın:
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 ve Unbounded-Net adres değerleri
AKS kümesinin ağ profilini yapılandırmak için DNS_SERVICE_IP ve SERVICE_CIDR kullanırsınız. Bu kılavuzda kullanılan Unbounded-Net sitelerini kurmak için düğüm ve pod CIDR'lerini yapılandırın.
AKS düğümü, AKS podu, esnek düğüm, esnek pod ve Kubernetes hizmet aralıkları seçilen ağ tasarımını izlemeli ve sanal ağ eşlemesi, VPN veya ExpressRoute aracılığıyla erişilebilen ağlarla çakışmamalıdır. Son değerleri ağ yöneticinizle koordine edin.
Örnek CIDR'leri başka bir dağıtımdan kopyalamayın. CIDR'ler yönlendirilebilir adres alanını tanımlar; bu nedenle Azure ağınızla veya bağlı ağlarınızla çakışan örnek bir CIDR aralığının yeniden kullanılması, trafiğin belirsizleşmesine yol açabilir ya da düğümlerin ve pod'ların birbirine ulaşmasını engelleyebilir.
| Variable | Description | Kullanıcı tarafından kullanılmaktadır |
|---|---|---|
AKS_SUBNET_CIDR |
Azure yönetilen AKS düğümleri için alt ağa atanan adres aralığı. | Azure sanal ağı ve AKS alt ağı doğrulaması |
AKS_NODE_CIDR |
AKS düğüm alt ağını içeren Unbounded-Net Site düğüm aralığı. | Unbounded-Net birincil küme Site |
AKS_POD_CIDR |
Azure yönetilen AKS düğümlerindeki podlar için adres havuzu. | Unbounded-Net birincil küme Site |
FLEX_HOST_SUBNET_CIDR |
Esnek düğüm ana bilgisayarlarını barındıran adres aralığı. | Flex düğüm ana makine ağı doğrulaması |
FLEX_NODE_CIDR |
Unbounded-Net esnek düğüm ana bilgisayar alt ağını içeren Site düğüm aralığı. | Esnek düğümler için Unbounded-Net Sitesi |
FLEX_POD_CIDR |
Esnek düğümlerdeki podlar için adres havuzu. | Esnek düğümler için Unbounded-Net Sitesi |
SERVICE_CIDR |
Kubernetes hizmetleri için adres aralığı. | AKS kümesi ağ profili |
DNS_SERVICE_IP |
Kubernetes DNS hizmetinin IP adresi. | AKS kümesi ağ profili |
Adres planına aşağıdaki kuralları uygulayın:
-
AKS_SUBNET_CIDRiçindeAKS_NODE_CIDRbulunmalıdır. -
FLEX_HOST_SUBNET_CIDRiçindeFLEX_NODE_CIDRbulunmalıdır. -
DNS_SERVICE_IP,SERVICE_CIDRiçinde olmalıdır.
Bu sekiz değer sekiz ayrı aralık değildir. Beş, çakışmaması gereken bağımsız aralıklardır, ikisi karşılık gelen Site düğümü aralığında yer alan alt ağ aralıklarıdır ve biri hizmet aralığının içindeki tek bir IP adresidir.
Aşağıdaki değerler bu bölümdeki her kuralı karşılar. Bunları varsayılanlar olarak değil, ilişkilerin bir gösterimi olarak değerlendirin. Kullanmadan önce Azure ve bağlı ağ adres alanınızda kendi değerlerinizi onaylayın.
| Variable | Example | Relationship |
|---|---|---|
AKS_NODE_CIDR |
10.10.0.0/16 |
Bağımsız aralık |
AKS_SUBNET_CIDR |
10.10.1.0/24 |
İçinde bulunan AKS_NODE_CIDR |
AKS_POD_CIDR |
10.244.0.0/16 |
Bağımsız aralık |
FLEX_NODE_CIDR |
10.20.0.0/16 |
Bağımsız aralık |
FLEX_HOST_SUBNET_CIDR |
10.20.1.0/24 |
İçinde bulunan FLEX_NODE_CIDR |
FLEX_POD_CIDR |
10.245.0.0/16 |
Bağımsız aralık |
SERVICE_CIDR |
10.96.0.0/16 |
Bağımsız aralık |
DNS_SERVICE_IP |
10.96.0.10 |
Içinde SERVICE_CIDR |
Geçerli Azure sanal ağ adres alanlarını gözden geçirin:
az network vnet list \
--query "[].{ResourceGroup:resourceGroup,Name:name,AddressPrefixes:addressSpace.addressPrefixes}" \
--output table
Azure yönettiği kaynaklar içindeki çakışmaları tanımlayabilir, ancak bağlı her şirket içi veya dış ağdaki adres aralıklarını doğrulayamaz.
Bileşen sürümü değerleri
Esnek düğümler, AKS'nin uyumlu sürümlerini, Azure CLI uzantısını, Unbounded-Net'i ve esnek düğüm aracısını gerektirir. Bu makalede listelenen sürümleri kullanın ve bu bileşenleri bağımsız olarak seçmeyin veya yükseltmeyin.
| Variable | Description |
|---|---|
AKS_VERSION |
AKS kümesi için desteklenen Kubernetes sürümü. |
AKS_PREVIEW_VERSION |
aks-preview Azure CLI uzantısı sürümü 22.0.0b8 veya üzeri. |
UNBOUNDED_VERSION |
Desteklenen Unbounded-Net sürümü. |
AKS_FLEX_NODE_VERSION |
Desteklenen Flex düğüm aracısı sürümü. |
Bölgesel erişilebilirlik
Esnek düğümler, kümenizin barındırıldığı bölgede AKS sürümü v20260904 veya sonraki bir sürüm gerektirir. AKS bu tarih tabanlı sürümleri otomatik olarak uygular ve içinde ayarladığınız AKS_VERSIONKubernetes sürümünden ayrıdır.
Bir küme oluşturmadan veya seçmeden önce AKS yayınizleyicisinin AKS Yayın sekmesini açın, bölgenizi bulun ve Şu anda İşlemde'nin altındaki sürümü denetleyin. AKS sürüm sürümleri biçimini vYYYYMMDD kullanır. Bölgeniz önceki bir sürümü gösteriyorsa, sürümün bölgeye ulaşmasını bekleyin veya dağıtım gereksinimleriniz izin verirse, gerekli sürümün kullanılabildiği bir bölge seçin.
Yerel çalışma alanı değeri
| Variable | Description |
|---|---|
WORK_DIR |
Bash ortamınızda, kalan makalelerin indirmeleri, oluşturulan dosyaları ve küme kubeconfig dosyasını depoladığı dizin.
~/.local/share/aksflexnode/<deployment-name> varsayılan değerdir. Bu dosyaları dağıtımdan sonra kaldırdığınız geçici dizin gibi başka bir yerde tutmak için ortam dosyasındaki değeri değiştirin WORK_DIR . |
Paylaşılan ortam dosyasını oluşturma
Her dağıtım için bir ortam dosyası oluşturun. Dosya, gizli olmayan değerlerin diğer makaleler ve terminal oturumları genelinde tutarlı kalmasını sağlar.
Bu dosyada erişim belirteçlerini, önyükleme verilerini, kubeconfig içeriğini, hizmet sorumlusu kimlik bilgilerini, sertifikaları, sertifika özel anahtarlarını veya SSH özel anahtarlarını depolamayın.
Kısa bir dağıtım etiketi seçin ve ortam dosyası için korumalı bir dizin oluşturun.
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}"Ortam dosyasını oluşturun.
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 fiset_flexnode_envyardımcısı, sonraki makalelerin dosyaya yinelenen tanımlar eklemeden Azure tarafından oluşturulan değerleri kaydetmesine olanak tanır.${FLEXNODE_ENV_FILE}öğesini bir düzenleyicide açın ve açılı ayraçlar içine alınmış her değeri değiştirin. Sonraki makaleler tarafından kaydedilen değerler'in altındaki değerleri boş bırakın.Yer tutucu kalmadığını kontrol edin.
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' fiOrtam dosyasını yükleyin, çalışma dizinini oluşturun ve etkin Azure aboneliğini ayarlayın.
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 tableDöndürülen abonelik kimliğinin
SUBSCRIPTION_IDile eşleştiğini onaylayın.AKS_API_ACCESSöğesinin desteklenen bir yolu tanımladığını doğrulayın: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 ;; esacDağıtım etiketini ayarlayarak ve ortam dosyasını yükleyerek her yeni terminal oturumunu başlatın:
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.}"
Planlama değerlerini doğrulama
Seçili AKS alt ağını doğrulayın.
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
Döndürülen kaynak kimliğinin ve adres aralığının AKS_SUBNET_CIDR ve AKS_SUBNET_ID ile eşleştiğini doğrulayın.
Sonraki adım
Ardından, esnek düğümler için bir AKS kümesi hazırlayın. Sonraki makale, genel veya özel AKS kümesini oluşturur ve küme kaynak kimliğini kaydeder.