Aracılığıyla paylaş


Hızlı Başlangıç: Azure Kubernetes Service (AKS) Otomatik kümesi oluşturma

Şunlar için geçerlidir: ✔️ AKS Otomatik

Azure Kubernetes Service (AKS) Otomatik , geliştiriciler, DevOps mühendisleri ve platform mühendisleri için en kolay yönetilen Kubernetes deneyimini sağlar. Modern ve yapay zeka uygulamaları için ideal olan AKS Otomatik, AKS kümesi kurulumunu ve işlemlerini otomatikleştirir ve en iyi uygulama yapılandırmalarını ekler. Herhangi bir beceri düzeyindeki kullanıcılar, AKS Otomatik'in uygulamaları için güvenlik, performans ve güvenilirlikten yararlanabilir. AKS Otomatik ayrıca 5 dakika içinde tamamlanan pod hazır olma işlemlerinin 99,9% garantisini ve uygulamalarınız için güvenilir, kendi kendini iyileştiren altyapıyı garanti eden bir pod hazırlığı SLA'sı içerir.

Bu hızlı başlangıçta şunları öğreneceksiniz:

  • AKS otomatik kümesini dağıtın.
  • Mikroservis ve web ön uçlarından oluşan bir grupla perakende senaryosunu simüle eden örnek bir çok kapsayıcılı uygulama çalıştırın.

Başlamadan önce

  • Bu makale, Azure CLI'nın 2.77.0 veya sonraki bir sürümünü gerektirir. Azure Cloud Shell kullanıyorsanız en son sürüm zaten orada yüklüdür.
  • Birden çok Azure aboneliğiniz varsa, komutu kullanılarak az account set kaynakların faturalandırılacağı uygun abonelik kimliğini seçin.
  • Bicep dosyasını dağıtmak için oluşturduğunuz kaynaklar üzerinde yazma izinlerine ve Microsoft.Resources/deployments kaynak türünde tüm işlemlere erişim iznine sahip olmanız gerekir. Örneğin, bir sanal makine oluşturmak için Microsoft.Compute/virtualMachines/write ve Microsoft.Resources/deployments/* izinlerine ihtiyacınız vardır. Rol ve izinlerin listesi için bkz. Azure yerleşik rolleri.

Sınırlamalar

  • AKS Otomatik kümelerinin sistem düğüm havuzu, en az üç kullanılabilirlik alanı, kısa ömürlü işletim sistemi diski ve Azure Linux işletim sistemini destekleyen Azure bölgelerinde dağıtım gerektirir.
  • YALNıZCA API Server Sanal Ağ Tümleştirmesi'nin (GA) genel olarak kullanılabildiği bölgelerde AKS Otomatik kümeleri oluşturabilirsiniz.

Önemli

AKS Otomatik, abonelikte kullanılabilir kapasiteye göre düğüm havuzu için system dinamik olarak bir sanal makine boyutu seçmeye çalışır. Aboneliğinizin, kümeyi dağıttığınız bölgede aşağıdaki boyutlardan herhangi biri için 16 vCPU kotası olduğundan emin olun: Standard_D4lds_v5, Standard_D4ads_v5, Standard_D4ds_v5, Standard_D4d_v5, Standard_D4d_v4, Standard_DS3_v2, Standard_DS12_v2, Standard_D4alds_v6, Standard_D4lds_v6 veya Standard_D4alds_v5. Azure portalı aracılığıyla belirli VM aileleri için kotaları görüntüleyebilir ve kota artışı istekleri gönderebilirsiniz . Başka sorularınız varsa sorun giderme belgeleri aracılığıyla daha fazla bilgi edinin.

Kaynak grubu oluşturma

Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği mantıksal bir grupdur.

Aşağıdaki örnek eastus konumunda myResourceGroup adlı bir kaynak grubu oluşturur.

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

az group create --name myResourceGroup --location eastus

Aşağıdaki örnek çıktı, kaynak grubunun başarıyla oluşturulmasına benzer:

{
  "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
  "location": "eastus",
  "managedBy": null,
  "name": "myResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

AKS Otomatik kümesi oluşturma

AKS Otomatik kümesi oluşturmak için komutunu kullanın az aks create . Aşağıdaki örnek, Yönetilen Prometheus ve Container Insights tümleştirmesi etkinleştirilmiş myAKSAutomaticCluster adlı bir küme oluşturur.

az aks create \
    --resource-group myResourceGroup \
    --name myAKSAutomaticCluster \
    --sku automatic

Birkaç dakika sonra komut tamamlanıp kümeyle ilgili JSON biçimli bilgileri döndürür.

Kümeye bağlanma

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. Yerel olarak yüklemek kubectl için komutunu çalıştırın az aks install-cli . AKS Otomatik kümeleri , Kubernetes rol tabanlı erişim denetimi (RBAC) için Microsoft Entra Id ile yapılandırılır.

Uyarı

Azure CLI kullanarak bir küme oluşturduğunuzda, kullanıcınıza için Azure Kubernetes Service RBAC Cluster Admin.

Ö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 myResourceGroup --name myAKSAutomaticCluster

Kümelenize olan bağlantınızı kubectl get komutunu kullanarak doğrulayın. Bu komut, küme düğümlerinin listesini döndürür.

kubectl get nodes

Aşağıdaki örnek çıktıda nasıl oturum açmanız istendiğiniz gösterilmektedir.

To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.

Oturum açtıktan sonra aşağıdaki örnek çıktı yönetilen sistem düğümü havuzlarını gösterir. Düğüm durumunun Hazır olduğundan emin olun.

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-13213685-vmss000000   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000001   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000002   Ready    agent   2m26s   v1.28.5

Otomatik Kubernetes kümesi oluşturma

  1. AKS Otomatik kümesi oluşturmak için Kubernetes Services'i arayın ve açılan seçeneklerden Otomatik Kubernetes kümesi'ni seçin.

    Azure portalında AKS Otomatik kümesi oluşturmaya yönelik giriş noktasının ekran görüntüsü.

  2. Temel Bilgiler sekmesinde, başlamak için gereken tüm zorunlu alanları (Abonelik, Kaynak grubu, Kubernetes küme adı ve Bölge) doldurun:

    Azure portalında AKS Otomatik kümesi için Oluştur - Temel Bilgiler sekmesinin ekran görüntüsü.

  3. İzleme sekmesinde, Azure İzleyici, Yönetilen Prometheus, Grafana Panoları, Kapsayıcı Ağı Gözlemlenebilirliği (ACNS) ve/veya uyarıları yapılandırarak izleme yapılandırmalarınızı seçin. Yönetilen Grafana'yı etkinleştirin (isteğe bağlı), etiket ekleyin (isteğe bağlı) ve kümeyi oluşturmaya devam edin.

    Azure portalında AKS Otomatik kümesi oluşturulurken İzleme Sekmesinin ekran görüntüsü.

  4. Gelişmiş sekmesinde ağ (isteğe bağlı), yönetilen kimlik (isteğe bağlı), güvenlik ve yönetilen ad alanları (isteğe bağlı) ayarlarınızı güncelleştirin ve kümeyi oluşturmaya devam edin.

    Azure portalında AKS Otomatik kümesi oluşturulurken Gelişmiş Sekmesinin ekran görüntüsü.

  5. GitHub'dan ilk uygulamanızı yapılandırmaya başlayın ve otomatik dağıtım işlem hattı ayarlayın.

    Azure portalında AKS Otomatik kümesi açıldıktan sonra Genel Bakış sekmesindeki Başlarken sekmesinin ekran görüntüsü.

Kümeye bağlanma

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. Yerel olarak kubectl yüklemek için az aks install-cli komutunu çalıştırın. AKS Otomatik kümeleri , Kubernetes rol tabanlı erişim denetimi (RBAC) için Microsoft Entra Id ile yapılandırılır. Azure portalını kullanarak bir küme oluşturduğunuzda, kullanıcınıza için Azure Kubernetes Service RBAC Cluster Admin.

Ö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 myResourceGroup --name myAKSAutomaticCluster

Kümelenize olan bağlantınızı kubectl get komutunu kullanarak doğrulayın. Bu komut, küme düğümlerinin listesini döndürür.

kubectl get nodes

Aşağıdaki örnek çıktıda nasıl oturum açmanız istendiğiniz gösterilmektedir.

To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.

Oturum açtıktan sonra aşağıdaki örnek çıktı yönetilen sistem düğümü havuzlarını gösterir. Düğüm durumunun Hazır olduğundan emin olun.

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-13213685-vmss000000   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000001   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000002   Ready    agent   2m26s   v1.28.5

Kaynak grubu oluşturma

Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği mantıksal bir grupdur. Bir kaynak grubu oluşturduğunuzda, bir konum belirtmeniz istenir. Bu konum, kaynak grubu meta verilerinizin depolama konumudur ve kaynak oluşturma sırasında başka bir bölge belirtmezseniz kaynaklarınızın Azure'da çalıştırıldığı konumdur.

Aşağıdaki örnek eastus konumunda myResourceGroup adlı bir kaynak grubu oluşturur.

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

az group create --name myResourceGroup --location eastus

Aşağıdaki örnek çıktı, kaynak grubunun başarıyla oluşturulmasına benzer:

{
  "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
  "location": "eastus",
  "managedBy": null,
  "name": "myResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

Bicep dosyasını gözden geçir

Bu Bicep dosyası bir AKS Otomatik Kümesi tanımlar. Önizleme aşamasındayken sistem nodepool aracı havuzu profilini belirtmeniz gerekir.

@description('The name of the managed cluster resource.')
param clusterName string = 'myAKSAutomaticCluster'

@description('The location of the managed cluster resource.')
param location string = resourceGroup().location

resource aks 'Microsoft.ContainerService/managedClusters@2024-03-02-preview' = {
  name: clusterName
  location: location  
  sku: {
	name: 'Automatic'
  }
  properties: {
    agentPoolProfiles: [
      {
        name: 'systempool'
        mode: 'System'
	count: 3
      }
    ]
  }
  identity: {
    type: 'SystemAssigned'
  }
}

Bicep dosyasında tanımlanan kaynak hakkında daha fazla bilgi için bkz. Microsoft.ContainerService/managedClusters başvurusu.

Bicep dosyasını yükle

  1. Bicep dosyasını yerel bilgisayarınıza main.bicep olarak kaydedin.

    Önemli

    Bicep dosyası param parametresini clusterNamemyAKSAutomaticCluster dizesine ayarlar. Farklı bir küme adı kullanmak istiyorsanız, dosyayı bilgisayarınıza kaydetmeden önce dizeyi tercih ettiğiniz küme adıyla güncelleştirdiğinizden emin olun.

  2. Azure CLI kullanarak Bicep dosyasını dağıtın.

    az deployment group create --resource-group myResourceGroup --template-file main.bicep
    

    AKS kümesinin oluşturulması birkaç dakika sürer. Sonraki adıma geçmeden önce kümenin başarıyla dağıtılması için bekleyin.

Kümeye bağlanma

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. Yerel olarak kubectl yüklemek için az aks install-cli komutunu çalıştırın. AKS Otomatik kümeleri , Kubernetes rol tabanlı erişim denetimi (RBAC) için Microsoft Entra Id ile yapılandırılır.

Önemli

Bicep kullanarak bir küme oluşturduğunuzda, yerleşik rollerden biri olanAzure Kubernetes Service RBAC Reader, Azure Kubernetes Service RBAC Writer, Azure Kubernetes Service RBAC Admin veya Azure Kubernetes Service RBAC Cluster Admin rollerini kullanıcılarınıza küme veya belirli bir ad alanı kapsamında atamanız gerekir, örneğin, az role assignment create --role "Azure Kubernetes Service RBAC Cluster Admin" --scope <AKS cluster resource id> --assignee user@contoso.com kullanarak. Ayrıca, kullanıcılarınızın Azure Kubernetes Service Cluster User yerleşik rolüne sahip olduklarından emin olun, az aks get-credentials komutunu çalıştırabilsinler ve ardından az aks get-credentials komutunu kullanarak AKS kümenizin kubeconfig’ini alın.

Ö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 myResourceGroup --name 

Kümelenize olan bağlantınızı kubectl get komutunu kullanarak doğrulayın. Bu komut, küme düğümlerinin listesini döndürür.

kubectl get nodes

Aşağıdaki örnek çıktıda nasıl oturum açmanız istendiğiniz gösterilmektedir.

To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.

Oturum açtıktan sonra aşağıdaki örnek çıktı yönetilen sistem düğümü havuzlarını gösterir. Düğüm durumunun Hazır olduğundan emin olun.

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-13213685-vmss000000   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000001   Ready    agent   2m26s   v1.28.5
aks-nodepool1-13213685-vmss000002   Ready    agent   2m26s   v1.28.5

Uygulamayı dağıt

Uygulamayı dağıtmak için, AKS Store uygulamasını çalıştırmak için gereken tüm nesneleri oluşturmak için bir bildirim dosyası kullanırsınız. Kubernetes bildirim dosyası, hangi kapsayıcı görüntülerinin çalıştırıldığı gibi kümenin istenen durumunu tanımlar. Bildirim aşağıdaki Kubernetes dağıtımlarını ve hizmetlerini içerir:

Azure Store örnek mimarisinin ekran görüntüsü.

  • Mağaza ön: Müşterilerin ürünleri görüntülemesi ve sipariş vermesi için web uygulaması.
  • Ürün hizmeti: Ürün bilgilerini gösterir.
  • Sipariş hizmeti: Sipariş verir.
  • Rabbit MQ: Sipariş kuyruğu için ileti kuyruğu.

Uyarı

Üretim için kalıcı depolama olmadan Rabbit MQ gibi durum bilgisi olan kapsayıcıları çalıştırmanızı önermiyoruz. Bunlar burada kolaylık sağlamak için kullanılır, ancak Azure Cosmos DB veya Azure Service Bus gibi yönetilen hizmetleri kullanmanızı öneririz.

  1. Kubernetes kaynaklarını dağıtmak için bir ad alanı aks-store-demo oluşturun.

    kubectl create ns aks-store-demo
    
  2. komutunu kullanarak kubectl apply uygulamayı ad alanına dağıtın aks-store-demo . Dağıtımı tanımlayan YAML dosyası GitHub'dadır.

    kubectl apply -n aks-store-demo -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-ingress-quickstart.yaml
    

    Aşağıdaki örnek çıktı dağıtımları ve hizmetleri gösterir:

    statefulset.apps/rabbitmq created
    configmap/rabbitmq-enabled-plugins created
    service/rabbitmq created
    deployment.apps/order-service created
    service/order-service created
    deployment.apps/product-service created
    service/product-service created
    deployment.apps/store-front created
    service/store-front created
    ingress/store-front created
    

Uygulamayı test edin

Uygulama çalıştırıldığında Kubernetes hizmeti, uygulamanın ön ucunu İnternet'te kullanıma sunar. Bu işlemin tamamlanması birkaç dakika sürebilir.

  1. kubectl get pods komutunu kullanarak dağıtılan podların durumunu denetleyin. Devam etmeden önce tüm podların Running olduğundan emin olun. Dağıtacağınız ilk iş yükü buysa, düğüm otomatik sağlamanın podları çalıştırmak için bir düğüm havuzu oluşturması birkaç dakika sürebilir.

    kubectl get pods -n aks-store-demo
    
  2. Mağaza ön uygulaması için genel IP adresi olup olmadığını denetleyin. Bağımsız değişkeniyle kubectl get service komutunu kullanarak ilerleme durumunu izleyin.

    kubectl get ingress store-front -n aks-store-demo --watch
    

    Hizmetin ADDRESS çıkışı store-front başlangıçta boş görünüyor:

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *                      80      12m
    
  3. ADRES boştan gerçek bir genel IP adresine geçtikten CTRL-C sonra izleme işlemini durdurmak için kullanınkubectl.

    Aşağıdaki örnek çıktı hizmete atanmış geçerli bir genel IP adresini gösterir:

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *       4.255.22.196   80      12m
    
  4. Azure Store uygulamasının çalıştığını görmek için girişinizin dış IP adresine bir web tarayıcısı açın.

    AKS Store örnek uygulamasının ekran görüntüsü.

Kümeyi sil

AKS öğreticisini incelemeyi planlamıyorsanız, Azure ücretlerinden kaçınmak için gereksiz kaynakları temizleyin. Kaynak grubunu, kapsayıcı hizmetini ve tüm ilgili kaynakları kaldırmak için az group delete komutunu çalıştırın.

az group delete --name myResourceGroup --yes --no-wait

Uyarı

AKS kümesi, bu hızlı başlangıçta kullanılan varsayılan kimlik seçeneği olan sistem tarafından atanan yönetilen kimlikle oluşturulmuştur. Platform bu kimliği yönetir, bu nedenle el ile kaldırmanız gerekmez.

Sonraki adımlar

Bu hızlı başlangıçta, AKS Otomatik kullanarak bir Kubernetes kümesi dağıttınız ve bundan sonra basit birden fazla kapsayıcılı bir uygulama dağıttınız. Bu örnek uygulama yalnızca tanıtım amaçlıdır ve Kubernetes uygulamaları için en iyi yöntemlerin tümünü temsil etmez. Üretim için AKS ile tam çözüm oluşturma yönergeleri için bkz . AKS çözümü kılavuzu.

AKS Otomatik hakkında daha fazla bilgi edinmek için giriş bölümüne geçin.