Megosztás a következőn keresztül:


Gépek csatlakoztatása az Azure Archoz nagy volumenben Ansible forgatókönyvek használatával

Az Ansible által kezelt csomópontokat nagy léptékben csatlakoztathatja Azure Arc-kompatibilis szerverekhez Ansible playbookok használatával. A következőket tedd: töltsd le, módosítsd, majd futtasd a megfelelő játékvezetőt.

Előfeltételek

Az első lépések előtt győződjön meg arról, hogy a következő elemeket tartalmazza:

  • Egy Azure-előfizetés. Ha még nincs előfizetése, hozzon létre egy ingyenes fiókot.
  • Tekintse át az általános 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 Azure-régiók és egyéb kapcsolódó szempontok ismerete.
  • Tekintse át a helyszíni tervezési útmutatót a tervezési és üzembehelyezési feltételek, valamint a felügyeleti és monitorozási javaslatok megértéséhez.
  • Ansible vezérlőcsomópont, amelyen telepítve van az Ansible, és konfigurálva van a célgépek kezelésére.
  • Hálózati kapcsolat az Ansible vezérlőcsomópontról a célgépekhez és az Azure-végpontokhoz.

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 kezelési lehetőségeket biztosít az SQL Server példányok és adatbázisok számára. 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-kiszolgálókat az Azure Archoz, letilthatja, ha hozzáad egy címkét a Windows- vagy Linux-kiszolgálóhoz, amelynek neve ArcSQLServerExtensionDeployment és értéke Disabled az Azure Archoz csatlakozik.

További információért lásd: Az Azure Arc által engedélyezett SQL Server automatikus csatlakozásának kezelése.

Szolgáltatásfelelős létrehozása és Azure-részletek gyűjtése

Mielőtt futtatja a szkriptet a gépek csatlakoztatásához, hajtsa végre a következő lépéseket:

  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 Connected Machine Előkészítés szerepkört 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ának és a szolgáltatásnév ügyfélazonosítójának értékeit; később szüksége lesz ezekre az értékekre.
  2. Gyűjtse össze az alábbi táblázatban azokat a részleteket, hogy az Azure Arc-kompatibilis erőforrás hol fog csatlakozni. Ezekkel az információkkal frissítheti a forgatókönyvet a következő szakaszokban.

Paraméter Description Változó neve a forgatókönyvben
Szolgáltatási főazonosító ügyfélazonosítója A szolgáltatási főszereplő alkalmazás-(ügyfél-)azonosítója service_principal_id
A szolgáltatás legfontosabb titka A szolgáltatásnév titkos ügyfélkódjának értéke service_principal_secret
Bérlő azonosító Az Azure Active Directory-bérlő azonosítója tenant_id
Előfizetés azonosító Az Azure-előfizetés, amelyben erőforrásokat hoz létre subscription_id
Erőforráscsoport Az Arc-kompatibilis kiszolgálók erőforráscsoportjának neve resource_group
Region Az Azure-régió, ahol az Arc-kompatibilis erőforrás elő fog indulni location

Töltse le az Ansible playbookot

Másolja a következő Ansible forgatókönyvsablont az Ansible vezérlőcsomópontra, és mentse a következőként 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)

Módosítsd az Ansible lejátszási könyvet

Miután letöltötte az Ansible játékkönyvet, 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ásfelelősi ügyfélazonosító (service_principal_id)
    • Szolgáltatásnév-princípium titkos (service_principal_secret)
    • Erőforráscsoport (resource_group)
    • Bérlőazonosító (tenant_id)
    • Előfizetés azonosítója (subscription_id)
    • Régió (location)
  2. Az Azure Arc-ra történő bevezetés céljából adja meg a helyes gazdafieldet, amely megragadja a cél szervereket. Használhat Ansible mintákat, hogy szelektíven meghatározza, mely hibrid gépeket kíván bevezetni.

  3. Ez a sablon változóként adja át a szolgáltatásfelelősi titkot az Ansible játékkönyvben. Az Ansible-tárolóval titkosíthatja ezt a titkos kulcsot, majd átadhatja a változókat egy konfigurációs fájlon keresztül.

Futtassa az Ansible leírást

Az Ansible vezérlő csomópontból futtassa az Ansible lejátszási könyvet a ansible-playbook parancs meghívásával.

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

Miután a lejátszási könyv lefut, a JÁTÉK ÖSSZEFOGLALÓ jelzi, hogy minden feladat sikeresen befejeződött, és megjeleníti azokat a csomópontokat, ahol a feladatok hibát okoztak.

Az Azure Arctal való kapcsolat ellenőrzése

Miután 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épek kiszolgálói sikeresen csatlakoztak-e. Tekintse meg gépeit az Azure portálon.

Következő lépések