Aracılığıyla paylaş


Ansible playbook'larını kullanarak makineleri uygun ölçekte Bağlan

Ansible playbook'larını kullanarak Ansible tarafından yönetilen düğümleri uygun ölçekte Azure Arc özellikli sunuculara ekleyebilirsiniz. Bunu yapmak için uygun playbook'u indirmeniz, değiştirmeniz ve ardından çalıştırmanız gerekir.

Başlamadan önce önkoşulları gözden geçirmeyi ve aboneliğinizin ve kaynaklarınızın gereksinimleri karşıladığından emin olun. Desteklenen bölgeler ve diğer ilgili konular hakkında bilgi için bkz . Desteklenen Azure bölgeleri. Ayrıca tasarım ve dağıtım ölçütlerini ve yönetim ve izleme önerilerimizi anlamak için ölçekli planlama kılavuzumuzu gözden geçirin.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

SQL Server için otomatik bağlantı

Microsoft SQL Server'ın da yüklü olduğu bir Windows veya Linux sunucusunu Azure Arc'a bağladığınızda, SQL Server örnekleri de otomatik olarak Azure Arc'a bağlanır. Azure Arc tarafından etkinleştirilen SQL Server, SQL Server örnekleriniz ve veritabanlarınız için ayrıntılı bir envanter ve ek yönetim özellikleri sağlar. Bağlantı işleminin bir parçası olarak Azure Arc özellikli sunucunuza bir uzantı dağıtılır ve SQL Server'ınıza ve veritabanlarınıza yeni roller uygulanır. SQL Sunucularınızı Azure Arc'a otomatik olarak bağlamak istemiyorsanız, Windows veya Linux sunucusuna Azure Arc'a bağlandığında adı ArcSQLServerExtensionDeployment ve değerini Disabled içeren bir etiket ekleyerek bu etiketi geri çevirebilirsiniz.

Daha fazla bilgi için bkz . Azure Arc tarafından etkinleştirilen SQL Server için otomatik bağlantıyı yönetme.

Hizmet sorumlusu oluşturma ve Azure ayrıntılarını toplama

Makinelerinizi bağlamak için betiği çalıştırabilmeniz için önce aşağıdakileri yapmanız gerekir:

  1. Uygun ölçekte ekleme için hizmet sorumlusu oluşturmak için adımları izleyin.

    • Hizmet sorumlunuza Azure Bağlan Makine Ekleme rolünü atayın ve rolün kapsamını hedef Azure aboneliği veya kaynak grubuyla sınırlayın.
    • Hizmet Sorumlusu Gizli Anahtarı ve Hizmet Sorumlusu İstemci Kimliğini not edin; bu değerlere daha sonra ihtiyacınız olacak.
  2. Azure Arc özellikli kaynağın eklendiği Kiracı Kimliği, Abonelik Kimliği, Kaynak Grubu ve Bölge ile ilgili ayrıntıları toplayın.

Ansible playbook'unu indirin

Makineleri Azure Arc özellikli sunuculara ekli durumdaysanız, aşağıdaki Ansible playbook şablonunu kopyalayın ve playbook'u olarak arc-server-onboard-playbook.ymlkaydedin.

---
- name: Onboard Linux and Windows Servers to Azure Arc-enabled servers with public endpoint connectivity
  hosts: all
  # vars:
  #   azure:
  #     service_principal_id: 'INSERT-SERVICE-PRINCIPAL-CLIENT-ID'
  #     service_principal_secret: 'INSERT-SERVICE-PRINCIPAL-SECRET'
  #     resource_group: 'INSERT-RESOURCE-GROUP'
  #     tenant_id: 'INSERT-TENANT-ID'
  #     subscription_id: 'INSERT-SUBSCRIPTION-ID'
  #     location: 'INSERT-LOCATION'
  tasks:
  - name: Check if the Connected Machine Agent has already been downloaded on Linux servers
    stat:
      path: /usr/bin/azcmagent
      get_attributes: False
      get_checksum: False
    register: azcmagent_lnx_downloaded
    when: ansible_system == 'Linux'

  - name: Download the Connected Machine Agent on Linux servers
    become: yes
    get_url:
      url: https://aka.ms/azcmagent
      dest: ~/install_linux_azcmagent.sh
      mode: '700'
    when: (ansible_system == 'Linux') and (azcmagent_lnx_downloaded.stat.exists == false)

  - name: Install the Connected Machine Agent on Linux servers
    become: yes
    shell: bash ~/install_linux_azcmagent.sh
    when: (ansible_system == 'Linux') and (not azcmagent_lnx_downloaded.stat.exists)

  - name: Check if the Connected Machine Agent has already been downloaded on Windows servers
    win_stat:
      path: C:\Program Files\AzureConnectedMachineAgent
    register: azcmagent_win_downloaded
    when: ansible_os_family == 'Windows'

  - name: Download the Connected Machine Agent on Windows servers
    win_get_url:
      url: https://aka.ms/AzureConnectedMachineAgent
      dest: C:\AzureConnectedMachineAgent.msi
    when: (ansible_os_family == 'Windows') and (not azcmagent_win_downloaded.stat.exists)

  - name: Install the Connected Machine Agent on Windows servers
    win_package:
      path: C:\AzureConnectedMachineAgent.msi
    when: (ansible_os_family == 'Windows') and (not azcmagent_win_downloaded.stat.exists)

  - name: Check if the Connected Machine Agent has already been connected
    become: true
    command:
     cmd: azcmagent check
    register: azcmagent_lnx_connected
    ignore_errors: yes
    when: ansible_system == 'Linux'
    failed_when: (azcmagent_lnx_connected.rc not in [ 0, 16 ])
    changed_when: False

  - name: Check if the Connected Machine Agent has already been connected on windows
    win_command: azcmagent check
    register: azcmagent_win_connected
    when: ansible_os_family == 'Windows'
    ignore_errors: yes
    failed_when: (azcmagent_win_connected.rc not in [ 0, 16 ])
    changed_when: False

  - name: Connect the Connected Machine Agent on Linux servers to Azure Arc
    become: yes
    shell: azcmagent connect --service-principal-id "{{ azure.service_principal_id }}" --service-principal-secret "{{ azure.service_principal_secret }}" --resource-group "{{ azure.resource_group }}" --tenant-id "{{ azure.tenant_id }}" --location "{{ azure.location }}" --subscription-id "{{ azure.subscription_id }}"
    when:  (ansible_system == 'Linux') and (azcmagent_lnx_connected.rc is defined and azcmagent_lnx_connected.rc != 0)

  - name: Connect the Connected Machine Agent on Windows servers to Azure
    win_shell: '& $env:ProgramFiles\AzureConnectedMachineAgent\azcmagent.exe connect --service-principal-id "{{ azure.service_principal_id }}" --service-principal-secret "{{ azure.service_principal_secret }}" --resource-group "{{ azure.resource_group }}" --tenant-id "{{ azure.tenant_id }}" --location "{{ azure.location }}" --subscription-id "{{ azure.subscription_id }}"'
    when: (ansible_os_family == 'Windows') and (azcmagent_win_connected.rc is defined and azcmagent_win_connected.rc != 0)

Ansible playbook'unu değiştirme

Ansible playbook'unu indirdikten sonra aşağıdaki adımları tamamlayın:

  1. Ansible playbook'unun içinde, vars bölümünün altındaki değişkenleri daha önce toplanan hizmet sorumlusu ve Azure ayrıntılarıyla değiştirin:

    • Hizmet Sorumlusu Kimliği
    • Hizmet Sorumlusu Gizli Anahtarı
    • Kaynak Grubu
    • Kiracı kimliği
    • Abonelik Kimliği
    • Bölge
  2. Azure Arc'a eklemek için hedef sunucuları yakalayan doğru konaklar alanını girin. Hangi hibrit makinelerin ekleyebileceğinizi seçmeli olarak hedeflemek için Ansible desenleri kullanabilirsiniz.

  3. Bu şablon, hizmet sorumlusu gizli dizisini Ansible playbook'unda değişken olarak geçirir. Bu gizli diziyi şifrelemek için ansible kasasının kullanılabileceğini ve değişkenlerin bir yapılandırma dosyası üzerinden geçirilebileceğini lütfen unutmayın.

Ansible playbook'unu çalıştırma

Ansible denetim düğümünden komutunu çağırarak Ansible playbook'unu ansible-playbook çalıştırın:

ansible-playbook arc-server-onboard-playbook.yml

Playbook çalıştırıldıktan sonra, PLAY RECAP tüm görevlerin başarıyla tamamlanıp tamamlanmadığını gösterir ve görevlerin başarısız olduğu düğümleri ortaya çıkartır.

Azure Arc ile bağlantıyı doğrulama

Aracıyı başarıyla yükledikten ve Azure Arc özellikli sunuculara bağlanacak şekilde yapılandırdıktan sonra, hedef konaklarınızdaki sunucuların başarıyla bağlandığını doğrulamak için Azure portalına gidin. Azure portalında makinelerinizi görüntüleyin.

Sonraki adımlar