Aracılığıyla paylaş


API Server Sanal Ağ Tümleştirmesi (Önizleme) ile Azure Kubernetes Service kümesi oluşturma

API Server Sanal Ağ Tümleştirmesi ile yapılandırılmış bir Azure Kubernetes Service (AKS) kümesi, API sunucusu uç noktasını doğrudan AKS'nin dağıtıldığı VNet'teki temsilci alt ağa projelendirir. 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.

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, temsilci alt ağa yansıtılan API sunucusu VIP 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.

Bölgesel kullanılabilirlik

API Server Sanal Ağ Tümleştirmesi tüm genel Azure bölgelerinde kullanılabilir.

Önkoşullar

  • Aks-preview uzantısı 0.5.97 veya üzeri olan Azure CLI.
  • ARM veya REST API kullanılıyorsa AKS API sürümü 2022-04-02-preview veya üzeri olmalıdır.

aks-preview Azure CLI uzantısını yükleme

Önemli

AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "kullanılabilir" olarak sağlanır ve hizmet düzeyi sözleşmelerinin ve sınırlı garantinin dışında tutulur. AKS önizlemeleri, müşteri desteği tarafından kısmen en iyi çaba temelinde 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:

  • komutunu kullanarak aks-preview uzantısını az extension add yükleyin.

    az extension add --name aks-preview
    
  • komutunu kullanarak yayımlanan uzantının en son sürümüne güncelleştirin az extension update .

    az extension update --name aks-preview
    

'EnableAPIServerVnetIntegrationPreview' özellik bayrağını kaydedin

  1. EnableAPIServerVnetIntegrationPreview komutunu kullanarak özellik bayrağını az feature register kaydedin.

    az feature register --namespace "Microsoft.ContainerService" --name "EnableAPIServerVnetIntegrationPreview"
    

    Durumun Kayıtlı olarak gösterilmesi birkaç dakika sürer.

  2. komutunu kullanarak az feature show kayıt durumunu doğrulayın:

    az feature show --namespace "Microsoft.ContainerService" --name "EnableAPIServerVnetIntegrationPreview"
    
  3. Durum Kayıtlı olarak yansıtıldığında, komutunu kullanarak Microsoft.ContainerService kaynak sağlayıcısının kaydını yenileyinaz provider register.

    az provider register --namespace Microsoft.ContainerService
    

Yönetilen sanal ağı kullanarak API Server Sanal Ağ Tümleştirmesi ile AKS kümesi oluşturma

YÖNETILEN VNet'te API Server Sanal Ağ Tümleştirmesi veya kendi sanal ağınızı getirme modunda AKS kümelerinizi yapılandırabilirsiniz. Bunları genel kümeler (genel IP üzerinden kullanılabilen API sunucusu erişimiyle) veya özel kümeler (API sunucusuna yalnızca özel sanal ağ bağlantısı üzerinden erişilebilir) olarak oluşturabilirsiniz. Kümenizi yeniden dağıtmadan genel ve özel durum arasında geçiş de yapabilirsiniz.

Kaynak grubu oluşturma

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

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

Genel küme dağıtma

  • bayrağıyla komutunu kullanarak yönetilen sanal ağ için API Server VNet tümleştirmesi az aks create ile genel bir AKS kümesi dağıtın --enable-api-server-vnet-integration .

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

Özel küme dağıtma

  • ve --enable-private-cluster bayraklarıyla komutunu kullanarak yönetilen sanal ağ için API Server VNet tümleştirmesi az aks create ile özel bir AKS kümesi dağıtın--enable-api-server-vnet-integration.

    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
    

Kendi sanal ağınızı getirin kullanarak API Server Sanal Ağ Tümleştirmesi ile özel bir AKS kümesi oluşturma

Kendi sanal ağınızı getirin kullanırken, API sunucusu podlarını ve iç yük dengeleyiciyi Microsoft.ContainerService/managedClustersbu alt ağa eklemek için AKS hizmeti izinlerini veren bir API sunucusu alt ağı oluşturup bu alt ağa temsilci atamanız gerekir. 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ğ boyutu /28'dir.

Küme kimliğinin hem API sunucusu alt ağı hem de düğüm alt ağı için izinlere ihtiyacı vardır. API sunucusu alt akındaki izinlerin olmaması sağlama hatasına neden olabilir.

Uyarı

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

Kaynak grubu oluşturma

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 kimlik oluşturma ve sanal ağ üzerinde izinler verme

  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>
    

Genel küme dağıtma

  • bayrağıyla komutunu kullanarak API Server sanal ağ tümleştirmesi az aks create ile genel bir AKS kümesi dağıtın --enable-api-server-vnet-integration .

    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 küme dağıtma

  • ve --enable-private-cluster bayraklarıyla komutunu kullanarak API Server VNet tümleştirmesi az aks create ile özel bir AKS kümesi dağıtın--enable-api-server-vnet-integration.

    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 kümesini API Server Sanal Ağ Tümleştirmesine dönüştürme

Daha önce listelenen gereksinimleri karşılayan bir API sunucusu alt ağı sağlayarak mevcut genel/özel AKS kümelerini API Server Sanal Ağ Tümleştirme kümelerine dönüştürebilirsiniz. Bu gereksinimler şunlardır: küme düğümleriyle aynı sanal ağda, AKS kümesi kimliği için verilen izinler, özel uç nokta gibi diğer kaynaklar tarafından kullanılmaz ve en az /28 boyutundadır. Kümenizi dönüştürmek tek yönlü bir geçiştir. Kümeler etkinleştirildikten sonra API Server Sanal Ağ Tümleştirmesi devre dışı bırakılamaz.

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. API sunucusunun IP adresi herhangi bir güvenlik duvarında veya ağ güvenlik grubu kurallarında yapılandırılmışsa, bu kuralların güncelleştirilmiş olması gerekebilir.

  • bayrağıyla komutunu kullanarak az aks update kümenizi API Server Sanal Ağ Tümleştirmesine güncelleştirin --enable-apiserver-vnet-integration .

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

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.

Not

--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
    

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

  • bayrağıyla az aks update komutunu --disable-private-cluster 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

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

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

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:

Hedef Kaynak Protokol Bağlantı noktası Kullanma
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.

Sonraki adımlar

İlişkili en iyi yöntemler için bkz . AKS'de ağ bağlantısı ve güvenlik için en iyi yöntemler.