Conexión de máquinas a gran escala mediante cuadernos de estrategias de Ansible
Puede incorporar nodos administrados por Ansible a servidores habilitados para Azure Arc a gran escala mediante cuadernos de estrategias de Ansible. Para ello, descargue, modifique y, a continuación, ejecute el cuaderno de estrategias adecuado.
Antes de comenzar, asegúrese de revisar los requisitos previos y compruebe que su suscripción y sus recursos los cumplen. Para obtener información sobre las regiones admitidas y otras consideraciones relacionadas, consulte Regiones de Azure admitidas. Revise también nuestra guía de planeamiento a gran escala para comprender los criterios de diseño e implementación, así como nuestras recomendaciones de administración y supervisión.
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Conexión automática para SQL Server
Al conectar un servidor Windows o Linux a Azure Arc que también tenga instalado Microsoft SQL Server, las instancias de SQL Server también se conectarán automáticamente a Azure Arc. SQL Server habilitado para Azure Arc proporciona un inventario detallado y funcionalidades de administración adicionales para las instancias y bases de datos de SQL Server. Como parte del proceso de conexión, se implementa una extensión en el servidor habilitado para Azure Arc y se aplicarán nuevos roles a las bases de datos y SQL Server. Si no desea conectar automáticamente los servidores SQL Server a Azure Arc, puede optar por agregar una etiqueta al servidor Windows o Linux con el nombre ArcSQLServerExtensionDeployment
y el valor Disabled
cuando esté conectado a Azure Arc.
Para más información, consulte Administración de la conexión automática para SQL Server habilitado por Azure Arc.
Generación de una entidad de servicio y recopilación de información de Azure
Antes de poder ejecutar el script para conectar sus máquinas, deberá:
Siga los pasos para crear una entidad de servicio para la incorporación a gran escala.
- Asigne el rol de incorporación de Azure Connected Machine a la entidad de servicio y limite el ámbito del rol a la suscripción o grupo de recursos de Azure de destino.
- Anote el secreto de la entidad de servicio y el id. de cliente de la entidad de servicio, ya que necesitará estos valores más adelante.
Recopilar los datos del identificador de inquilino, el identificador de suscripción, el grupo de recursos y la región donde se incorporará el recurso habilitado para Azure Arc.
Descargue del cuaderno de estrategias de Ansible
Si va a incorporar máquinas a servidores habilitados para Azure Arc, copie la siguiente plantilla de cuaderno de estrategias de Ansible y guarde el cuaderno de estrategias como 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)
Modifique el cuaderno de estrategias de Ansible
Después de descargar el cuaderno de estrategias de Ansible, complete los pasos siguientes:
En el cuaderno de estrategias de Ansible, modifique las variables en la sección vars con la entidad de servicio y los detalles de Azure recopilados anteriormente:
- Id. de entidad de servicio
- Secreto de entidad de servicio
- Grupo de recursos
- Id. de inquilino
- Id. de suscripción
- Region
Escriba el campo de hosts correcto que captura los servidores de destino para la incorporación a Azure Arc. Puede emplear patrones de Ansible para seleccionar las máquinas híbridas que se van a incorporar.
Esta plantilla pasa el secreto de la entidad de servicio como una variable en el cuaderno de estrategias de Ansible. Tenga en cuenta que se puede usar un almacén de Ansible para cifrar este secreto y las variables se pueden pasar a través de un archivo de configuración.
Ejecute el cuaderno de estrategias de Ansible
Desde el nodo de control de Ansible, ejecute el cuaderno de estrategias de Ansible invocando el comando ansible-playbook
:
ansible-playbook arc-server-onboard-playbook.yml
Una vez ejecutado el cuaderno de estrategias, PLAY RECAP indica si todas las tareas se completaron correctamente y muestra en qué nodos las tareas produjeron un error.
Comprobación de la conexión con Azure Arc
Después de instalar el agente y configurarlo para que se conecte a los servidores habilitados para Azure Arc, vaya a Azure Portal para comprobar que los servidores de sus hosts de destino se han conectado correctamente. Vea las máquinas en Azure Portal.
Pasos siguientes
- Examine la guía de planeamiento e implementación para planear la implementación de servidores habilitados para Azure Arc a cualquier escala e implementar la administración y supervisión centralizadas.
- Revise la información sobre la solución de problemas de conexión en la guía de Solución de problemas del agente de Connected Machine.
- Aprenda a administrar la máquina con Azure Policy para tareas como la configuración de invitado de la VM, la comprobación de que la máquina informa al área de trabajo correspondiente de Log Analytics, la habilitación de la supervisión con Información de VM, y mucho más.