Aracılığıyla paylaş


API Server Sanal Ağ Tümleştirmesi 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ı

Kontrol düzlemi veya API sunucusu, AKS yönetimli 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.

Sınırlamalar

  • API Sunucusu Sanal Ağ Entegrasyonu Sanal Ağ Şifrelemeyi desteklemez. v3 veya önceki AKS düğümü SKU'larında dağıtılan ve VNet şifrelemesini desteklemeyen kümelere izin verilir, ancak bu durumda 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. Ayrıntılar için bkz. AKS tarafından desteklenen VM SKU'ları .

Availability

  • API Server VNet Tümleştirmesi, eastus2 ve qatarcentral dışında tüm GA public cloud bölgelerinde kullanılabilir. Bu özelliğin bu bölgelerde etkinleştirilmesi üzerinde sürekli çalışıyoruz ve bu bölgeler kullanıma sunulduğunda bu sayfayı güncelleştireceğiz.

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

Yönetilen VNet'te veya kendi Sanal Ağınızı Getirme modunda API Sunucusu VNet Tümleştirmesi ile 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.

Bir kaynak grubu oluşturun

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

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

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

  • az aks create komutunu ve --enable-api-server-vnet-integration bayrağını kullanarak, yönetilen sanal ağ için API Sunucusu VNet tümleştirmesiyle kamu bir AKS kümesi 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

  • Özel bir AKS kümesi dağıtmak için, API Server VNet tümleştirmesi ile yönetilen sanal ağda, az aks create komutunu --enable-api-server-vnet-integration ve --enable-private-cluster bayrakları ile kullanı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
    

Kendi sanal ağınızı kullanarak API Sunucusu VNet Tümleştirmesi ile özel bir AKS kümesi oluşturma

Kendi sanal ağınızı getirin seçeneğini kullanırken, AKS hizmetine API sunucusu podlarını ve iç yük dengeleyiciyi bu alt ağa ekleme izni veren bir API sunucusu alt ağı oluşturup yetkilendirmeniz 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 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 9 IP ayırır. IP adreslerinin bitmesi API sunucusu ölçeklendirmesini engelleyebilir ve API sunucusu kesintisine neden olabilir.

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-api-server-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-api-server-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 kümesini API Sunucusu VNet Entegrasyonuna dönüştürme

Uyarı

API Server Sanal Ağ Tümleştirmesi tek yönlü, kapasiteye duyarlı bir özelliktir.

  • El ile yeniden başlatma gerekiyor.
    az aks update --enable-apiserver-vnet-integration kullanarak API Server Sanal Ağ Tümleştirmesini etkinleştirdikten sonra, değişikliğin etkili olması için kümeyi derhal yeniden başlatmalısınız. 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.

  • Kapasite doğrulanır, ancak ayrılmış değildir.
    AKS, özelliği mevcut bir kümede etkinleştirdiğinizde bölgesel kapasiteyi doğrular, ancak bu doğrulama kapasiteyi ayırmaz. Yeniden başlatma gecikirse ve kapasite bu arada 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çirilmeyecek.

  • Özellik devre dışı bırakılamaz.
    Etkinleştirildikten sonra özellik 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. 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.

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

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
    

Ö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 Tümleştirmesi ile özel kümenin API sunucusu uç noktasını erişime açabilirsiniz. Aşağıdaki adımlarda, küme sanal ağından Özel Bağlantı Hizmeti (PLS) oluşturma ve Özel Uç Nokta kullanarak başka bir sanal ağdan veya abonelikten buna bağlanma adımları gösterilmektedir.

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-api-server-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 bkz. API Server Sanal Ağ Tümleştirmesi ile Özel Bağlantı.

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 Yük Dengeleyici 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