ProHoster > Blog > Administración > Usando complementos de inventario de Ansible Content Collections en Ansible Tower
Usando complementos de inventario de Ansible Content Collections en Ansible Tower
Os contornos informáticos son cada vez máis complexos. Nestas condicións, é fundamental que o sistema de automatización informática dispoña de información actualizada sobre os nodos que están presentes na rede e obxecto de tratamento. Na plataforma Red Hat Ansible Automation, este problema resólvese a través do chamado inventario (inventario) – listas de nodos xestionados.
Na súa forma máis sinxela, o inventario é un ficheiro estático. Isto é ideal cando comezas a traballar con Ansible, pero a medida que aumenta a automatización, faise insuficiente.
E é por iso que:
Como actualizar e manter unha lista completa de nós monitorizados cando as cousas están a cambiar constantemente, cando as cargas de traballo e, posteriormente, os nodos nos que se executan, veñen e van?
Como clasificar os compoñentes da infraestrutura de TI para seleccionar especificamente os nodos para aplicar unha automatización particular?
O inventario dinámico ofrece respostas a estas dúas preguntas (inventario dinámico) – un script ou complemento que busca nodos para ser automatizados, facendo referencia á fonte da verdade. Ademais, o inventario dinámico clasifica automaticamente os nós en grupos para que poida seleccionar con máis precisión os sistemas de destino para realizar a automatización específica de Ansible.
Complementos de inventario darlle ao usuario de Ansible a posibilidade de acceder a plataformas externas para buscar de forma dinámica nodos de destino e utilizar estas plataformas como fonte de verdade ao crear un inventario. A lista estándar de fontes en Ansible inclúe plataformas na nube AWS EC2, Google GCP e Microsoft Azure, e tamén hai moitos outros complementos de inventario para Ansible.
Ansible Tower vén cunha serie de plugins de inventario, que funcionan desde o primeiro momento e, ademais das plataformas en nube enumeradas anteriormente, ofrecen integración con VMware vCenter, Red Hat OpenStack Platform e Red Hat Satellite. Para estes complementos, só tes que proporcionar as credenciais para conectarte á plataforma de destino, despois de que se poidan usar como fonte de datos de inventario en Ansible Tower.
Ademais dos complementos estándar incluídos con Ansible Tower, hai outros complementos de inventario compatibles coa comunidade Ansible. Coa transición a Coleccións de contido Red Hat Ansible estes complementos comezaron a incluírse nas coleccións correspondentes.
Nesta publicación, tomaremos un exemplo de traballo co complemento de inventario para ServiceNow, unha popular plataforma de xestión de servizos de TI na que os clientes adoitan almacenar información sobre todos os seus dispositivos na CMDB. Ademais, a CMDB pode conter contexto útil para a automatización, como información sobre os propietarios do servidor, niveis de servizo (produción/non produción), actualizacións instaladas e ventás de mantemento. O complemento de inventario de Ansible pode funcionar con ServiceNow CMDB e forma parte da colección servizo agora no portal galaxy.ansible.com.
Repositorio Git
Para usar un complemento de inventario dunha colección en Ansible Tower, debe establecerse como fonte do proxecto. En Ansible Tower, un proxecto é unha integración con algún tipo de sistema de control de versións, como un repositorio git, que se pode usar para sincronizar non só libros de xogos de automatización, senón tamén variables e listas de inventario.
O ficheiro servicenow.yml contén detalles para o inventario de complementos. No noso caso, simplemente especificamos a táboa no ServiceNow CMDB que queremos usar. Tamén establecemos os campos que se engadirán como variables de nodo, ademais de certa información sobre os grupos que queremos crear.
Teña en conta que isto non especifica a instancia de ServiceNow á que nos conectaremos de ningún xeito e non especifica ningunha credencial para a conexión. Configuraremos todo isto máis adiante en Ansible Tower.
Coleccións de ficheiros/requisitos.yml necesario para que Ansible Tower poida descargar a colección necesaria e, así, obter o complemento de inventario necesario. En caso contrario, teriamos que instalar e manter esta colección manualmente en todos os nosos nodos da Torre Ansible.
Unha vez que levamos esta configuración ao control de versións, podemos crear un proxecto en Ansible Tower que faga referencia ao repositorio correspondente. O seguinte exemplo enlaza Ansible Tower ao noso repositorio github. Preste atención ao URL de SCM: permítelle rexistrar unha conta para conectarse a un repositorio privado, así como especificar unha rama, etiqueta ou compromiso específicos para comprobar.
Creando credenciais para ServiceNow
Como se mencionou, a configuración do noso repositorio non contén credenciais para conectarse a ServiceNow e non especifica a instancia de ServiceNow coa que nos comunicaremos. Polo tanto, para configurar estes datos, crearemos credenciais en Ansible Tower. Dacordo con Documentación do complemento de inventario de ServiceNow, hai unha serie de variables de ambiente coas que estableceremos os parámetros de conexión, por exemplo, como esta:
= username
The ServiceNow user account, it should have rights to read cmdb_ci_server (default), or table specified by SN_TABLE
set_via:
env:
- name: SN_USERNAME
Neste caso, se a variable de ambiente SN_USERNAME está definida, o complemento de inventario empregaraa como conta para conectarse a ServiceNow.
Tamén necesitamos establecer as variables SN_INSTANCE e SN_PASSWORD.
Entón, definimos o tipo de credencial que necesitamos, agora podemos engadir unha conta ServiceNow e configurar a instancia, o nome de usuario e o contrasinal, así:
Creamos inventario
Entón, agora estamos todos preparados para crear un inventario en Ansible Tower. Chamémoslle ServiceNow:
Despois de crear o inventario, podemos achegarlle unha fonte de datos. Aquí especificamos o proxecto que creamos anteriormente e introducimos a ruta do noso ficheiro de inventario YAML no repositorio de control de fonte, no noso caso é servicenow.yml na raíz do proxecto. Ademais, debes vincular a túa conta de ServiceNow.
Para comprobar como funciona todo, intentemos sincronizar coa fonte de datos facendo clic no botón "Sincronizar todo". Se todo está configurado correctamente, os nodos deben importarse ao noso inventario:
Teña en conta que tamén se crearon os grupos que necesitamos.
Conclusión
Nesta publicación, analizamos como usar complementos de inventario de coleccións en Ansible Tower usando o complemento ServiceNow como exemplo. Tamén rexistramos credenciais de forma segura para conectarnos á nosa instancia de ServiceNow. A vinculación dun complemento de inventario dun proxecto non só funciona con complementos de terceiros ou personalizados, senón que tamén se pode usar para modificar o funcionamento dalgúns inventarios estándar. Isto fai que Ansible Automation Platform sexa doado e sinxelo de integrar coas ferramentas existentes ao automatizar contornas informáticas cada vez máis complexas.
Podes atopar máis información sobre os temas tratados nesta publicación, así como outros aspectos do uso de Ansible, aquí: