Aracılığıyla paylaş


Özel bir Azure Kubernetes Service (AKS) kümesi oluşturma

Bu makale, özel bağlantı tabanlı bir AKS kümesi konumlandırmanıza yardımcı olur. Özel bağlantı veya tünel gerektirmeden aks kümesi oluşturmak istiyorsanız bkz. API Server VNet tümleştirmesi ile Azure Kubernetes Service (AKS) kümesi oluşturma.

AKS'de özel kümelere genel bakış

Özel bir kümede, denetim düzlemi veya API sunucusu, RFC1918 - Özel İnternet için Adres Ayırma belgesinde tanımlanan iç IP adreslerine sahiptir. Özel küme kullanarak API sunucunuzla düğüm havuzlarınız arasındaki ağ trafiğinin yalnızca özel ağda kaldığından emin olabilirsiniz.

Denetim düzlemi veya API sunucusu AKS tarafından yönetilen bir Azure kaynak grubunda ve kümeniz veya düğüm havuzunuz kaynak grubunuz içindedir. Sunucu ve küme veya düğüm havuzu, API sunucusu sanal ağındaki Azure Özel Bağlantı hizmeti ve AKS kümenizin alt ağında kullanıma sunulan özel uç nokta aracılığıyla birbirleriyle iletişim kurabilir.

Özel bir AKS kümesi oluşturduğunuzda, AKS varsayılan olarak karşılık gelen DNS bölgeleriyle birlikte hem özel hem de genel tam etki alanı adları (FQDN) oluşturur. Ayrıntılı DNS yapılandırma seçenekleri için Özel DNS bölgesi, özel DNS alt bölgesi veya özelleştirilmiş alt etki alanı yapılandırma bölümüne bakın.

Bölgesel kullanılabilirlik

Özel kümeler, AKS'nin desteklendiği 21Vianet bölgeleri tarafından sağlanan genel bölgelerde, Azure Kamu ve Microsoft Azure'da kullanılabilir.

Özel AKS kümeleri için önkoşullar

  • Azure CLI sürüm 2.28.0 veya üzeri. Sürümü bulmak için komutunu az --version çalıştırın ve sürümü yükseltmek için komutunu çalıştırın az upgrade . Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.
  • Azure Resource Manager (ARM) veya Azure REST API kullanılıyorsa AKS API sürümü 2021-05-01 veya üzeri olmalıdır.
  • Özel dns sunucusu kullanmak için, özel DNS sunucusuna yukarı akış DNS sunucusu olarak Azure genel IP adresi 168.63.129.16'yı ekleyin ve bu genel IP adresini ilk DNS sunucusu olarak eklediğinizden emin olun. Azure IP adresi hakkında daha fazla bilgi için bkz . IP adresi 168.63.129.16 nedir?
    • Kümenin DNS bölgesi , 168.63.129.16'ya ilettiğiniz bölge olmalıdır. Azure hizmetleri DNS bölgesi yapılandırmasında bölge adları hakkında daha fazla bilgi bulabilirsiniz.
  • API Server sanal ağ tümleştirmesi ile etkinleştirilen mevcut AKS kümelerinde özel küme modu etkinleştirilebilir. Daha fazla bilgi için bkz. API Server sanal ağ tümleştirmesi ile var olan bir kümede özel küme modunu etkinleştirme veya devre dışı bırakma.

Önemli

30 Kasım 2025 itibarıyla Azure Kubernetes Service (AKS) artık Azure Linux 2.0 için güvenlik güncelleştirmelerini desteklememektedir veya sağlamamaktadır. Azure Linux 2.0 düğüm görüntüsü 202512.06.0 sürümünde dondurulur. 31 Mart 2026'dan itibaren düğüm görüntüleri kaldırılacak ve düğüm havuzlarınızı ölçeklendiremeyeceksiniz. Düğüm havuzlarınızı desteklenen bir Kubernetes sürümüne yükselterek veya osSku AzureLinux3'e geçerek desteklenen bir Azure Linux sürümüne geçin. Daha fazla bilgi için bkz. [Kullanımdan kaldırma] AKS üzerinde Azure Linux 2.0 düğüm havuzları.

Özel AKS kümeleri için sınırlamalar ve dikkat edilmesi gerekenler

  • Özel API sunucusu uç noktasına IP yetkili aralıkları uygulayamazsınız; bunlar yalnızca genel API sunucusu için geçerlidir.
  • Azure Özel Bağlantı hizmet sınırlamaları özel kümeler için geçerlidir.
  • Özel kümelere sahip Microsoft tarafından barındırılan Azure DevOps Aracıları için destek yoktur. Kendi barındırdığı ajanları kullanmayı göz önünde bulundurun.
  • Azure Container Registry'yi özel bir AKS kümesinde etkinleştirmeniz gerekiyorsa, küme sanal ağında (VNet) kapsayıcı kayıt defteri için özel bir bağlantı ayarlayın veya kapsayıcı kayıt defterinin sanal ağı ile özel kümenin sanal ağı arasında eşleme ayarlayın.
  • Müşteri alt ağındaki özel uç noktanın silinmesi veya değiştirilmesi kümenin çalışmayı durdurmasına neden olur.
  • Azure Özel Bağlantı hizmeti yalnızca Standart Azure Load Balancer'da desteklenir. Temel Azure Load Balancer desteklenmez.

Özel DNS ile merkez ve çıkışlar topolojisine sahip özel AKS kümeleri

Merkez-uç mimarileri genellikle Azure'da ağ dağıtmak için kullanılır. Bu dağıtımların çoğunda, spoke sanal ağlarda DNS ayarları, şirket içi ve Azure tabanlı DNS çözümlemesine izin vermek üzere merkezi bir DNS ileticisini referans alacak şekilde yapılandırılır.

Özel küme merkezi ve çıkış noktası

Özel DNS ile merkez-uç mimarilerinde özel AKS kümeleri dağıtırken dikkate alınacak noktaları göz önünde bulundurun:

  • Özel bir küme oluşturulduğunda, küme tarafından yönetilen kaynak grubunda varsayılan olarak bir özel uç nokta (1) ve özel DNS bölgesi (2) oluşturulur. Küme, API sunucusuyla iletişim için özel uç noktanın IP'sini çözümlemek için özel bölgedeki bir A kaydı kullanır.

  • Özel DNS bölgesi yalnızca küme düğümlerinin bağlı olduğu sanal ağa bağlanır (3), bu da özel uç noktanın yalnızca bu bağlantılı VNet'teki konaklar tarafından çözümlenebileceği anlamına gelir. Sanal ağda özel DNS yapılandırılmadığı senaryolarda (varsayılan), bağlantı nedeniyle özel DNS bölgesindeki kayıtları çözümleyebilen DNS için 168.63.129.16 ana bilgisayar noktası olarak sorunsuz çalışır.

  • Varsayılan özel DNS bölgesi davranışını sürdürdüğünüzde, AKS, bölge zaten bir hub sanal ağına bağlı olsa bile, bölgeyi doğrudan kümeyi barındıran uç sanal ağa bağlantı kurmaya çalışır.

    Özel DNS sunucuları kullanan uç sanal ağlarda, kümenin yönetilen kimliğinde uç sanal ağda Ağ Katkısı yoksa bu işlem başarısızlıkla sonuçlanabilir.

    Hatayı önlemek için aşağıdaki desteklenen yapılandırmalardan birini seçin:

    • Özel DNS bölgesi: Önceden oluşturulmuş bir özel bölge sağlayın ve privateDNSZone / --private-dns-zone kaynağının kimliğine ayarlayın. Bu bölgeyi uygun sanal ağa (örneğin, hub sanal ağı) bağladıktan sonra, öğesini olarak ayarlayın veya kullanın.
    • Yalnızca genel DNS: privateDNSZone / --private-dns-zone ayarlayarak özel bölge oluşturmayı devre dışı bırakın ve none olarak bırakın, publicDNS varsayılan değeriyle bırakın (true) / --disable-public-fqdn kullanmayın.
  • Kubenet ve özel kümelere sahip BYO DNS ile kendi yol tablonuzu getir (BYO) kullanıyorsanız küme oluşturma işlemi başarısız olur. Küme oluşturma başarısız olduktan sonra düğüm kaynak grubundaki RouteTable öğesini alt ağ ile ilişkilendirmeniz gerekir.

Özel AKS kümeleriyle özel DNS kullanırken aşağıdaki sınırlamaları göz önünde bulundurun:

  • privateDNSZone / --private-dns-zone ayarlarını none ve aynı andapublicDNS: false / --disable-public-fqdn ayarlamak desteklenmez.
  • Koşullu iletme alt etki alanlarını desteklemez.

Varsayılan temel ağ ile özel bir AKS kümesi oluşturma

  1. komutunu kullanarak az group create bir kaynak grubu oluşturun. AKS kümeniz için mevcut bir kaynak grubunu da kullanabilirsiniz.

    az group create \
        --name <private-cluster-resource-group> \
        --location <location>
    
  2. az aks create komutunu, --enable-private-cluster bayrağı ile, varsayılan temel ağ yapılandırmasını kullanarak özel bir küme oluşturun.

    Bu komuttaki anahtar parametreleri:

    • --enable-private-cluster: Özel küme modunu etkinleştirir.
    az aks create \
        --name <private-cluster-name> \
        --resource-group <private-cluster-resource-group> \
        --load-balancer-sku standard \
        --enable-private-cluster \
        --generate-ssh-keys
    
  3. kubectl'yi özel AKS kümesine bağlanacak şekilde yapılandırın.

Gelişmiş ağ ile özel AKS kümesi oluşturma

  1. komutunu kullanarak az group create bir kaynak grubu oluşturun. AKS kümeniz için mevcut bir kaynak grubunu da kullanabilirsiniz.

    az group create \
        --name <private-cluster-resource-group> \
        --location <location>
    
  2. komutunu kullanarak az aks create gelişmiş ağ ile özel bir küme oluşturun.

    Bu komuttaki anahtar parametreleri:

    • --enable-private-cluster: Özel küme modunu etkinleştirir.
    • --network-plugin azure: Azure CNI ağ eklentisini belirtir.
    • --vnet-subnet-id: Sanal ağdaki mevcut bir alt ağın kaynak kimliği.
    • --dns-service-ip: Küme DNS hizmeti için kullanılacak Kubernetes hizmet adresi aralığındaki kullanılabilir bir IP adresi.
    • --service-cidr: Hizmet kümesi IP adreslerinin ataması için kullanılan CIDR gösterimi IP aralığı.
    az aks create \
        --resource-group <private-cluster-resource-group> \
        --name <private-cluster-name> \
        --load-balancer-sku standard \
        --enable-private-cluster \
        --network-plugin azure \
        --vnet-subnet-id <subnet-id> \
        --dns-service-ip 10.2.0.10 \
        --service-cidr 10.2.0.0/24
        --generate-ssh-keys
    
  3. kubectl'yi özel AKS kümesine bağlanacak şekilde yapılandırın.

Özel AKS kümeleriyle özel alan adları kullanma

Özel etki alanlarını yalnızca dahili olarak çözümlenebilecek şekilde yapılandırmak istiyorsanız, bkz. Özel etki alanları kullanma.

Özel AKS kümesinde genel FQDN'yi devre dışı bırakma

Yeni bir kümede genel FQDN'yi devre dışı bırakma

  • az aks create komutunu --disable-public-fqdn bayrağı ile kullanarak, özel bir AKS kümesi oluştururken genel FQDN'yi devre dışı bırakın.

    az aks create \
        --name <private-cluster-name> \
        --resource-group <private-cluster-resource-group> \
        --load-balancer-sku standard \
        --enable-private-cluster \
        --assign-identity <resource-id> \
        --private-dns-zone <private-dns-zone-mode> \
        --disable-public-fqdn \
        --generate-ssh-keys
    

Mevcut bir kümede genel FQDN'yi devre dışı bırakma

  • Mevcut bir AKS kümesinde genel bir FQDN'yi az aks update komutunu --disable-public-fqdn bayrağıyla kullanarak devre dışı bırakın.

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

Özel bir AKS kümesi için özel DNS bölgesi, özel DNS alt bölgesi veya özel alt alan adını yapılandırma

Azure CLI (ile --private-dns-zone parametresini) veya Azure Resource Manager (ARM) şablonunu (ile privateDNSZone özelliğini) kullanarak özel bir AKS kümesi için özel DNS ayarlarını yapılandırabilirsiniz. Aşağıdaki tabloda, --private-dns-zone parametresi / privateDNSZone özelliği için kullanılabilen seçenekler özetlenmiştir.

Setting Description
system Özel DNS bölgesi yapılandırılırken varsayılan değer. tr-TR: --private-dns-zone / privateDNSZone değerini atlarsanız, AKS, düğüm kaynak grubunda özel bir DNS bölgesi oluşturur.
none Eğer --private-dns-zone / privateDNSZone'yi none olarak ayarlarsanız, AKS özel DNS bölgesi oluşturmaz.
<custom-private-dns-zone-resource-id> Bu parametreyi kullanmak için, Azure genel bulutu için aşağıdaki biçimde bir özel DNS bölgesi oluşturmanız gerekir: privatelink.<region>.azmk8s.io veya <subzone>.privatelink.<region>.azmk8s.io. Gelecekte kullanmak için özel DNS bölgesinin kaynak kimliğine ihtiyacınız vardır. Ayrıca, Özel DNS Bölgesi Katkıda Bulunanı ve Ağ Katkıda Bulunanı rollerine sahip kullanıcı tarafından atanan bir kimliğe veya hizmet sorumlusuna da ihtiyacınız vardır. API Server sanal ağ tümleştirmesi kullanan kümeler için, özel bir DNS bölgesi private.<region>.azmk8s.io veya <subzone>.private.<region>.azmk8s.io adlandırma biçimini destekler. Performans sorunlarına ve küme yükseltme hatalarına neden olabileceğinden, kümeyi oluşturduktan sonra bu kaynağı değiştiremez veya silemezsiniz. Sadece --fqdn-subdomain <subdomain><custom-private-dns-zone-resource-id> ile, privatelink.<region>.azmk8s.io'ye alt etki alanı özellikleri sağlamak amacıyla kullanabilirsiniz. Bir alt bölge belirtiyorsanız, ad için <subzone> 32 karakter sınırı vardır.

Özel AKS kümesi için özel DNS yapılandırırken aşağıdaki noktaları göz önünde bulundurun:

  • Özel DNS bölgesi AKS kümesinden farklı bir abonelikteyse, Azure sağlayıcısını Microsoft.ContainerServices her iki aboneliğe de kaydetmeniz gerekir.
  • AKS kümeniz bir Active Directory hizmet sorumlusuyla yapılandırılmışsa AKS, özel özel DNS bölgesi ile sistem tarafından atanan yönetilen kimlik kullanmayı desteklemez. Küme, kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulamasını kullanmalıdır.

Özel DNS bölgesi ile özel AKS kümesi oluşturma

  1. komutunu kullanarak az aks create özel DNS bölgesiyle özel bir AKS kümesi oluşturun.

    Bu komuttaki anahtar parametreleri:

    • --enable-private-cluster: Özel küme modunu etkinleştirir.
    • --private-dns-zone [system|none]: Küme için özel DNS bölgesini yapılandırır. Varsayılan değer şudur: system.
    • --assign-identity <resource-id>: Özel DNS Bölgesi Katılımcısı ve Ağ Katılımcısı rolleriyle kullanıcı tarafından atanmış yönetilen kimliğin kaynak kimliği.
    az aks create \
        --name <private-cluster-name> \
        --resource-group <private-cluster-resource-group> \
        --load-balancer-sku standard \
        --enable-private-cluster \
        --assign-identity <resource-id> \
        --private-dns-zone [system|none] \
        --generate-ssh-keys
    
  2. kubectl'yi özel AKS kümesine bağlanacak şekilde yapılandırın.

Özel bir DNS bölgesi veya özel bir DNS alt bölgesi ile özel bir AKS kümesi oluşturma

  1. Özel bir DNS bölgesi veya alt bölgesi olan özel bir AKS kümesi oluşturmak için az aks create komutunu kullanın.

    Bu komuttaki anahtar parametreleri:

    • --enable-private-cluster: Özel küme modunu etkinleştirir.
    • --private-dns-zone <custom-private-dns-zone-resource-id>|<custom-private-dns-subzone-resource-id>: Azure genel bulutu için aşağıdaki biçimde önceden oluşturulmuş bir özel DNS bölgesinin veya alt bölgesinin kaynak kimliği: privatelink.<region>.azmk8s.io veya <subzone>.privatelink.<region>.azmk8s.io.
    • --assign-identity <resource-id>: Özel DNS Bölgesi Katılımcısı ve Ağ Katılımcısı rolleriyle kullanıcı tarafından atanmış yönetilen kimliğin kaynak kimliği.
    # The custom private DNS zone name should be in the following format: "<subzone>.privatelink.<region>.azmk8s.io"
    
    az aks create \
        --name <private-cluster-name> \
        --resource-group <private-cluster-resource-group> \
        --load-balancer-sku standard \
        --enable-private-cluster \
        --assign-identity <resource-id> \
        --private-dns-zone [<custom-private-dns-zone-resource-id>|<custom-private-dns-subzone-resource-id>] \
        --generate-ssh-keys
    
  2. kubectl'yi özel AKS kümesine bağlanacak şekilde yapılandırın.

Özel bir özel DNS bölgesi ve özel alt etki alanı ile bir özel AKS kümesi oluşturun.

  1. az aks create komutunu kullanarak özel bir özel DNS bölgesi ve alt etki alanı ile özel bir AKS kümesi oluşturun.

    Bu komuttaki anahtar parametreleri:

    • --enable-private-cluster: Özel küme modunu etkinleştirir.
    • --private-dns-zone <custom-private-dns-zone-resource-id>: Azure genel bulutu için aşağıdaki biçimde önceden oluşturulmuş bir özel DNS bölgesinin kaynak kimliği: privatelink.<region>.azmk8s.io.
    • --fqdn-subdomain <subdomain>: Özel DNS bölgesi içindeki küme FQDN'si için kullanılacak alt etki alanı.
    • --assign-identity <resource-id>: Özel DNS Bölgesi Katılımcısı ve Ağ Katılımcısı rolleriyle kullanıcı tarafından atanmış yönetilen kimliğin kaynak kimliği.
    # The custom private DNS zone name should be in one of the following formats: "privatelink.<region>.azmk8s.io" or "<subzone>.privatelink.<region>.azmk8s.io"
    
    az aks create \
        --name <private-cluster-name> \
        --resource-group <private-cluster-resource-group> \
        --load-balancer-sku standard \
        --enable-private-cluster \
        --assign-identity <resource-id> \
        --private-dns-zone <custom-private-dns-zone-resource-id> \
        --fqdn-subdomain <subdomain> \
        --generate-ssh-keys
    
  2. kubectl'yi özel AKS kümesine bağlanacak şekilde yapılandırın.

Mevcut bir özel AKS kümesini özel DNS bölgesinden genele güncelleştirme

Yalnızca byo (kendi cihazınızı getir) veya system 'a none güncelleştirebilirsiniz. Güncelleştirme değerlerinin başka bir bileşimi desteklenmez.

Uyarı

Özel bir kümeyi byo veya system'den none'ye güncelleştirdiğinizde, aracı düğümler kamuya açık bir FQDN kullanacak şekilde değişir. Azure Sanal Makine Ölçek Kümeleri kullanan bir AKS kümesinde düğümlerinizi genel FQDN ile güncelleştirmek için bir düğüm görüntüsü yükseltmesi gerçekleştirilir.

  • byo komutunu, system olarak ayarlanmış none parametresi ile kullanarak özel kümeyi az aks update veya --private-dns-zone'den none'ye güncelleyin.

    az aks update \
        --name <private-cluster-name> \
        --resource-group <private-cluster-resource-group> \
        --private-dns-zone none
    

kubectl'yi özel aks kümesine bağlanacak şekilde yapılandırma

Kubernetes kümesini yönetmek için kubectl adlı Kubernetes komut satırı istemcisini kullanın. kubectl Azure Cloud Shell kullanıyorsanız zaten yüklüdür. kubectl yerel olarak yüklemek için az aks install-cli komutunu kullanın.

  1. Önce kubectl'ü Kubernetes kümenize bağlanacak şekilde az aks get-credentials komutunu kullanarak yapılandırın. Bu komut kimlik bilgilerini indirir ve Kubernetes CLI'yi bunları kullanacak şekilde yapılandırmaktadır.

    az aks get-credentials --resource-group <private-cluster-resource-group> --name <private-cluster-name>
    
  2. komutunu kullanarak kubectl get kümenize bağlantıyı doğrulayın. Bu komut, küme düğümlerinin listesini döndürür.

    kubectl get nodes
    

    komut, aşağıdaki örnek çıktıya benzer bir çıktı döndürür:

    NAME                                STATUS   ROLES   AGE    VERSION
    aks-nodepool1-12345678-vmss000000   Ready    agent   3h6m   v1.15.11
    aks-nodepool1-12345678-vmss000001   Ready    agent   3h6m   v1.15.11
    aks-nodepool1-12345678-vmss000002   Ready    agent   3h6m   v1.15.11