Share via


Csatlakozás nagy léptékű gépek Ansible-forgatókönyvek használatával

Az Ansible által felügyelt csomópontokat nagy léptékben helyezheti üzembe az Azure Arc-kompatibilis kiszolgálókon ansible forgatókönyvek használatával. Ehhez le kell töltenie, módosítania, majd futtatnia kell a megfelelő forgatókönyvet.

Az első lépések előtt mindenképpen tekintse át az előfeltételeket , és ellenőrizze, hogy az előfizetés és az erőforrások megfelelnek-e a követelményeknek. A támogatott régiókról és más kapcsolódó szempontokról a támogatott Azure-régiókról olvashat. Tekintse át a méretezési tervezési útmutatónkat a tervezési és üzembe helyezési kritériumok, valamint a felügyeleti és monitorozási javaslatok megértéséhez.

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Automatikus kapcsolat az SQL Serverhez

Ha olyan Windows- vagy Linux-kiszolgálót csatlakoztat az Azure Archoz, amelyhez a Microsoft SQL Server is telepítve van, az SQL Server-példányok is automatikusan csatlakoznak az Azure Archoz. Az Azure Arc által engedélyezett SQL Server részletes leltárt és további felügyeleti képességeket biztosít az SQL Server-példányokhoz és -adatbázisokhoz. A csatlakozási folyamat részeként egy bővítmény lesz üzembe helyezve az Azure Arc-kompatibilis kiszolgálón, és új szerepkörök lesznek alkalmazva az SQL Serverre és az adatbázisokra. Ha nem szeretné automatikusan csatlakoztatni az SQL Servereket az Azure Archoz, letilthatja, ha hozzáad egy címkét a Windows- vagy Linux-kiszolgálóhoz az ArcSQLServerExtensionDeploymentDisabled Azure Archoz való csatlakozáskor.

További információ: Az Azure Arc által engedélyezett SQL Server automatikus kapcsolatának kezelése.

Szolgáltatásnév létrehozása és az Azure-adatok összegyűjtése

Mielőtt futtathatja a szkriptet a gépek csatlakoztatásához, a következőket kell tennie:

  1. Kövesse az alábbi lépéseket egy egyszerű szolgáltatás létrehozásához a nagy léptékű előkészítéshez.

    • Rendelje hozzá az Azure Csatlakozás gép előkészítési szerepkörét a szolgáltatásnévhez, és korlátozza a szerepkör hatókörét a cél Azure-előfizetésre vagy erőforráscsoportra.
    • Jegyezze fel a szolgáltatásnév titkos kódját és a szolgáltatásnév ügyfélazonosítóját; később szüksége lesz ezekre az értékekre.
  2. Gyűjtse össze annak a bérlőazonosítónak, előfizetés-azonosítónak, erőforráscsoportnak és régiónak a részleteit, ahol az Azure Arc-kompatibilis erőforrást előkészítik.

Az Ansible forgatókönyv letöltése

Ha gépeket készít az Azure Arc-kompatibilis kiszolgálókra, másolja a következő Ansible forgatókönyvsablont, és mentse a forgatókönyvet 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)

Az Ansible forgatókönyv módosítása

Az Ansible forgatókönyv letöltése után hajtsa végre a következő lépéseket:

  1. Az Ansible forgatókönyvben módosítsa a vars szakasz változóit a korábban összegyűjtött szolgáltatásnévvel és Azure-részletekkel:

    • Szolgáltatásnév azonosítója
    • Szolgáltatásnév titkos kódja
    • Erőforráscsoport
    • Bérlőazonosító
    • Előfizetés azonosítója
    • Régió
  2. Adja meg a megfelelő gazdagépmezőt, amely rögzíti a célkiszolgálókat az Azure Arcba való előkészítéshez. Ansible-mintákat alkalmazhat, amelyekkel szelektíven célozhatja meg, hogy mely hibrid gépeket kell előkészíteni.

  3. Ez a sablon az Ansible forgatókönyvben változóként adja át a szolgáltatásnév titkos kódját. Vegye figyelembe, hogy egy Ansible-tárolóval titkosíthatja ezt a titkos kulcsot, és a változók egy konfigurációs fájlon keresztül továbbíthatók.

Az Ansible forgatókönyv futtatása

Az Ansible vezérlőcsomóponton futtassa az Ansible forgatókönyvet a ansible-playbook parancs meghívásával:

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

A forgatókönyv futtatása után a PLAY RECAP jelzi, hogy az összes feladat sikeresen befejeződött-e, és felszínre hoz-e minden csomópontot, ahol a tevékenységek sikertelenek voltak.

Az Azure Arc csatlakozásának ellenőrzése

Miután sikeresen telepítette az ügynököt, és konfigurálta az Azure Arc-kompatibilis kiszolgálókhoz való csatlakozásra, lépjen az Azure Portalra, és ellenőrizze, hogy a cél gazdagépeken lévő kiszolgálók sikeresen csatlakoztak-e. A gépet megtekintheti az Azure Portalon.

Következő lépések