Azure Kubernetes Service (AKS)'de API Sunucusu Sanal Ağ Entegrasyonunu Kullanma

Şunlar için geçerlidir: ✔️ AKS Otomatik ✔️ AKS Standart

Azure Kubernetes Service (AKS) API Sunucusu Sanal Ağ Tümleştirmesi ile yapılandırılmış bir AKS kümesi, API sunucusu uç noktasını doğrudan AKS'nin dağıtıldığı sanal ağdaki atanmış alt ağa yerleştirir. API Server Sanal Ağ Tümleştirmesi, özel bağlantı veya tünel gerektirmeden API sunucusu ile küme düğümleri arasında ağ iletişimi sağlar. API sunucusu, düğümlerin kullanmak üzere yapılandırıldığı temsilci alt ağındaki bir iç yük dengeleyici VIP'sinin arkasında kullanılabilir. API Server Sanal Ağ Tümleştirmesi'ni kullanarak API sunucunuzla düğüm havuzlarınız arasındaki ağ trafiğinin yalnızca özel ağda kaldığından emin olabilirsiniz.

Çoğu üretim iş yükü için AKS Otomatik, önerilen varsayılan AKS deneyimidir. AKS Otomatik varsayılan olarak üretime hazırdır ve API Server Sanal Ağ Tümleştirmesi'ni önceden yapılandırılmış bir küme güvenlik özelliği olarak içerir. AKS Standard'da API Server Sanal Ağ Tümleştirmesi isteğe bağlıdır ve küme oluşturma sırasında veya mevcut bir kümeyi güncelleştirerek bunu etkinleştirirsiniz.

AKS Automatic hakkında daha fazla bilgi edinmek için bkz. Azure Kubernetes Service (AKS) Automatic nedir?

AKS Otomatik ve AKS Standard'da API Sunucusu VNet Tümleştirmesi

API Server Sanal Ağ Tümleştirmesi her iki AKS kümesi modunda da kullanılabilir, ancak kurulum farklıdır:

  • AKS Otomatik: API Server Sanal Ağ Tümleştirmesi önceden yapılandırılmış.
  • AKS Standard: API Server Sanal Ağ Tümleştirmesi isteğe bağlıdır ve açıkça etkinleştirilmesi gerekir.

Çoğu üretim senaryosunda, üretime hazır varsayılanları kullanmak ve operasyonel ek yükü azaltmak için AKS Otomatik ile başlayın.

API sunucusu bağlantısı

Denetim düzlemi veya API sunucusu AKS tarafından yönetilen bir Azure aboneliğindedir. Kümeniz veya düğüm havuzunuz Azure aboneliğinizdedir. Sunucu ve küme düğümlerini oluşturan sanal makineler, atanmış alt ağa yansıtılan API sunucusu VIP'si ve pod IP'leri aracılığıyla birbirleriyle iletişim kurabilir.

API Server Sanal Ağ Tümleştirmesi genel veya özel kümeler için desteklenir. Küme sağlamadan sonra genel erişim ekleyebilir veya kaldırabilirsiniz. Sanal ağ ile tümleşik olmayan kümelerden farklı olarak aracı düğümleri, DNS kullanmadan her zaman API sunucusu iç yük dengeleyici (ILB) IP'sinin özel IP adresiyle doğrudan iletişim kurar. TÜM düğümden API sunucusuna trafiği özel ağ üzerinde tutulur ve API sunucusundan düğüme bağlantı için tünel gerekmez. API sunucusuyla iletişim kurması gereken küme dışı istemciler, genel ağ erişimi etkinleştirildiğinde bunu normal şekilde yapabilir. Genel ağ erişimi devre dışı bırakılırsa, standart özel kümelerle aynı özel DNS kurulum yöntemini izlemeniz gerekir.

Önkoşullar

  • Azure CLI sürüm 2.73.0 veya üzeri yüklü olmalıdır. komutunu kullanarak az --version sürümünüzü de kontrol edebilirsiniz.
  • Kendi sanal ağınızı getirirseniz sanal ağ önkoşullarını gözden geçirin.

Sınırlamalar

AKS Otomatik'te önceden yapılandırılmış veya AKS Standard'da açıkça etkinleştirilmiş olsun, API Server Sanal Ağ Tümleştirmesi için aşağıdaki sınırlamalar geçerlidir:

  • API Server Sanal Ağ Tümleştirmesi Sanal Ağ Şifrelemeyi desteklemez. VNet Şifrelemesini desteklemeyen v3 veya önceki AKS düğüm SKU'ları üzerinde dağıtılan kümelere izin verilir, ancak trafik şifrelenmez. API Sunucusu VNet Tümleştirmesi ile uyumsuz olduğundan, VNet Şifrelemesini destekleyen v4 veya sonraki AKS düğümü SKU'larında dağıtılan kümeler engellenir. Daha fazla bilgi için bkz. AKS tarafından desteklenen VM SKU'ları.
  • Çift yığınlı ağı kullanmak için kümenizin Kubernetes sürüm 1.26.3 veya üzeri, ağ eklentisi azure ve ağ eklentisi modu overlaygerekir. Daha fazla bilgi için bkz. çift yığınlı ağ ile Azure CNI kümesi.

Availability

  • API Sunucusu Sanal Ağ Tümleştirmesi, Qatar Merkezli dışındaki GA genel bulut bölgelerinin tümünde kullanılabilir.

API Server VNet Tümleştirmesiyle küme oluşturun

AKS Otomatik'te API Server Sanal Ağ Tümleştirmesi önceden yapılandırılmıştır. Açık --enable-apiserver-vnet-integration bayrak gerekmez.

Hızlı başlangıç kılavuzunu izleyerek bir AKS Otomatik kümesi oluşturun:

AKS Standard: yönetilen sanal ağ

API Server VNet tümleştirmesine sahip AKS Standard kümelerini, yönetilen VNet modunda genel ya da özel küme olarak yapılandırabilirsiniz.

Uyarı

API Server VNet Entegrasyonu qatarcentral bölgesinde kullanılamaz.

Bir kaynak grubu oluşturun

az group create komutunu kullanarak bir kaynak grubu oluşturun.

az group create --location <location> --name <resource-group>

Herkese açık bir küme dağıtın

Yönetilen sanal ağ için API Sunucusu VNet tümleştirmesine sahip genel bir AKS Standard kümesini, az aks create komutunu --enable-apiserver-vnet-integration bayrağıyla kullanarak dağıtın.

az aks create --name <cluster-name> \
    --resource-group <resource-group> \
    --location <location> \
    --network-plugin azure \
    --enable-apiserver-vnet-integration \
    --generate-ssh-keys

Özel bir küme dağıtın

az aks create komutunu --enable-apiserver-vnet-integration ve --enable-private-cluster bayraklarıyla kullanarak, yönetilen VNet için API Server VNet tümleştirmesine sahip özel bir AKS Standard kümesi dağıtın.

az aks create --name <cluster-name> \
    --resource-group <resource-group> \
    --location <location> \
    --network-plugin azure \
    --enable-private-cluster \
    --enable-apiserver-vnet-integration \
    --generate-ssh-keys

AKS Standard: Kendi sanal ağınızı getirin

Kendi VNet'inizi kullandığınızda, Microsoft.ContainerService/managedClusters için bir API sunucusu alt ağı oluşturmalı ve bu alt ağı devretmelisiniz. Bu temsilci, AKS hizmetine API sunucusu podlarını ve iç yük dengeleyiciyi bu alt ağa ekleme izni verir. Alt ağı diğer iş yükleri için kullanamazsınız, ancak aynı sanal ağda bulunan birden çok AKS kümesi için kullanabilirsiniz. Desteklenen en düşük API sunucusu alt ağ boyutudur /28.

Küme kimliğinin hem API sunucusu alt ağı hem de düğüm alt ağı için izinlere ihtiyacı vardır. API sunucusu alt ağındaki izin eksikliği sağlama başarısızlığına neden olabilir.

Uyarı

AKS kümesi alt ağ adres alanında en az dokuz IP ayırır. IP adreslerinin bitmesi API sunucusu ölçeklendirmesini engelleyebilir ve API sunucusu kesintisine neden olabilir.

Uyarı

API Server VNet Entegrasyonu qatarcentral bölgesinde kullanılamaz.

Bir kaynak grubu oluşturun

az group create komutunu kullanarak bir kaynak grubu oluşturun.

az group create --location <location> --name <resource-group>

Sanal ağ oluşturma

  1. komutunu kullanarak az network vnet create bir sanal ağ oluşturun.

    az network vnet create --name <vnet-name> \
    --resource-group <resource-group> \
    --location <location> \
    --address-prefixes 172.19.0.0/16
    
  2. komutunu kullanarak az network vnet subnet create bir API sunucusu alt ağı oluşturun.

    az network vnet subnet create --resource-group <resource-group> \
    --vnet-name <vnet-name> \
    --name <apiserver-subnet-name> \
    --delegations Microsoft.ContainerService/managedClusters \
    --address-prefixes 172.19.0.0/28
    
  3. komutunu kullanarak az network vnet subnet create bir küme alt ağı oluşturun.

    az network vnet subnet create --resource-group <resource-group> \
    --vnet-name <vnet-name> \
    --name <cluster-subnet-name> \
    --address-prefixes 172.19.1.0/24
    

Yönetilen bir kimlik oluşturun ve sanal ağ üzerinde izinler verin

  1. komutunu kullanarak az identity create yönetilen kimlik oluşturun.

    az identity create --resource-group <resource-group> --name <managed-identity-name> --location <location>
    
  2. komutunu kullanarak API sunucusu alt ağına Ağ Katkıda Bulunanı rolünü atayın az role assignment create .

    az role assignment create --scope <apiserver-subnet-resource-id> \
    --role "Network Contributor" \
    --assignee <managed-identity-client-id>
    
  3. komutunu kullanarak küme alt ağına Ağ Katkıda Bulunanı rolünü atayın az role assignment create .

    az role assignment create --scope <cluster-subnet-resource-id> \
    --role "Network Contributor" \
    --assignee <managed-identity-client-id>
    

Herkese açık bir küme dağıtın

API Server sanal ağ tümleştirmesi için az aks create komutunu ve --enable-apiserver-vnet-integration bayrağını kullanarak herkese açık bir AKS kümesi kurun.

az aks create --name <cluster-name> \
    --resource-group <resource-group> \
    --location <location> \
    --network-plugin azure \
    --enable-apiserver-vnet-integration \
    --vnet-subnet-id <cluster-subnet-resource-id> \
    --apiserver-subnet-id <apiserver-subnet-resource-id> \
    --assign-identity <managed-identity-resource-id> \
    --generate-ssh-keys

Özel bir küme dağıtın

Özel bir AKS kümesi dağıtmak için API Sunucusu VNet tümleştirmesiyle birlikte az aks create komutunu, --enable-apiserver-vnet-integration ve --enable-private-cluster bayraklarıyla kullanın.

az aks create --name <cluster-name> \
    --resource-group <resource-group> \
    --location <location> \
    --network-plugin azure \
    --enable-private-cluster \
    --enable-apiserver-vnet-integration \
    --vnet-subnet-id <cluster-subnet-resource-id> \
    --apiserver-subnet-id <apiserver-subnet-resource-id> \
    --assign-identity <managed-identity-resource-id> \
    --generate-ssh-keys

Mevcut AKS Standart kümesini API Server Sanal Ağ Tümleştirmesine dönüştürme

Uyarı

API Server Sanal Ağ Tümleştirmesi tek yönlü, kapasiteye duyarlı bir özelliktir. Var olan bir AKS Standart kümesinde API Server Sanal Ağ Tümleştirmesini etkinleştirdiğinizde aşağıdaki sınırlamalar geçerlidir:

  • Elle yeniden başlatma gerekir: API Sunucusu Sanal Ağ Tümleştirmesini az aks update --enable-apiserver-vnet-integration kullanarak etkinleştirdikten sonra, denetim düzlemi kaynaklarının geçişi nedeniyle değişikliğin etkili olması için kümeyi hemen yeniden başlatmanız gerekir. Bu yeniden başlatma otomatik değildir. Yeniden başlatmanın gecikmesi kapasitenin kullanılamaz duruma gelmesi riskini artırır ve bu da API sunucusunun başlatılmasını engelleyebilir. Kümenin yeniden başlatılması, tüm düğümlerin yeni API sunucusu uç noktasına güvenilir bir şekilde yeniden bağlanmasını da sağlar.
  • Kapasite doğrulanır, ancak ayrılmaz: Mevcut bir kümede özelliği etkinleştirdiğinizde AKS bölgesel kapasiteyi doğrular, ancak bu doğrulama kapasiteyi ayırmaz. Yeniden başlatmayı geciktirirseniz ve kapasite bu sırada kullanılamaz hale gelirse, küme bir durdurma veya yeniden başlatmadan sonra başlatılamayabilir. Bu özelliği genel kullanılabilirlik (GA) öncesinde etkinleştiren veya etkinleştirmeden bu yana henüz yeniden başlatılmamış kümeler kapasite doğrulamasından geçmez.
  • Özellik devre dışı bırakılamaz: Özellik etkinleştirildikten sonra kalıcı olur. API Sunucusu VNet Entegrasyonunu devre dışı bırakamazsınız.

Bu yükseltme, tüm düğüm havuzlarında düğüm görüntüsü sürümü yükseltmesi gerçekleştirir ve sıralı görüntü yükseltmesi yapılırken tüm iş yüklerini yeniden başlatır.

Uyarı

Kümenin API Server Sanal Ağ Tümleştirmesine dönüştürülmesi API Server IP adresinin değişmesine neden olur, ancak ana bilgisayar adı aynı kalır. Herhangi bir güvenlik duvarında veya ağ güvenlik grubu kurallarında API sunucusunun IP adresini yapılandırıyorsanız, bu kuralları güncelleştirmeniz gerekebilir.

  1. az aks update komutunu, --enable-apiserver-vnet-integration bayrağıyla kullanarak kümenizi API Sunucusu VNet Entegrasyonuna güncelleyin.

    az aks update --name <cluster-name> \
        --resource-group <resource-group> \
        --enable-apiserver-vnet-integration \
        --apiserver-subnet-id <apiserver-subnet-resource-id>
    
  2. [][az-aks-stop] ve [az aks stopaz aks start][az-aks-start] komutlarını kullanarak kümenizi yeniden başlatın.

    az aks stop --name <cluster-name> --resource-group <resource-group>
    az aks start --name <cluster-name> --resource-group <resource-group>
    

API Server Sanal Ağ Tümleştirmesi ile var olan bir kümede özel küme modunu etkinleştirme veya devre dışı bırakma

API Server Sanal Ağ Tümleştirmesi ile yapılandırılan AKS kümelerinde küme yeniden dağıtılmadan genel ağ erişimi/özel küme modu etkinleştirilebilir veya devre dışı bırakılabilir. API sunucusu ana bilgisayar adı değişmez, ancak gerekirse genel DNS girişleri değiştirilir veya kaldırılır.

Uyarı

--disable-private-cluster şu anda önizleme aşamasındadır. Daha fazla bilgi için bkz . Başvuru ve destek düzeyleri.

Özel küme modunu etkinleştirme

bayrağıyla az aks update--enable-private-cluster komutunu kullanarak özel küme modunu etkinleştirin.

az aks update --name <cluster-name> \
    --resource-group <resource-group> \
    --enable-private-cluster \
    --enable-apiserver-vnet-integration \
    --apiserver-subnet-id <apiserver-subnet-resource-id>

Özel küme modunu devre dışı bırakma

az aks update komutunu, --disable-private-cluster bayrağıyla kullanarak özel küme modunu devre dışı bırakın.

az aks update --name <cluster-name> \
    --resource-group <resource-group> \
    --disable-private-cluster

kubectl istemcisini kullanarak kümeye bağlanma

kubectl, az aks get-credentials komutunu kullanarak kümenize bağlanacak şekilde yapılandırın.

az aks get-credentials --resource-group <resource-group> --name <cluster-name>

Azure Özel Bağlantı kullanarak API Sunucusu VNet Entegrasyonu ile özel bir kümeye ait API sunucusunun uç noktasını kullanıma sunabilirsiniz. Aşağıdaki adımlarda, küme sanal ağından bir Özel Bağlantı Hizmeti (PLS) oluşturma ve özel uç nokta kullanarak başka bir sanal ağdan veya abonelikten bu hizmete bağlanma adımları gösterilmektedir.

Uyarı

API Server VNet Entegrasyonu qatarcentral bölgesinde kullanılamaz.

API Server VNet Tümleştirmesi için Özel Küme Oluşturma

Özel bir AKS kümesini, API Sunucu Sanal Ağ Entegrasyonu ile az aks create komutunu, --enable-apiserver-vnet-integration ve --enable-private-cluster bayraklarıyla kullanarak oluşturun.

az aks create --name <cluster-name> \
    --resource-group <resource-group> \
    --location <location> \
    --enable-private-cluster \
    --enable-apiserver-vnet-integration

API Server Sanal Ağ Tümleştirmesi ile Özel Bağlantı ayarlama hakkında daha fazla kılavuz için Özel Bağlantı ve API Server Sanal Ağ Tümleştirmesi bölümüne bakın.

Ağ güvenlik grubu (NSG) güvenlik kuralları

Sanal ağ içindeki tüm trafiğe varsayılan olarak izin verilir. Ancak farklı alt ağlar arasındaki trafiği kısıtlamak için NSG kuralları eklediyseniz, NSG güvenlik kurallarının aşağıdaki iletişim türlerine izin verildiğinden emin olun:

Varış Yeri Kaynak Protokol Liman Kullan
APIServer Alt Ağ CIDR Küme Alt Ağı TCP 443 ve 4443 Düğümler ile API sunucusu arasındaki iletişimi etkinleştirmek için gereklidir.
APIServer Alt Ağ CIDR Azure Load Balancer TCP 9988 Azure Load Balancer ile API sunucusu arasındaki iletişimi etkinleştirmek için gereklidir. ayrıca Azure Load Balancer ile API Server Alt Ağ CIDR arasındaki tüm iletişimleri etkinleştirebilirsiniz.