Aracılığıyla paylaş


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

Bu makale, özel bağlantı tabanlı aks kümesi dağıtmanıza yardımcı olur. Özel bağlantı veya tünel gerektirmeden aks kümesi oluşturmak istiyorsanız bkz . API Server Sanal Ağ Tümleştirmesi (Önizleme) ile Azure Kubernetes Service kümesi oluşturma.

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 sağladığınızda, AKS varsayılan olarak özel DNS bölgesine sahip bir özel FQDN ve Azure genel DNS'de karşılık gelen A bir kaydı olan ek bir genel FQDN oluşturur. Aracı düğümleri, API sunucusuyla A iletişim için özel uç noktanın özel IP adresini çözümlemek için özel DNS bölgesindeki kaydı kullanmaya devam eder.

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.

Ö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.
  • aks-preview Uzantı 0.5.29 veya üzeri.
  • 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.

Not

Azure Linux düğüm havuzu genel kullanıma sunuldu (GA). Avantajlar ve dağıtım adımları hakkında bilgi edinmek için bkz . AKS için Azure Linux Container Host'a giriş.

Sınırlamalar

  • IP yetkili aralıkları özel API sunucusu uç noktasına uygulanamaz, 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. Şirket içinde barındırılan aracıları kullanmayı göz önünde bulundurun.
  • Azure Container Registry'nin özel aks kümesiyle çalışmasını etkinleştirmeniz gerekiyorsa, küme sanal ağında 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 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-clusterresource-group> \
        --location <location>
    
  2. bayrağıyla komutunu kullanarak az aks create varsayılan temel ağ ile --enable-private-cluster özel bir küme oluşturun.

    az aks create \
        --name <private-cluster-name> \
        --resource-group <private-cluster-resource-group> \
        --load-balancer-sku standard \
        --enable-private-cluster \
        --generate-ssh-keys
    

Özel etki alanları kullanma

Yalnızca dahili olarak çözümlenebilen özel etki alanlarını yapılandırmak istiyorsanız bkz . Özel etki alanları kullanma.

Genel FQDN'yi devre dışı bırakma

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

  • bayrağıyla komutunu kullanarak özel AKS kümesi oluştururken genel FQDN'yi az aks create --disable-public-fqdn 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 <resourceID> \
        --private-dns-zone <private-dns-zone-mode> \
        --disable-public-fqdn \
        --generate-ssh-keys
    

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

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

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

Özel DNS bölgesi yapılandırma

Aşağıdaki parametreleri kullanarak özel DNS bölgelerini yapılandırabilirsiniz:

  • system: Bu varsayılan değerdir. --private-dns-zone Bağımsız değişken atlanırsa AKS, düğüm kaynak grubunda özel bir DNS bölgesi oluşturur.
  • none: Varsayılan değer genel DNS'dir. AKS özel dns bölgesi oluşturmaz.
  • CUSTOM_PRIVATE_DNS_ZONE_RESOURCE_ID: Bu, Azure genel bulutu için aşağıdaki biçimde bir özel DNS bölgesi oluşturmanızı gerektirir: privatelink.<region>.azmk8s.io veya <subzone>.privatelink.<region>.azmk8s.io. Daha sonra kullanmak için özel DNS bölgesinin kaynak kimliği gerekir. 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 sunucusu sanal ağ tümleştirmesi kullanılarak dağıtılırken, özel bir DNS bölgesi veya <subzone>.private.<region>.azmk8s.ioadlandırma biçimini private.<region>.azmk8s.io 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.
    • Ö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.
    • ile komutunu CUSTOM_PRIVATE_DNS_ZONE_RESOURCE_ID yalnızca öğesine alt etki alanı özellikleri sağlamak için privatelink.<region>.azmk8s.iokullanabilirsinizfqdn-subdomain.
    • 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.
    • belirtiyorsanız <subzone>, ad için <subzone> 32 karakter sınırı vardır.

Not

ARM şablonu veya Azure CLI kullanarak yapılandırabilirsiniz CUSTOM_PRIVATE_DNS_ZONE_RESOURCE_ID . privateDNSZone aşağıdaki örnekte gösterildiği gibi özel DNZ bölgesini resourceID kabul eder:

properties.apiServerAccessProfile.privateDNSZone.
"apiServerAccessProfile": {
"enablePrivateCluster": true,
"privateDNSZone": "system|none|[resourceId(..., 'Microsoft.Network/privateDnsZones', 'privatelink.<region>.azmk8s.io']"
}

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

  • Aşağıdaki bayraklarla komutunu kullanarak az aks create özel DNS bölgesiyle özel bir AKS kümesi oluşturun:

    az aks create \
        --name <private-cluster-name> \
        --resource-group <private-cluster-resource-group> \
        --load-balancer-sku standard \
        --enable-private-cluster \
        --assign-identity <resourceID> \
        --private-dns-zone [system|none] \
        --generate-ssh-keys
    

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

  • Aşağıdaki bayraklarla komutunu kullanarak az aks create özel bir özel DNS bölgesi veya alt bölgesi olan özel bir AKS kümesi oluşturun:

    # 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 <resourceID> \
        --private-dns-zone <custom private dns zone or custom private dns subzone resourceID> \
        --generate-ssh-keys
    

Özel özel DNS bölgesi ve özel alt etki alanı ile özel aks kümesi oluşturma

  • Aşağıdaki bayraklarla komutunu kullanarak az aks create özel bir özel DNS bölgesi ve alt etki alanı ile özel bir AKS kümesi oluşturun:

    # 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 <resourceID> \
        --private-dns-zone <custom private dns zone resourceID> \
        --fqdn-subdomain <subdomain> \
        --generate-ssh-keys
    

Özel bir DNS bölgesinden özel kümeyi genele güncelleştirme

Yalnızca veya system noneile byo güncelleştirebilirsiniz. Güncelleştirme değerlerinin başka bir bileşimi desteklenmez.

Uyarı

veya system 'den byo özel bir kümeyi nonegüncelleştirdiğinizde aracı düğümleri genel 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.

  • Aşağıdaki bayraklarla komutunu kullanarak özel bir kümeyi byo az aks update veya system none komutuyla güncelleştirin:

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

Özel kümeye bağlanma seçenekleri

API sunucusu uç noktasının genel IP adresi yok. API sunucusunu yönetmek için AKS kümesinin Azure Sanal Ağ (VNet) erişimi olan bir VM kullanmanız gerekir. Özel kümeye ağ bağlantısı kurmak için çeşitli seçenekler vardır:

AKS kümesiyle aynı sanal ağda VM oluşturmak en kolay seçenektir. Express Route ve VPN'ler maliyet ekler ve ek ağ karmaşıklığı gerektirir. Sanal ağ eşlemesi, çakışan aralıklar olmadığından emin olmak için ağ CIDR aralıklarınızı planlamanızı gerektirir.

Sanal ağ eşleme

Sanal ağ eşlemesini kullanmak için sanal ağ ile özel DNS bölgesi arasında bir bağlantı ayarlamanız gerekir.

  1. Azure portalında düğüm kaynak grubunuz gidin ve özel DNS bölgesi kaynağınızı seçin.
  2. Hizmet menüsünde, DNS Yönetimi'nin altında Sanal Ağ Bağlantı>Ekle'yi seçin.
  3. Sanal Ağ Bağlantısı Ekle sayfasında aşağıdaki ayarları yapılandırın:
    • Bağlantı adı: Sanal ağ bağlantısı için bir ad girin.
    • Sanal Ağ: VM'yi içeren sanal ağı seçin.
  4. Sanal ağ bağlantısını oluşturmak için Oluştur'u seçin.
  5. Kümenizin sanal ağını içeren kaynak grubuna gidin ve sanal ağ kaynağınızı seçin.
  6. Hizmet menüsünde, Ayarlar'ın altında Eşlemeler>Ekle'yi seçin.
  7. Eşleme ekle sayfasında aşağıdaki ayarları yapılandırın:
    • Eşleme bağlantısı adı: Eşleme bağlantısı için bir ad girin.
    • Sanal ağ: VM'nin sanal ağını seçin.
  8. Eşleme bağlantısını oluşturmak için Ekle'yi seçin.

Daha fazla bilgi için bkz . Sanal ağ eşlemesi.

Özel DNS ile merkez-uç

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

Özel küme hub'ı ve uç

