Sdílet prostřednictvím


Připojení počítačů ve velkém měřítku pomocí playbooků Ansible

Pomocí playbooků Ansible můžete připojit uzly spravované službou Ansible k serverům s podporou Azure Arc ve velkém měřítku. Uděláte to tak, že si stáhnete, upravíte a pak spustíte příslušný playbook.

Než začnete, nezapomeňte si projít požadavky a ověřit, že vaše předplatné a prostředky splňují požadavky. Informace o podporovaných oblastech a dalších souvisejících aspektech najdete v podporovaných oblastech Azure. Projděte si také našeho průvodce plánováním ve velkém měřítku a seznamte se s kritérii návrhu a nasazení a také s doporučeními pro správu a monitorování.

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Automatické připojení pro SQL Server

Když k Azure Arc připojíte server s Windows nebo Linuxem, který má nainstalovaný i Microsoft SQL Server, instance SQL Serveru se automaticky připojí i k Azure Arc. SQL Server povolený službou Azure Arc poskytuje podrobný inventář a další možnosti správy pro instance a databáze SQL Serveru. V rámci procesu připojení se na server s podporou Azure Arc nasadí rozšíření a pro vaše SQL Server a databáze se použijí nové role . Pokud nechcete automaticky připojit SQL Servery ke službě Azure Arc, můžete se odhlásit přidáním značky na server s Windows nebo Linuxem s názvem ArcSQLServerExtensionDeployment a hodnotou Disabled , když je připojený k Azure Arc.

Další informace najdete v tématu Správa automatického připojení pro SQL Server, který povoluje Azure Arc.

Vygenerování instančního objektu a shromáždění podrobností Azure

Než budete moct spustit skript pro připojení počítačů, budete muset udělat toto:

  1. Postupujte podle pokynů k vytvoření instančního objektu pro onboarding ve velkém měřítku.

    • Přiřaďte roli onboardingu počítače Azure Připojení vašemu instančnímu objektu a omezte rozsah role na cílové předplatné Nebo skupinu prostředků Azure.
    • Poznamenejte si tajný klíč instančního objektu a ID klienta instančního objektu; Tyto hodnoty budete potřebovat později.
  2. Shromážděte podrobnosti o ID tenanta, ID předplatného, skupině prostředků a oblasti, kde bude nasazený prostředek s podporou služby Azure Arc.

Stažení playbooku Ansible

Pokud nasadíte počítače na servery s podporou Azure Arc, zkopírujte následující šablonu playbooku Ansible a playbook uložte jako arc-server-onboard-playbook.yml.

---
- 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)

Úprava playbooku Ansible

Po stažení playbooku Ansible proveďte následující kroky:

  1. V playbooku Ansible upravte proměnné v části vars pomocí instančního objektu a podrobností Azure shromážděných dříve:

    • ID instančního objektu
    • Tajný klíč instančního objektu
    • Skupina prostředků
    • ID tenanta
    • Subscription ID
    • Oblast
  2. Zadejte správné pole hostitelů, které zachytává cílové servery pro onboarding do Služby Azure Arc. Pomocí vzorů Ansible můžete selektivně cílit na hybridní počítače, které se mají připojit.

  3. Tato šablona předává tajný kód instančního objektu jako proměnnou v playbooku Ansible. Upozorňujeme, že k šifrování tohoto tajného kódu je možné použít trezor Ansible a proměnné lze předat prostřednictvím konfiguračního souboru.

Spuštění playbooku Ansible

Z uzlu ovládacího prvku Ansible spusťte playbook Ansible vyvoláním ansible-playbook příkazu:

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

Po spuštění playbooku funkce PLAY RECAP označí, jestli byly všechny úkoly úspěšně dokončeny, a zobrazí se všechny uzly, u kterých došlo k selhání úkolů.

Ověření připojení k Azure Arcu

Po úspěšné instalaci agenta a jeho nakonfigurování pro připojení k serverům s podporou Azure Arc přejděte na web Azure Portal a ověřte, že se servery v cílových hostitelích úspěšně připojily. Zobrazte si počítače na webu Azure Portal.

Další kroky

  • Projděte si průvodce plánováním a nasazením a naplánujte nasazení serverů s podporou Služby Azure Arc v libovolném měřítku a implementujte centralizovanou správu a monitorování.
  • Projděte si informace o řešení potíží s připojením v průvodci agentem počítače Připojení.
  • Zjistěte, jak spravovat počítač pomocí Služby Azure Policy, například konfigurace hosta virtuálního počítače, ověřit, že se počítač hlásí do očekávaného pracovního prostoru služby Log Analytics, jak povolit monitorování pomocí přehledů virtuálních počítačů a mnoho dalšího.