Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makale, Azure CLI veya Terraform kullanarak özel bağlantı tabanlı aks kümesi dağıtmanıza yardımcı olur. Özel bağlantı veya tünel gerektirmeden bir AKS kümesi oluşturmak istiyorsanız, bkz. Create an Azure Kubernetes Service (AKS) cluster with API Server VNet integration.
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 grubunuzda yer alır. 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'in desteklendiği Microsoft Azure, Azure Kamu ve 21Vianet tarafından işletilen bölgelerdeki genel bölgelerde mevcuttur.
Önemli
Tüm Bulut için Microsoft Defender özellikleri 18 Ağustos 2026'da Çin bölgesindeki Azure resmi olarak kullanımdan kaldırılacaktır. Yaklaşan bu kullanımdan kaldırma nedeniyle, Çin'deki Azure müşterileri artık hizmete yeni abonelik ekleyemiyor. Yeni abonelik, kullanımdan kaldırma duyurusunun tarihi olan 18 Ağustos 2025 tarihinden önce Bulut için Microsoft Defender hizmetine önceden eklenmemiş olan aboneliktir. Kullanımdan kaldırma hakkında daha fazla bilgi için 21Vianet tarafından işletilen Microsoft Azure'da Bulut için Microsoft Defender'un kullanımdan kaldırılması Duyurusu'na bakın.
Müşteriler, 21Vianet tarafından sağlanan Microsoft Azure için hesap temsilcileriyle birlikte çalışarak bu emekliliğin kendi işlemleri üzerindeki etkisini değerlendirmelidir.
Özel AKS kümeleri için önkoşullar
Etkin bir Azure aboneliği. Azure aboneliğiniz yoksa başlamadan önce free hesabı oluşturun.
komutunu kullanarak
az account setabonelik bağlamınızı ayarlayın. Örneğin:az account set --subscription "00000000-0000-0000-0000-000000000000"Azure CLI sürüm 2.28.0 veya üzeri. komutunu kullanarak
az --versionsürümünüzü bulun. Yüklemeniz veya yükseltmeniz gerekiyorsa bkz. Azure CLI yükleme.Azure Resource Manager (ARM) veya Azure REST API kullanıyorsanız AKS API sürümü 2021-05-01 veya üzeri olmalıdır.
Özel DNS sunucusu kullanmak için, Azure genel IP adresini 168.63.129.16 özel DNS sunucusuna yukarı akış DNS sunucusu olarak ekleyin ve bu genel IP adresini first 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. bölge adları hakkında daha fazla bilgiyi Azure hizmetleri DNS bölgesi yapılandırması 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.
Özel bir AKS kümesinde Azure Container Registry 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.
kubectl yüklendi. komutunu kullanarak
az aks install-cliyerel olarak yükleyebilirsiniz.
- Terraform yerel olarak yüklendi. Yükleme yönergeleri için bkz . Terraform'u yükleme.
Önemli
November 30, 2025 tarihinden itibaren Azure Kubernetes Service (AKS) artık Azure Linux 2.0 için güvenlik güncelleştirmelerini desteklemez veya sağlamaz. 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 ile desteklenen bir Azure Linux sürümüne geçin. Daha fazla bilgi için Emeklilik GitHub sorunu ve Azure Güncelleştirmeleri kullanımdan kaldırma duyurusu'na bakınız. Duyurular ve güncelleştirmeler hakkında bilgi sahibi olmak için AKS sürüm notlarını izleyin.
Sınırlamalar
- IP yetkili aralıkları yalnızca genel API sunucusu için geçerlidir. Bu aralıkları özel API sunucusu uç noktasına uygulayamazsınız.
- Azure Özel Bağlantı hizmet sınırlamaları özel kümeler için geçerlidir.
- Özel kümelerle 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.
- 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 desteklenir. Temel Azure Load Balancer desteklenmez.
Özel DNS ile merkez ve çıkışlar topolojisine sahip özel AKS kümeleri
Hub ve uç mimarileri yaygın olarak 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.
Aşağıdaki diyagramda, özel DNS'ye sahip bir özel AKS kümesi için merkez-uç mimarisi gösterilmektedir:
- Ö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
Akaydı 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: Var olan bir özel bölge sağlayın ve
privateDNSZone/--private-dns-zonekaynak 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-zoneayarlayarak özel bölge oluşturmayı devre dışı bırakın venoneolarak bırakın,publicDNSvarsayılan değeriyle bırakın (true) /--disable-public-fqdnkullanmayın.
-
Özel DNS bölgesi: Var olan bir özel bölge sağlayın ve
- Ö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:
-
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 DNS ile özel AKS kümeleri için sınırlamalar
-
privateDNSZone/--private-dns-zoneayarlarınınoneve aynı andapublicDNS: false/--disable-public-fqdnayarlamak desteklenmez. - Koşullu iletme alt etki alanlarını desteklemez.
Bir kaynak grubu oluşturun
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>
Varsayılan temel ağ ile özel bir AKS kümesi oluşturma
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
main.tfadlı bir dosya oluşturun ve Terraform sürümünü tanımlamak ve Azure sağlayıcısını belirtmek için aşağıdaki kodu ekleyin:terraform { required_version = ">= 1.3.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~> 4.0" } } } provider "azurerm" { features {} subscription_id = var.subscription_id }Azure abonelik kimliğiniz, kaynak grubu adınız, konumunuz ve AKS kümenizin adı için giriş değişkenleri oluşturmak üzere
main.tfaşağıdaki kodu ekleyin. Varsayılan değerleri gerektiği gibi değiştirebilirsiniz.variable "subscription_id" { description = "The Azure subscription ID." type = string } variable "resource_group_name" { description = "The name of the resource group for the AKS cluster." type = string default = "rg-private-aks-basic" } variable "location" { description = "The Azure region where the resources will be created." type = string default = "eastus" } variable "aks_cluster_name" { description = "The name of the AKS cluster." type = string default = "aks-private-basic" }Azure kaynak grubu oluşturmak için aşağıdaki kodu
main.tfekleyin:resource "azurerm_resource_group" "this" { name = var.resource_group_name location = var.location }Temel ağ ile özel bir AKS kümesi oluşturmak için aşağıdaki kodu
main.tfekleyin:resource "azurerm_kubernetes_cluster" "this" { name = var.aks_cluster_name location = azurerm_resource_group.this.location resource_group_name = azurerm_resource_group.this.name dns_prefix = "privatebasicaks" private_cluster_enabled = true default_node_pool { name = "system" node_count = 1 vm_size = "Standard_DS2_v2" } identity { type = "SystemAssigned" } network_profile { load_balancer_sku = "standard" network_plugin = "kubenet" } }Terraform'u başlatmak, Terraform yapılandırmasını biçimlendirmek ve doğrulamak, terraform yürütme planı oluşturmak, Terraform yapılandırmasını uygulamak ve AKS kümesine bağlanmak için adımları izleyin.
Gelişmiş ağ ile özel AKS kümesi oluşturma
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 <subnet-id>: Sanal ağ içindeki mevcut bir alt ağın kaynak kimliği. -
--dns-service-ip <dns-service-ip>: Küme DNS hizmeti için kullanılacak Kubernetes hizmet adresi aralığındaki kullanılabilir bir IP adresi. Örneğin,10.2.0.10. -
--service-cidr <service-cidr>: Hizmet kümesi IP adreslerinin ataması için kullanılan CIDR gösterimi IP aralığı. Örneğin,10.2.0.0/24.
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 <dns-service-ip> \
--service-cidr <service-cidr> \
--generate-ssh-keys
main.tfadlı bir dosya oluşturun ve Terraform sürümünü tanımlamak ve Azure sağlayıcısını belirtmek için aşağıdaki kodu ekleyin:terraform { required_version = ">= 1.3.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~> 4.0" } } } provider "azurerm" { features {} subscription_id = var.subscription_id }Azure abonelik kimliği, kaynak grubu adı, konum, AKS kümesi adı, sanal ağ (VNet) adı ve alt ağ adı için giriş değişkenleri oluşturmak üzere
main.tfaşağıdaki kodu ekleyin. Varsayılan değerleri gerektiği gibi değiştirebilirsiniz.variable "subscription_id" { description = "The Azure subscription ID." type = string } variable "resource_group_name" { description = "The name of the resource group for the AKS cluster." type = string default = "rg-private-aks-advanced" } variable "location" { description = "The Azure region where the resources will be created." type = string default = "eastus" } variable "aks_cluster_name" { description = "The name of the AKS cluster." type = string default = "aks-private-advanced" } variable "vnet_name" { description = "The name of the virtual network." type = string default = "vnet-private-aks" } variable "subnet_name" { description = "The name of the subnet used by AKS." type = string default = "snet-aks" }Azure kaynak grubu, sanal ağ ve alt ağ oluşturmak için aşağıdaki kodu
main.tfekleyin:resource "azurerm_resource_group" "this" { name = var.resource_group_name location = var.location } resource "azurerm_virtual_network" "this" { name = var.vnet_name location = azurerm_resource_group.this.location resource_group_name = azurerm_resource_group.this.name address_space = ["10.0.0.0/8"] } resource "azurerm_subnet" "aks" { name = var.subnet_name resource_group_name = azurerm_resource_group.this.name virtual_network_name = azurerm_virtual_network.this.name address_prefixes = ["10.240.0.0/16"] }Gelişmiş ağ ile AKS kümesini oluşturmak için aşağıdaki kodu
main.tfekleyin:resource "azurerm_kubernetes_cluster" "this" { name = var.aks_cluster_name location = azurerm_resource_group.this.location resource_group_name = azurerm_resource_group.this.name dns_prefix = "privateadvancedaks" private_cluster_enabled = true default_node_pool { name = "system" node_count = 1 vm_size = "Standard_DS2_v2" vnet_subnet_id = azurerm_subnet.aks.id } identity { type = "SystemAssigned" } network_profile { load_balancer_sku = "standard" network_plugin = "azure" dns_service_ip = "10.2.0.10" service_cidr = "10.2.0.0/24" } }Terraform'u başlatmak, Terraform yapılandırmasını biçimlendirmek ve doğrulamak, terraform yürütme planı oluşturmak, Terraform yapılandırmasını uygulamak ve AKS kümesine bağlanmak için adımları izleyin.
Ö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.
Bu komuttaki anahtar parametreleri:
-
--disable-public-fqdn: API sunucusu için genel tam etki alanı adını (FQDN) devre dışı bırakır. -
--assign-identity <resource-id>: Küme için kullanılacak yönetilen kimliği belirtir. -
--private-dns-zone [system|none]: Küme için kullanılacak özel DNS bölgesini belirtir.system, özel dns bölgesi yapılandırılırken varsayılan değerdir.--private-dns-zonedeğerini atlarsanız, AKS düğüm kaynak grubunda özel bir DNS bölgesi oluşturur.noneözel DNS bölgesi oluşturmayı devre dışı bırakır.
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] \
--disable-public-fqdn \
--generate-ssh-keys
Terraform yapılandırmasını ayarlamak ve senaryonuza bağlı olarak gerekli kaynakları oluşturmak için Gelişmiş ağ ile özel AKS kümesi oluşturma veya Varsayılan temel ağ ile özel AKS kümesi oluşturma makalesindeki 1-3 arası adımları izleyin. Bu örnekte gelişmiş ağ kullanılır.
Özel bir AKS kümesi oluşturmak için, kullanıcı tarafından atanan bir kimlikle ve genel FQDN devre dışı bırakılmış şekilde aşağıdaki kodu
main.tfekleyin:resource "azurerm_user_assigned_identity" "aks" { name = "id-private-aks-public-fqdn-off" location = azurerm_resource_group.this.location resource_group_name = azurerm_resource_group.this.name } resource "azurerm_kubernetes_cluster" "this" { name = var.aks_cluster_name location = azurerm_resource_group.this.location resource_group_name = azurerm_resource_group.this.name dns_prefix = "privateaks" private_cluster_enabled = true private_cluster_public_fqdn_enabled = false private_dns_zone_id = "System" default_node_pool { name = "system" node_count = 1 vm_size = "Standard_DS2_v2" vnet_subnet_id = azurerm_subnet.aks.id } identity { type = "UserAssigned" identity_ids = [azurerm_user_assigned_identity.aks.id] } network_profile { load_balancer_sku = "standard" network_plugin = "azure" dns_service_ip = "10.2.0.10" service_cidr = "10.2.0.0/24" } }Terraform'u başlatmak, Terraform yapılandırmasını biçimlendirmek ve doğrulamak, terraform yürütme planı oluşturmak, Terraform yapılandırmasını uygulamak ve AKS kümesine bağlanmak için adımları izleyin.
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.
Bu komuttaki anahtar parametreleri:
-
--disable-public-fqdn: API sunucusu için genel tam etki alanı adını (FQDN) devre dışı bırakır.
az aks update \
--name <private-cluster-name> \
--resource-group <private-cluster-resource-group> \
--disable-public-fqdn
Mevcut
main.tfaks kümesinde genel FQDN'yi devre dışı bırakmak için aşağıdaki kodu var olan koda ekleyin. Bu örnekte gelişmiş ağ kullanılır. İlgili Terraform kaynaklarını ve parametrelerini değiştirerek varsayılan temel ağı kullanacak şekilde değiştirebilirsiniz.resource "azurerm_kubernetes_cluster" "this" { name = var.aks_cluster_name location = azurerm_resource_group.this.location resource_group_name = azurerm_resource_group.this.name dns_prefix = "privateaks" private_cluster_enabled = true private_cluster_public_fqdn_enabled = false private_dns_zone_id = "System" default_node_pool { name = "system" node_count = 1 vm_size = "Standard_DS2_v2" vnet_subnet_id = azurerm_subnet.aks.id } identity { type = "UserAssigned" identity_ids = [azurerm_user_assigned_identity.aks.id] } network_profile { load_balancer_sku = "standard" network_plugin = "azure" dns_service_ip = "10.2.0.10" service_cidr = "10.2.0.0/24" } }Güncelleştirilmiş Terraform yapılandırmasını
terraform planveterraform applykomutlarını kullanarak uygulayın.terraform plan terraform apply
Özel DNS için yapılandırma seçenekleri
Azure CLI (--private-dns-zone parametresiyle) veya Azure Resource Manager (ARM) şablonunu (privateDNSZone özelliğiyle) kullanarak özel 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 bulut için şu 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 Zone Contributor ve Network Contributor rollerine sahip kullanıcı tarafından atanan bir kimlik 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 kaynak kaynağını 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 DNS ile ilgili dikkat edilmesi gerekenler
Ö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, her iki aboneliğe de
Microsoft.ContainerServiceAzure sağlayıcısını 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
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.system, özel dns bölgesi yapılandırılırken varsayılan değerdir.--private-dns-zonedeğerini atlarsanız, AKS düğüm kaynak grubunda özel bir DNS bölgesi oluşturur.noneözel DNS bölgesi oluşturmayı devre dışı bırakır. -
--assign-identity <resource-id>: Özel DNS Zone Contributor ve Network Contributor rolleriyle kullanıcı tarafından atanan 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
Terraform yapılandırmasını ayarlamak ve senaryonuza bağlı olarak gerekli kaynakları oluşturmak için Gelişmiş ağ ile özel AKS kümesi oluşturma veya Varsayılan temel ağ ile özel AKS kümesi oluşturma makalesindeki 1-3 arası adımları izleyin. Bu örnekte gelişmiş ağ kullanılır.
AKS tarafından yönetilen özel DNS bölgesiyle özel bir AKS kümesi oluşturmak için aşağıdaki kodu
main.tfekleyin:resource "azurerm_kubernetes_cluster" "this" { name = var.aks_cluster_name location = azurerm_resource_group.this.location resource_group_name = azurerm_resource_group.this.name dns_prefix = "aks-system-dns" private_cluster_enabled = true private_dns_zone_id = "System" default_node_pool { name = "system" node_count = 1 vm_size = "Standard_DS2_v2" vnet_subnet_id = azurerm_subnet.aks.id } identity { type = "SystemAssigned" } network_profile { network_plugin = "azure" load_balancer_sku = "standard" dns_service_ip = "10.2.0.10" service_cidr = "10.2.0.0/24" } }Terraform'u başlatmak, Terraform yapılandırmasını biçimlendirmek ve doğrulamak, terraform yürütme planı oluşturmak, Terraform yapılandırmasını uygulamak ve AKS kümesine bağlanmak için adımları izleyin.
Özel DNS bölgesi olmadan özel AKS kümesi oluşturma
Terraform yapılandırmasını ayarlamak ve senaryonuza bağlı olarak gerekli kaynakları oluşturmak için Gelişmiş ağ ile özel AKS kümesi oluşturma veya Varsayılan temel ağ ile özel AKS kümesi oluşturma makalesindeki 1-3 arası adımları izleyin. Bu örnekte gelişmiş ağ kullanılır.
Aks kümesini özel DNS bölgesi olmadan oluşturmak için aşağıdaki kodu
main.tfekleyin:resource "azurerm_kubernetes_cluster" "this" { name = var.aks_cluster_name location = azurerm_resource_group.this.location resource_group_name = azurerm_resource_group.this.name dns_prefix = "aks-no-dns" private_cluster_enabled = true private_dns_zone_id = "None" default_node_pool { name = "system" node_count = 1 vm_size = "Standard_DS2_v2" vnet_subnet_id = azurerm_subnet.aks.id } identity { type = "SystemAssigned" } network_profile { network_plugin = "azure" load_balancer_sku = "standard" dns_service_ip = "10.2.0.10" service_cidr = "10.2.0.0/24" } }Terraform'u başlatmak, Terraform yapılandırmasını biçimlendirmek ve doğrulamak, terraform yürütme planı oluşturmak, Terraform yapılandırmasını uygulamak ve AKS kümesine bağlanmak için adımları izleyin.
Özel bir DNS bölgesi veya özel bir DNS alt bölgesi ile özel bir AKS kümesi oluşturma
Ö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 küresel bulutu için mevcut bir özel DNS bölgesinin veya alt bölgenin kaynak kimliği şu formatlardadır:privatelink.<region>.azmk8s.ioveya<subzone>.privatelink.<region>.azmk8s.io. -
--assign-identity <resource-id>: Özel DNS Zone Contributor ve Network Contributor rolleriyle kullanıcı tarafından atanan 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 [<custom-private-dns-zone-resource-id>|<custom-private-dns-subzone-resource-id>] \
--generate-ssh-keys
Özel bir özel DNS bölgesi kullanırken, Azure yönetilen DNS'ye güvenmek yerine DNS altyapısını oluşturmak ve yönetmek sizin sorumluluğunuzdadır. Bu, DNS bölgesini oluşturmayı, sanal ağınıza bağlamayı ve AKS'nin kayıtları yönetmesi için gerekli izinleri atamayı içerir.
Özel DNS yapılandırmaları için, Özel DNS Bölge Katkıcısı ve Ağ Katkıcısı rolleri ile kullanıcı tarafından atanan yönetilen bir kimlik kullanmanız gerekir.
Terraform yapılandırmasını ayarlamak ve senaryonuza bağlı olarak gerekli kaynakları oluşturmak için Gelişmiş ağ ile özel AKS kümesi oluşturma veya Varsayılan temel ağ ile özel AKS kümesi oluşturma makalesindeki 1-3 arası adımları izleyin. Bu örnekte gelişmiş ağ kullanılır.
main.tfetiketine özel bir DNS bölgesi veya alt bölgesi ile özel bir AKS kümesi oluşturmak için kodu ekleyin.resource "azurerm_user_assigned_identity" "aks" { name = "aks-custom-dns-id" location = azurerm_resource_group.this.location resource_group_name = azurerm_resource_group.this.name } resource "azurerm_private_dns_zone" "aks" { name = "privatelink.eastus.azmk8s.io" resource_group_name = azurerm_resource_group.this.name } resource "azurerm_private_dns_zone_virtual_network_link" "link" { name = "aks-dns-link" resource_group_name = azurerm_resource_group.this.name private_dns_zone_name = azurerm_private_dns_zone.aks.name virtual_network_id = azurerm_virtual_network.this.id } resource "azurerm_role_assignment" "dns" { scope = azurerm_private_dns_zone.aks.id role_definition_name = "Private DNS Zone Contributor" principal_id = azurerm_user_assigned_identity.aks.principal_id } resource "azurerm_role_assignment" "network" { scope = azurerm_virtual_network.this.id role_definition_name = "Network Contributor" principal_id = azurerm_user_assigned_identity.aks.principal_id } resource "azurerm_kubernetes_cluster" "this" { name = var.aks_cluster_name location = azurerm_resource_group.this.location resource_group_name = azurerm_resource_group.this.name dns_prefix = "aks-custom-dns" private_cluster_enabled = true private_dns_zone_id = azurerm_private_dns_zone.aks.id default_node_pool { name = "system" node_count = 1 vm_size = "Standard_DS2_v2" vnet_subnet_id = azurerm_subnet.aks.id } identity { type = "UserAssigned" identity_ids = [azurerm_user_assigned_identity.aks.id] } network_profile { network_plugin = "azure" load_balancer_sku = "standard" dns_service_ip = "10.2.0.10" service_cidr = "10.2.0.0/24" } depends_on = [ azurerm_role_assignment.dns, azurerm_role_assignment.network ] }Terraform'u başlatmak, Terraform yapılandırmasını biçimlendirmek ve doğrulamak, terraform yürütme planı oluşturmak, Terraform yapılandırmasını uygulamak ve AKS kümesine bağlanmak için adımları izleyin.
Özel bir özel DNS bölgesi ve özel alt etki alanı ile bir özel AKS kümesi oluşturun.
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 bulut için var olan 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 Zone Contributor ve Network Contributor rolleri ile atanmış bir kullanıcı yönetimli 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 <custom-private-dns-zone-resource-id> \
--fqdn-subdomain <subdomain> \
--generate-ssh-keys
Terraform yapılandırmasını ayarlamak ve senaryonuza bağlı olarak gerekli kaynakları oluşturmak için Gelişmiş ağ ile özel AKS kümesi oluşturma veya Varsayılan temel ağ ile özel AKS kümesi oluşturma makalesindeki 1-3 arası adımları izleyin. Bu örnekte gelişmiş ağ kullanılır.
Özel bir DNS bölgesi ve alt etki alanı ile özel bir AKS kümesi oluşturmak için aşağıdaki kodu
main.tfekleyin:resource "azurerm_kubernetes_cluster" "this" { name = var.aks_cluster_name location = azurerm_resource_group.this.location resource_group_name = azurerm_resource_group.this.name dns_prefix = "aks-subdomain" private_cluster_enabled = true private_dns_zone_id = azurerm_private_dns_zone.aks.id fqdn_subdomain = "team1" default_node_pool { name = "system" node_count = 1 vm_size = "Standard_DS2_v2" vnet_subnet_id = azurerm_subnet.aks.id } identity { type = "UserAssigned" identity_ids = [azurerm_user_assigned_identity.aks.id] } network_profile { network_plugin = "azure" load_balancer_sku = "standard" dns_service_ip = "10.2.0.10" service_cidr = "10.2.0.0/24" } }Terraform'u başlatmak, Terraform yapılandırmasını biçimlendirmek ve doğrulamak, terraform yürütme planı oluşturmak, Terraform yapılandırmasını uygulamak ve AKS kümesine bağlanmak için adımları izleyin.
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 node görüntü yükseltme 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
Özel AKS kümesini bir özel DNS bölgesinden genele güncelleştirmek için aşağıdaki kodu var olan
main.tfkoda ekleyin. Bu örnekte gelişmiş ağ kullanılır. İlgili Terraform kaynaklarını ve parametrelerini değiştirerek varsayılan temel ağı kullanacak şekilde değiştirebilirsiniz.resource "azurerm_kubernetes_cluster" "this" { name = var.aks_cluster_name location = azurerm_resource_group.this.location resource_group_name = azurerm_resource_group.this.name dns_prefix = "aks-update" private_cluster_enabled = true private_dns_zone_id = "None" default_node_pool { name = "system" node_count = 1 vm_size = "Standard_DS2_v2" vnet_subnet_id = azurerm_subnet.aks.id } identity { type = "UserAssigned" identity_ids = [azurerm_user_assigned_identity.aks.id] } network_profile { network_plugin = "azure" load_balancer_sku = "standard" dns_service_ip = "10.2.0.10" service_cidr = "10.2.0.0/24" } }Güncelleştirilmiş Terraform yapılandırmasını
terraform planveterraform applykomutlarını kullanarak uygulayın.terraform plan terraform apply
Terraform'u başlatma
main.tf komutunu kullanarak terraform init dosyanızın bulunduğu dizinde Terraform'u başlatın. Bu komut Terraform ile Azure kaynakları yönetmek için gereken Azure sağlayıcısını indirir.
terraform init
Terraform yapılandırmasını biçimlendirme ve doğrulama
terraform fmt ve terraform validate komutlarını kullanarak Terraform yapılandırmasını biçimlendirin ve doğrulayın.
terraform fmt
terraform validate
Terraform için bir yürütme planı oluşturun
terraform plan komutunu kullanarak bir Terraform yürütme planı oluşturun. Bu komut, Terraform'un Azure aboneliğinizde oluşturacağı veya değiştireceği kaynakları gösterir.
terraform plan -var="subscription_id=<your-subscription-id>"
Terraform yapılandırmasını uygulama
Yürütme planını gözden geçirip onayladıktan sonra komutunu kullanarak terraform apply Terraform yapılandırmasını uygulayın. Bu komut, Azure aboneliğinizdeki main.tf dosyanızda tanımlanan kaynakları oluşturur veya değiştirir.
terraform apply -var="subscription_id=<your-subscription-id>"
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. Azure Cloud Shell kullanıyorsanız kubectl zaten yüklüdür.
kubectl yerel olarak yüklemek için az aks install-cli komutunu kullanın.
Önce
kubectl'ü Kubernetes kümenize bağlanacak şekildeaz aks get-credentialskomutunu 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>komutunu kullanarak
kubectl getkümenize bağlantıyı doğrulayın. Bu komut, küme düğümlerinin listesini döndürür.kubectl get nodeskomut, 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