Entendendo o Ansible para as coleções e módulos do Junos OS
RESUMO A Juniper Networks fornece módulos Ansible que você pode usar para gerenciar dispositivos Junos.
Entendendo coleções e módulos ansible para gerenciar dispositivos Junos
Ansible é uma estrutura de automação de TI usada para gerenciamento de configuração de infraestrutura. Você usa módulos Ansible, que são unidades de código discretas, para executar funções específicas em um nó gerenciado. Você pode executar módulos individuais em hosts remotos para realizar tarefas ad-hoc, ou pode executar módulos por meio de playbooks.
A Ansible e a Juniper Networks fornecem módulos Ansible que você pode usar para gerenciar dispositivos Junos. Os módulos Ansible da Juniper Networks são agrupados e distribuídos por meio de coleções Ansible, que estão hospedadas no repositório Ansible Galaxy . A Tabela 1 descreve os diferentes conjuntos de conteúdo disponíveis para o gerenciamento dos dispositivos Junos.
Conjunto de conteúdo |
Descrição |
Versões ansíveis |
---|---|---|
|
Coleção para o gerenciamento de dispositivos Junos, que a Juniper Networks fornece e gerencia como um projeto de código aberto. |
Ansible 2.10 e posterior |
|
Coleta para o gerenciamento de dispositivos Junos, que a Ansible fornece, mantém e oferece suporte. |
Ansible 2.10 e posterior |
Módulos de núcleo ansíveis |
Módulos ansíveis incluídos na instalação base de Ansible. Em Ansible 2.10, os módulos de núcleo passaram da instalação base para a coleção da |
Ansible 2.1 a Ansible 2.9 |
|
Função para o gerenciamento de dispositivos Junos, que a Juniper Networks fornece, mantém e oferece suporte. Esse papel é substituído pela coleção |
Ansible 2.1 e posterior |
Uma função Ansible é um conjunto de tarefas e suporte a variáveis, arquivos, modelos e módulos para a configuração de um host. A partir de Ansible 2.10, a Ansible oferece suporte a Coleções de conteúdo Ansible, um formato para distribuição de conteúdo Ansible que não está incluído como parte da instalação da base ansible. As coleções ansible podem incluir uma gama mais ampla de conteúdo, incluindo módulos, playbooks, plug-ins e funções. As coleções ansible também têm seus próprios repositórios e podem ser desenvolvidas e liberadas independentemente da instalação da base ansible.
Em Ansible 2.9 e anteriores, você pode gerenciar dispositivos Junos usando os módulos fornecidos na função da Juniper Networks Juniper.junos
ou usando os módulos de núcleo fornecidos como parte da instalação da base Ansible. A partir do Ansible 2.10, a Juniper.junos
função e os módulos de núcleo Ansible são substituídos pela coleção correspondente. Com a introdução da coleção da juniper.device
Juniper Networks, os módulos na Juniper.junos
função foram duplicados sob novos nomes da coleção e, portanto, mantêm a mesma funcionalidade e parâmetros que os módulos originais, com exceção do provider
parâmetro. Recomendamos que você use a juniper.device
coleção, pois novos recursos só estão sendo adicionados à coleção daqui para frente.
Como executar módulos em dispositivos Junos
Para usar as coleções hospedadas no repositório Ansible Galaxy, você deve primeiro instalar o Ansible no nó de controle e, em seguida, instalar a coleção. Para obter mais informações sobre a instalação da juniper.device
coleção, consulte Ansible for Junos OS Server Requirements.
Módulos ansíveis podem realizar operações em um nó gerenciado. Normalmente, o nó de controle Ansible envia um módulo para um nó gerenciado, onde é executado e depois removido. Nesse cenário, o nó gerenciado deve ter a capacidade de executar o módulo. Como a maioria dos módulos Ansible estão escritos em Python, o Ansible normalmente requer Python no nó gerenciado.
Os módulos da Juniper Networks na juniper.device
coleção, no entanto, não exigem Python nos nós gerenciados. Em contraste com a operação típica, você executa os módulos localmente no nó de controle Ansible, e os módulos usam Junos PyEZ e a API Junos XML sobre NETCONF para interface com o nó gerenciado. Este método de execução permite que você use o Ansible para gerenciar qualquer dispositivo Junos suportado. A Figura 1 ilustra a comunicação entre o nó de controle Ansible e um dispositivo Junos gerenciado.

Para usar os módulos de juniper.device
coleta, o manual ou o comando devem:
-
Especifique a coleção ou a FQCN — Para especificar a coleção, inclua a
collections
chave da peça. Alternativamente, você pode omitir o conteúdo dacollections
coleta de referência e chave pelo seu nome de coleta totalmente qualificado (FQCN), que é o método recomendado. -
Execute os módulos localmente no nó de controle — para executar módulos Ansible localmente, você define o
connection
parâmetro comolocal
, por exemplo, incluindoconnection: local
em sua cartilha ou incluindo na linha de--connection local
comando.Nota:Quando você usa
connection: local
, o Ansible estabelece uma conexão separada com o dispositivo para cada tarefa na jogada que requer uma conexão. Osjuniper.device
módulos de coleta também suportam o usoconnection: juniper.device.pyez
, que ainda executa os módulos localmente, mas em vez disso estabelece uma conexão única e persistente com um dispositivo para todas as tarefas em um jogo. -
Forneça informações apropriadas de conexão e autenticação para se conectar ao dispositivo gerenciado — Para obter mais informações, veja:
Você pode executar módulos Ansible usando qualquer conta de usuário que tenha acesso ao dispositivo Junos gerenciado. Quando você executa módulos Ansible, os privilégios de acesso à conta de usuário do Junos OS são aplicados, e a classe configurada para a conta de usuário do Junos OS determina as permissões. Assim, se um usuário executa um módulo que carrega alterações de configuração em um dispositivo, o usuário deve ter permissões para alterar as partes relevantes da configuração.
O manual a seguir executa o juniper.device
módulo da facts
coleção para recuperar os fatos do dispositivo e salvá-los em um arquivo. O exemplo usa as chaves SSH existentes no local padrão para autenticar com o dispositivo e, portanto, não fornece credenciais explicitamente na cartilha.
--- - name: Get Device Facts hosts: dc1 connection: local gather_facts: no tasks: - name: Retrieve facts from a Junos device juniper.device.facts: savedir: "{{ playbook_dir }}" - name: Print version ansible.builtin.debug: var: junos.version
Você também pode realizar operações ad-hoc na linha de comando. O comando a seguir executa o juniper.device
módulo da facts
coleção e recupera os fatos do dispositivo dos hosts no grupo de inventário dc1.
user@ansible-cn:~$ ansible --connection local -i production dc1 -m juniper.device.facts
Coleção juniper networks juniper.device
A Juniper Networks fornece a juniper.device
Coleção de Conteúdo Ansible, que está hospedada no site da Ansible Galaxy . A coleção inclui módulos Ansible que permitem que você gerencie dispositivos Junos.
A Tabela 2 descreve os módulos da juniper.device
coleção. Na versão inicial da coleção, os módulos de coleta mantêm a mesma funcionalidade e parâmetros que o módulo correspondente na Juniper.junos
função, com exceção do provider
parâmetro, que não é suportado para os módulos de coleta.
Para obter os exemplos de lista, documentação e uso mais atuais para os módulos, veja https://ansible-juniper-collection.readthedocs.io/.
Nome do módulo juniper.device |
Descrição |
---|---|
|
Execute comandos CLI no dispositivo Junos e economize a saída localmente. |
|
Gerencie a configuração dos dispositivos Junos. |
|
Recuperar informações específicas do dispositivo do host remoto, incluindo a versão do Junos OS, número de série e número do modelo de hardware. |
|
Execute os testes do Junos Snapshot Administrator in Python (JSNAPy) por meio do Ansible. |
|
Transfira um arquivo entre o nó de controle ansible local e o dispositivo Junos. |
|
Execute o |
|
Realize a descoberta de MTU de caminho em dispositivos Junos. |
|
Execute os RPCs Junos OS. |
|
Instale um pacote de software junos OS e reinicialize um dispositivo Junos. |
|
Realize operações de sistema em dispositivos Junos, incluindo redefinir, reiniciar ou desligar o dispositivo. |
|
Crie um cluster de chassi da Série SRX para firewalls da Série SRX com capacidade de cluster. |
|
Use tabelas e visualizações operacionais do Junos PyEZ para recuperar informações operacionais dos dispositivos Junos. |