Öğretici: Ansible kullanarak Azure'da Azure Kubernetes Service (AKS) kümelerini yapılandırma
Önemli
Bu makaledeki örnek playbook'ları çalıştırmak için Ansible 2.8 (veya üzeri) gereklidir.
Azure Kubernetes Service (AKS), Azure'da yönetilen bir Kubernetes kümesi dağıtmayı kolaylaştırır. AKS, sorumluluğun çoğunu Azure'a devrederek Kubernetes yönetiminin karmaşıklığını ve işlemsel yükünü azaltır. 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. Kubernetes ana düğümler Azure tarafından yönetilir. Siz yalnızca aracı düğümlerini yönetir ve sürdürürsünüz. Yönetilen bir Kubernetes hizmeti olarak AKS ücretsizdir; yalnızca kümelerinizdeki aracı düğümleri için ödeme gerçekleştirirsiniz; Ustalar için değil.
AKS, kullanıcı kimlik doğrulaması için Microsoft Entra Id kullanacak şekilde yapılandırılabilir. Yapılandırıldıktan sonra, AKS kümesinde oturum açmak için Microsoft Entra kimlik doğrulama belirtecinizi kullanırsınız. RBAC, bir kullanıcının kimliğine veya dizin grubu üyeliğine dayalı olabilir.
Bu makalede şunları öğreneceksiniz:
- AKS kümesi oluşturma
- AKS kümesini yapılandırma
Önkoşullar
- Azure aboneliği: Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- Azure hizmet sorumlusu: Aşağıdaki değerleri not ederek bir hizmet sorumlusu oluşturun: appId, displayName, password ve tenant.
Ansible'ı Yükleme: Aşağıdaki seçeneklerden birini yapın:
- Ansible'ı Linux sanal makinesine yükleme ve yapılandırma
- Azure Cloud Shell'i yapılandırın ve Linux sanal makinesine erişiminiz yoksa Ansible ile bir sanal makine oluşturun.
Yönetilen AKS kümesi oluşturma
Örnek playbook, kaynak grubu içinde bir kaynak grubu ve aks kümesi oluşturur.
Aşağıdaki playbook'u azure_create_aks.yml
olarak kaydedin:
- 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:
- içindeki ilk bölüm
tasks
, konum içindeeastus
adlımyResourceGroup
bir kaynak grubunu tanımlar. - içindeki
tasks
ikinci bölüm, kaynak grubu içindemyResourceGroup
adlımyAKSCluster
bir AKS kümesini tanımlar. - Yer tutucu için
your_ssh_key
, RSA ortak anahtarınızı "ssh-rsa" ile (tırnak işaretleri olmadan) başlayarak tek satır biçiminde girin. - Yer tutucu için
aks_version
az aks get-versions komutunu kullanın.
Ansible-playbook kullanarak playbook'u çalıştırma
ansible-playbook azure_create_aks.yml
Playbook çalıştırılırken aşağıdaki çıkışa benzer sonuçlar gösterilir:
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çeklendirme
Önceki bölümde yer alan örnek playbook, iki düğüm tanımlar. Bloktaki agent_pool_profiles
değeri değiştirerek count
düğüm sayısını ayarlarsınız.
Aşağıdaki playbook'u azure_configure_aks.yml
olarak kaydedin:
- 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:
- Yer tutucu için
your_ssh_key
, RSA ortak anahtarınızı "ssh-rsa" ile (tırnak işaretleri olmadan) başlayarak tek satır biçiminde girin.
Ansible-playbook kullanarak playbook'u çalıştırma
ansible-playbook azure_configure_aks.yml
Playbook çalıştırılırken aşağıdaki çıkışa benzer sonuçlar gösterilir:
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 silme
Örnek playbook bir AKS kümesini siler.
Aşağıdaki playbook'u azure_delete_aks.yml
olarak kaydedin:
- 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 kullanarak playbook'u çalıştırma
ansible-playbook azure_delete_aks.yml
Playbook çalıştırılırken aşağıdaki çıkışa benzer sonuçlar gösterilir:
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ımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin