Łączenie komputerów na dużą skalę przy użyciu podręczników rozwiązania Ansible
Węzły zarządzane przez rozwiązanie Ansible można dołączać do serwerów z obsługą usługi Azure Arc na dużą skalę przy użyciu podręczników rozwiązania Ansible. W tym celu pobierz, zmodyfikuj, a następnie uruchom odpowiedni podręcznik.
Przed rozpoczęciem należy zapoznać się z wymaganiami wstępnymi i sprawdzić, czy posiadana subskrypcja i zasoby spełniają wymagania. Aby uzyskać informacje o obsługiwanych regionach i innych powiązanych zagadnieniach, zobacz obsługiwane regiony świadczenia usługi Azure. Zapoznaj się również z naszym przewodnikiem planowania na dużą skalę, aby zrozumieć kryteria projektowania i wdrażania, a także nasze zalecenia dotyczące zarządzania i monitorowania.
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Automatyczne połączenie dla programu SQL Server
Po podłączeniu serwera Windows lub Linux do usługi Azure Arc, gdzie zainstalowano również program Microsoft SQL Server, wystąpienia programu SQL Server zostaną automatycznie połączone z usługą Azure Arc. Program SQL Server włączony przez usługę Azure Arc zapewnia szczegółową inwentaryzację i dodatkowe możliwości zarządzania wystąpieniami programu SQL Server i bazami danych. W ramach procesu łączenia na serwerze z włączoną usługą Azure Arc zostanie wdrożone rozszerzenie, a do serwera SQL Server i baz danych zostaną zastosowane nowe role. Jeśli nie chcesz automatycznie łączyć serwerów SQL z usługą Azure Arc, możesz zrezygnować, dodając tag do serwera z systemem Windows lub Linux o nazwie ArcSQLServerExtensionDeployment
i wartości Disabled
, gdy jest połączony z usługą Azure Arc.
Aby uzyskać więcej informacji, zobacz Zarządzanie automatycznym połączeniem dla programu SQL Server włączonego przez usługę Azure Arc.
Generowanie jednostki usługi i zbieranie szczegółów platformy Azure
Przed uruchomieniem skryptu w celu połączenia maszyn należy wykonać następujące czynności:
Wykonaj kroki, aby utworzyć jednostkę usługi na potrzeby dołączania na dużą skalę.
- Przypisz rolę dołączania maszyny połączonej platformy Azure do jednostki usługi i ogranicz zakres roli do docelowej subskrypcji platformy Azure lub grupy zasobów.
- Zanotuj identyfikator klienta jednostki usługi i jednostki usługi; te wartości będą potrzebne później.
Zbierz szczegółowe informacje na temat identyfikatora dzierżawy, identyfikatora subskrypcji, grupy zasobów i regionu, w którym zostanie dołączony zasób z włączoną usługą Azure Arc.
Pobieranie podręcznika rozwiązania Ansible
Jeśli dołączasz maszyny do serwerów z obsługą usługi Azure Arc, skopiuj następujący szablon podręcznika rozwiązania Ansible i zapisz podręcznik 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)
Modyfikowanie podręcznika rozwiązania Ansible
Po pobraniu podręcznika rozwiązania Ansible wykonaj następujące kroki:
W podręczniku rozwiązania Ansible zmodyfikuj zmienne w sekcji vars za pomocą jednostki usługi i szczegółów platformy Azure zebranych wcześniej:
- Identyfikator jednostki usługi
- Wpis tajny jednostki usługi
- Grupa zasobów
- Identyfikator dzierżawy
- Identyfikator subskrypcji
- Region
Wprowadź prawidłowe pole hostów przechwytujące serwery docelowe na potrzeby dołączania do usługi Azure Arc. Można stosować wzorce rozwiązania Ansible w celu selektywnego określania, które maszyny hybrydowe mają być dołączane.
Ten szablon przekazuje wpis tajny jednostki usługi jako zmienną w podręczniku rozwiązania Ansible. Należy pamiętać, że magazyn rozwiązania Ansible może służyć do szyfrowania tego wpisu tajnego, a zmienne mogą być przekazywane za pośrednictwem pliku konfiguracji.
Uruchamianie podręcznika rozwiązania Ansible
W węźle sterowania rozwiązania Ansible uruchom podręcznik rozwiązania Ansible, wywołując ansible-playbook
polecenie:
ansible-playbook arc-server-onboard-playbook.yml
Po uruchomieniu podręcznika FUNKCJA PLAY RECAP wskazuje wszystkie zadania zakończone pomyślnie i wyświetla wszystkie węzły, w których zadania zakończyły się niepowodzeniem.
Weryfikowanie połączenia z usługą Azure Arc
Po zainstalowaniu agenta i skonfigurowaniu go w celu nawiązania połączenia z serwerami z obsługą usługi Azure Arc przejdź do witryny Azure Portal, aby sprawdzić, czy serwery na hostach docelowych zostały pomyślnie połączone. Wyświetl maszyny w witrynie Azure Portal.
Następne kroki
- Zapoznaj się z przewodnikiem planowania i wdrażania, aby zaplanować wdrażanie serwerów z obsługą usługi Azure Arc w dowolnej skali i zaimplementować scentralizowane zarządzanie i monitorowanie.
- Zapoznaj się z informacjami dotyczącymi rozwiązywania problemów z połączeniem w przewodniku Rozwiązywanie problemów z agentem połączonej maszyny.
- Dowiedz się, jak zarządzać maszyną przy użyciu usługi Azure Policy na potrzeby takich rzeczy jak konfiguracja gościa maszyny wirtualnej, weryfikowanie, czy maszyna raportuje do oczekiwanego obszaru roboczego usługi Log Analytics, umożliwiając monitorowanie za pomocą szczegółowych informacji o maszynie wirtualnej i wiele innych.