Oktatóanyag: Azure Kubernetes Service- (AKS-) fürtök konfigurálása az Azure-ban az Ansible használatával

Fontos

Az Ansible 2.8 (vagy újabb) szükséges a jelen cikkben szereplő minta forgatókönyvek futtatásához.

Az Azure Kubernetes Service (AKS) egyszerűvé teszi egy felügyelt Kubernetes-fürt üzembe helyezését az Azure-ban. Az AKS egyszerűsíti a Kubernetes kezelését és csökkenti annak működési munkaterhelését azáltal, hogy a felelősség nagy részét az Azure-ra helyezi át. Üzemeltetett Kubernetes-szolgáltatásként az Azure olyan fontos műveleteket bonyolít le, mint az állapotmonitorozás és a karbantartás. A Kubernetes fő csomópontokat az Azure felügyeli. Ön csak az ügynökcsomópontokat felügyeli és tartja karban. Felügyelt Kubernetes-szolgáltatásként az AKS ingyenes – csak a fürtök ügynökcsomópontjaiért kell fizetnie; nem a mesterek számára.

Az AKS konfigurálható úgy, hogy a Microsoft Entra-azonosítót használja a felhasználói hitelesítéshez. A konfigurálás után a Microsoft Entra hitelesítési jogkivonatával jelentkezzen be az AKS-fürtbe. Az RBAC a felhasználó identitásán vagy címtárcsoport-tagságán alapulhat.

Ebben a cikkben az alábbiakkal ismerkedhet meg:

  • AKS-fürt létrehozása
  • AKS-fürt konfigurálása

Előfeltételek

  • Azure-előfizetés: Ha nem rendelkezik Azure-előfizetéssel, első lépésként mindössze néhány perc alatt létrehozhat egy ingyenes fiókot.

Felügyelt AKS-fürt létrehozása

A minta forgatókönyv létrehoz egy erőforráscsoportot és egy AKS-fürtöt az erőforráscsoporton belül.

Mentse a következő forgatókönyvet azure_create_aks.yml néven:

- 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

A forgatókönyv futtatása előtt tekintse meg a következő megjegyzéseket:

  • Az első szakasz tasks egy, a helyen belül elnevezett myResourceGroup erőforráscsoportot eastus határoz meg.
  • A második szakasz tasks egy, az erőforráscsoporton belül elnevezett myAKSCluster AKS-fürtöt myResourceGroup határoz meg.
  • your_ssh_key A helyőrzőhöz adja meg az RSA nyilvános kulcsát egysoros formátumban – kezdve az "ssh-rsa" értékkel (idézőjelek nélkül).
  • aks_version A helyőrzőhöz használja az az aks get-versions parancsot.

A forgatókönyv futtatása ansible-playbook használatával

ansible-playbook azure_create_aks.yml

A forgatókönyv futtatása az alábbi kimenethez hasonló eredményeket jelenít meg:

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-csomópontok skálázása

Az előző szakaszban lévő mintaforgatókönyv két csomópontot definiál. A csomópontok számát a blokk értékének agent_pool_profiles módosításával count módosíthatja.

Mentse a következő forgatókönyvet azure_configure_aks.yml néven:

- 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

A forgatókönyv futtatása előtt tekintse meg a következő megjegyzéseket:

  • your_ssh_key A helyőrzőhöz adja meg az RSA nyilvános kulcsát egysoros formátumban – kezdve az "ssh-rsa" értékkel (idézőjelek nélkül).

A forgatókönyv futtatása ansible-playbook használatával

ansible-playbook azure_configure_aks.yml

A forgatókönyv futtatása az alábbi kimenethez hasonló eredményeket jelenít meg:

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

Felügyelt AKS-fürt törlése

A minta forgatókönyv töröl egy AKS-fürtöt.

Mentse a következő forgatókönyvet azure_delete_aks.yml néven:

- 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

A forgatókönyv futtatása ansible-playbook használatával

ansible-playbook azure_delete_aks.yml

A forgatókönyv futtatása az alábbi kimenethez hasonló eredményeket jelenít meg:

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

További lépések