Öğretici: Azure 'da Azure Kubernetes hizmeti (AKS) kümelerini anormal kullanarak yapılandırmaTutorial: Configure Azure Kubernetes Service (AKS) clusters in Azure using Ansible

Önemli

Ansible 2.8 (veya üzeri), bu makaledeki örnek playbook'ları çalıştırmak için gereklidir.Ansible 2.8 (or later) is required to run the sample playbooks in this article.

Azure Kubernetes Service (AKS) azure'da yönetilen bir Kubernetes kümesi dağıtmak basit hale getirir.Azure Kubernetes Service (AKS) makes it simple to deploy a managed Kubernetes cluster in Azure. AKS, sorumluluğun çoğunu Azure'a devrederek Kubernetes yönetiminin karmaşıklığını ve işlemsel yükünü azaltır.AKS reduces the complexity and operational overhead of managing Kubernetes by offloading much of that responsibility to Azure. Barındırılan bir Kubernetes hizmeti olarak, Azure sistem durumu izleme ve bakım gibi kritik görevleri sizin için gerçekleştirir.As a hosted Kubernetes service, Azure handles critical tasks like health monitoring and maintenance for you. Kubernetes ana düğümler Azure tarafından yönetilir.The Kubernetes masters are managed by Azure. Siz yalnızca aracı düğümlerini yönetir ve sürdürürsünüz.You only manage and maintain the agent nodes. Yönetilen bir Kubernetes hizmeti olarak AKS ücretsiz - kümelerinizi içinde; yalnızca aracı düğümler için ödeme yapın değil yöneticileri için.As a managed Kubernetes service, AKS is free - you pay only for the agent nodes within your clusters; not for the masters.

AKS, Kullanıcı kimlik doğrulaması için Azure Active Directory (ad) kullanacak şekilde yapılandırılabilir.AKS can be configured to use Azure Active Directory (AD) for user authentication. Yapılandırıldıktan sonra, AKS kümesinde oturum açmak için Azure AD kimlik doğrulama belirtecinizi kullanırsınız.Once configured, you use your Azure AD authentication token to sign into the AKS cluster. RBAC, kullanıcının kimliğini veya dizin grubu üyeliğini temel alabilir.The RBAC can be based on a user's identity or directory group membership.

Bu öğreticide, Ansible için kullanılır:In this tutorial, Ansible is used to:

  • AKS kümesi oluşturmaCreate an AKS cluster
  • AKS kümesi yapılandırmaConfigure an AKS cluster

ÖnkoşullarPrerequisites

  • Azure aboneliği: Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.Azure subscription: If you don't have an Azure subscription, create a free account before you begin.

Yönetilen AKS kümesi oluşturmaCreate a managed AKS cluster

Örnek PlayBook, kaynak grubu içinde bir kaynak grubu ve bir AKS kümesi oluşturur.The sample playbook creates a resource group and an AKS cluster within the resource group.

Aşağıdaki playbook'u azure_create_aks.yml olarak kaydedin:Save the following playbook as azure_create_aks.yml:

- name: Create Azure Kubernetes Service
  hosts: localhost
  connection: local
  vars:
    resource_group: myResourceGroup
    location: eastus
    aks_name: myAKSCluster
    username: azureuser
    ssh_key: "your_ssh_key"
    client_id: "your_client_id"
    client_secret: "your_client_secret"
    aks_version: aks_version
tasks:
  - name: Create resource group
    azure_rm_resourcegroup:
      name: "{{ resource_group }}"
      location: "{{ location }}"
  - name: Create a managed Azure Container Services (AKS) cluster
    azure_rm_aks:
      name: "{{ aks_name }}"
      location: "{{ location }}"
      resource_group: "{{ resource_group }}"
      dns_prefix: "{{ aks_name }}"
      kubernetes_version: "{{aks_version}}"
      linux_profile:
        admin_username: "{{ username }}"
        ssh_key: "{{ ssh_key }}"
      service_principal:
        client_id: "{{ client_id }}"
        client_secret: "{{ client_secret }}"
      agent_pool_profiles:
        - name: default
          count: 2
          vm_size: Standard_D2_v2
      tags:
        Environment: Production

PlayBook 'u çalıştırmadan önce aşağıdaki notlara bakın:Before running the playbook, see the following notes:

  • tasks içindeki ilk bölüm eastus konumu içinde myResourceGroup adlı bir kaynak grubu tanımlar.The first section within tasks defines a resource group named myResourceGroup within the eastus location.
  • tasks içindeki ikinci bölüm myResourceGroup kaynak grubu içinde myAKSCluster adlı bir AKS kümesini tanımlar.The second section within tasks defines an AKS cluster named myAKSCluster within the myResourceGroup resource group.
  • your_ssh_key yer tutucusu için, "SSH-RSA" (tırnak işaretleri olmadan) ile başlayan RSA ortak anahtarınızı tek satırlık biçimde girin.For the your_ssh_key placeholder, enter your RSA public key in the single-line format - starting with "ssh-rsa" (without the quotes).
  • aks_version yer tutucusu için az aks get-versions komutunu kullanın.For the aks_version placeholder, use the az aks get-versions command.

ansible-playbook komutunu kullanarak PlayBook 'u çalıştırın:Run the playbook using the ansible-playbook command:

ansible-playbook azure_create_aks.yml

PlayBook 'un çalıştırılması aşağıdaki çıktıya benzer sonuçları gösterir:Running the playbook shows results similar to the following output:

PLAY [Create AKS] 

TASK [Gathering Facts] 
ok: [localhost]

TASK [Create resource group] 
changed: [localhost]

TASK [Create an Azure Container Services (AKS) cluster] 
changed: [localhost]

PLAY RECAP 
localhost                  : ok=3    changed=2    unreachable=0    failed=0

AKS düğümlerini ölçeklendirmeScale AKS nodes

Önceki bölümde yer alan örnek playbook, iki düğüm tanımlar.The sample playbook in the previous section defines two nodes. agent_pool_profiles bloğundaki count değerini değiştirerek düğüm sayısını ayarlayabilirsiniz.You adjust the number of nodes by modifying the count value in the agent_pool_profiles block.

Aşağıdaki playbook'u azure_configure_aks.yml olarak kaydedin:Save the following playbook as azure_configure_aks.yml:

- name: Scale AKS cluster
  hosts: localhost
  connection: local
  vars:
    resource_group: myResourceGroup
    location: eastus
    aks_name: myAKSCluster
    username: azureuser
    ssh_key: "your_ssh_key"
    client_id: "your_client_id"
    client_secret: "your_client_secret"
  tasks:
  - name: Scaling an existed AKS cluster
    azure_rm_aks:
        name: "{{ aks_name }}"
        location: "{{ location }}"
        resource_group: "{{ resource_group }}"
        dns_prefix: "{{ aks_name }}"
        linux_profile:
          admin_username: "{{ username }}"
          ssh_key: "{{ ssh_key }}"
        service_principal:
          client_id: "{{ client_id }}"
          client_secret: "{{ client_secret }}"
        agent_pool_profiles:
          - name: default
            count: 3
            vm_size: Standard_D2_v2

PlayBook 'u çalıştırmadan önce aşağıdaki notlara bakın:Before running the playbook, see the following notes:

  • your_ssh_key yer tutucusu için, "SSH-RSA" (tırnak işaretleri olmadan) ile başlayan RSA ortak anahtarınızı tek satırlık biçimde girin.For the your_ssh_key placeholder, enter your RSA public key in the single-line format - starting with "ssh-rsa" (without the quotes).

ansible-playbook komutunu kullanarak PlayBook 'u çalıştırın:Run the playbook using the ansible-playbook command:

ansible-playbook azure_configure_aks.yml

PlayBook 'un çalıştırılması aşağıdaki çıktıya benzer sonuçları gösterir:Running the playbook shows results similar to the following output:

PLAY [Scale AKS cluster] 

TASK [Gathering Facts] 
ok: [localhost]

TASK [Scaling an existed AKS cluster] 
changed: [localhost]

PLAY RECAP 
localhost                  : ok=2    changed=1    unreachable=0    failed=0

Yönetilen AKS kümesini silmeDelete a managed AKS cluster

Örnek PlayBook bir AKS kümesini siler.The sample playbook deletes an AKS cluster.

Aşağıdaki playbook'u azure_delete_aks.yml olarak kaydedin:Save the following playbook as azure_delete_aks.yml:

- name: Delete a managed Azure Container Services (AKS) cluster
  hosts: localhost
  connection: local
  vars:
    resource_group: myResourceGroup
    aks_name: myAKSCluster
  tasks:
  - name:
    azure_rm_aks:
      name: "{{ aks_name }}"
      resource_group: "{{ resource_group }}"
      state: absent

ansible-playbook komutunu kullanarak PlayBook 'u çalıştırın:Run the playbook using the ansible-playbook command:

ansible-playbook azure_delete_aks.yml

PlayBook 'un çalıştırılması aşağıdaki çıktıya benzer sonuçları gösterir:Running the playbook shows results similar to the following output:

PLAY [Delete a managed Azure Container Services (AKS) cluster] 

TASK [Gathering Facts] 
ok: [localhost]

TASK [azure_rm_aks] 

PLAY RECAP 
localhost                  : ok=2    changed=1    unreachable=0    failed=0

Sonraki adımlarNext steps