AKS kümesini böyle bir ağ ortamına dağıtırken dikkat edilmesi gereken bazı özel noktalar vardır:

  • Özel bir küme sağlandığında, küme tarafından yönetilen kaynak grubunda varsayılan olarak özel bir 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, özel uç noktanın yalnızca bu bağlantılı sanal ağ içindeki 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 bu sorun olmadan çalışır.
  • Kümenizi içeren sanal ağın özel DNS ayarlarına (4) sahip olduğu senaryolarda, özel DNS bölgesi özel DNS çözümleyicilerini (5) içeren sanal ağa bağlı olmadığı sürece küme dağıtımı başarısız olur. Bu bağlantı, küme sağlama sırasında özel bölge oluşturulduktan sonra veya olay tabanlı dağıtım mekanizmaları (örneğin, Azure Event Grid ve Azure İşlevleri) kullanılarak bölgenin oluşturulması algılandığında otomasyon yoluyla el ile oluşturulabilir. İlk dağıtım sırasında küme hatasını önlemek için, küme özel DNS bölgesi kaynak kimliğiyle dağıtılabilir. Bu yalnızca kaynak türü Microsoft.ContainerService/managedCluster ve API sürümü 2022-07-01ile çalışır. ARM şablonu veya Bicep kaynak tanımıyla eski bir sürümün kullanılması desteklenmez.

Not

Koşullu iletme alt etki alanlarını desteklemez.

Not

Kubenet ile kendi yol tablonuzu getirin ve özel kümelerle kendi DNS'nizi getirin seçeneğini kullanıyorsanız küme oluşturma işlemi başarısız olur. Küme oluşturma işlemi başarılı olduktan sonra düğüm kaynak grubundaki öğesini alt ağ ile ilişkilendirmeniz RouteTable gerekir.

Özel uç nokta bağlantısı kullanma

Bir sanal ağın özel kümeyle iletişim kurmak için eşlenmesi gerekmeyecek şekilde özel bir uç nokta ayarlanabilir. Sanal ağda tüketen kaynakları içeren yeni bir özel uç nokta oluşturun ve ardından sanal ağınızla aynı ağdaki yeni bir özel DNS bölgesi arasında bir bağlantı oluşturun.

Önemli

Sanal ağ özel DNS sunucularıyla yapılandırılmışsa, ortam için özel DNS'nin uygun şekilde ayarlanması gerekir. Daha fazla ayrıntı için sanal ağlar ad çözümleme belgelerine bakın.

Özel uç nokta kaynağı oluşturma

Sanal ağınızda özel uç nokta kaynağı oluşturun:

  1. Azure portalı giriş sayfasında Kaynak oluştur'u seçin.
  2. Özel Uç Nokta'yı arayın ve Özel Uç Nokta Oluştur'u>seçin.
  3. Oluştur'u belirleyin.
  4. Temel Bilgiler sekmesinde aşağıdaki ayarları yapılandırın:
    • Proje ayrıntıları
      • Abonelik: Özel kümenizin bulunduğu aboneliği seçin.
      • Kaynak grubu: Sanal ağınızı içeren kaynak grubunu seçin.
    • Örnek ayrıntıları
      • Ad: Özel uç noktanız için myPrivateEndpoint gibi bir ad girin.
      • Bölge: Sanal ağınızla aynı bölgeyi seçin.
  5. İleri: Kaynak'ı seçin ve aşağıdaki ayarları yapılandırın:
    • Bağlantı yöntemi: Dizinimdeki bir Azure kaynağına bağlan'ı seçin.
    • Abonelik: Özel kümenizin bulunduğu aboneliği seçin.
    • Kaynak türü: Microsoft.ContainerService/managedClusters'ı seçin.
    • Kaynak: Özel kümenizi seçin.
    • Hedef alt kaynak: Yönetim'i seçin.
  6. İleri'yi seçin: Sanal Ağ ve aşağıdaki ayarları yapılandırın:
      • Sanal ağ: Sanal ağınızı seçin.
      • Alt ağ: Alt ağınızı seçin.
  7. İleri: DNS>Sonraki: Etiketler'i seçin ve (isteğe bağlı olarak) anahtar-değerleri gerektiği gibi ayarlayın.
  8. İleri: Gözden Geçir ve Oluştur'u> seçin.

Kaynak oluşturulduktan sonra, gelecekte kullanmak üzere özel uç noktanın özel IP adresini kaydedin.

Özel DNS bölgesi oluşturma

Özel uç noktayı oluşturduktan sonra, özel küme tarafından oluşturulan özel DNS bölgesiyle aynı ada sahip yeni bir özel DNS bölgesi oluşturun. Bu DNS bölgesini tüketen kaynakları içeren sanal ağda oluşturmayı unutmayın.

  1. Azure portalında düğüm kaynak grubunuz gidin ve özel DNS bölgesi kaynağınızı seçin.
  2. Hizmet menüsünde, DNS Yönetimi'nin altında Kayıt Kümeleri'ni seçin ve aşağıdakileri not edin:
    • desenini *.privatelink.<region>.azmk8s.ioizleyen özel DNS bölgesinin adı.
    • Kaydın A adı (özel DNS adı hariç).
    • Yaşam süresi (TTL).
  3. Azure portalı giriş sayfasında Kaynak oluştur'u seçin.
  4. Özel DNS bölgeyi arayın ve Oluştur Özel DNS bölge'yi> seçin.
  5. Temel Bilgiler sekmesinde aşağıdaki ayarları yapılandırın:
    • Proje ayrıntıları:
      • Aboneliğinizi seçin.
      • Özel uç noktayı oluşturduğunuz Kaynak grubunu seçin.
    • Örnek ayrıntıları
      • Ad: Önceki adımlardan alınan DNS bölgesinin adını girin.
      • Bölge varsayılan olarak kaynak grubunuzun konumunu belirtir.
  6. Gözden geçir ve oluştur>Oluştur'u seçin.

A Kayıt oluşturma

Özel DNS bölgesi oluşturulduktan sonra, özel uç noktayı özel kümeyle ilişkilendiren bir A kayıt oluşturun:

  1. Önceki adımlarda oluşturduğunuz özel DNS bölgesine gidin.
  2. Hizmet menüsünde, DNS Yönetimi'nin altında Kayıt Kümeleri>Ekle'yi seçin.
  3. Kayıt kümesi ekle sayfasında aşağıdaki ayarları yapılandırın:
    • Ad: Özel kümenin A DNS bölgesindeki kayıttan alınan adı girin.
    • Tür: A - Adres kaydını seçin.
    • TTL: Özel kümenin A DNS bölgesindeki kayıttaki sayıyı girin.
    • TTL birimi: Açılan menü değerini, özel kümenin DNS bölgesindeki kayıttaki A değerle eşleşecek şekilde değiştirin.
    • IP adresi: Oluşturduğunuz özel uç noktanın IP adresini girin.
  4. Kaydı oluşturmak için Ekle'yi A seçin.

Önemli

Kaydı oluştururken A , tam etki alanı adını (FQDN) değil yalnızca adı kullanın.

A Kayıt oluşturulduktan sonra, özel DNS bölgesini özel kümeye erişecek sanal ağa bağlayın:

  1. Önceki adımlarda oluşturduğunuz özel DNS bölgesine gidin.
  2. Hizmet menüsünde, DNS Yönetimi'nin altında Sanal Ağ Bağlantı>Ekle'yi seçin.
  3. Sanal Ağ Bağlantısı Ekle sayfasında aşağıdaki ayarları yapılandırın:
    • Bağlantı adı: Sanal ağ bağlantınız için bir ad girin.
    • Abonelik: Özel kümenizin bulunduğu aboneliği seçin.
    • Sanal Ağ: Özel kümenizin sanal ağını seçin.
  4. Bağlantıyı oluşturmak için Oluştur'u seçin.

İşlemin tamamlanması birkaç dakika sürebilir. Sanal ağ bağlantısı oluşturulduktan sonra, 2. adımda kullandığınız Sanal Ağ Bağlantılar sekmesinden bu bağlantıya erişebilirsiniz.

Uyarı

  • Özel küme durdurulur ve yeniden başlatılırsa, özel kümenin özgün özel bağlantı hizmeti kaldırılır ve yeniden oluşturulur ve bu da özel uç noktanızla özel küme arasındaki bağlantıyı keser. Bu sorunu çözmek için, özel kümeye bağlı kullanıcı tarafından oluşturulan özel uç noktaları silin ve yeniden oluşturun. Yeniden oluşturulmuş özel uç noktaların yeni IP adresleri varsa, DNS kayıtlarını da güncelleştirmeniz gerekir.
  • Özel DNS bölgesindeki DNS kayıtlarını güncelleştirirseniz, bağlanmaya çalıştığınız ana bilgisayarın güncelleştirilmiş DNS kayıtlarını kullandığından emin olun. Komutunu kullanarak nslookup bunu doğrulayabilirsiniz. Güncelleştirmelerin çıktıya yansıtılamadığını fark ederseniz makinenizdeki DNS önbelleğini temizlemeniz ve yeniden denemeniz gerekebilir.

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.