Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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.

Tabela 1: Conjuntos de conteúdo inviáveis para gerenciar dispositivos Junos

Conjunto de conteúdo

Descrição

Versões ansíveis

juniper.device coleção

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

junipernetworks.junos coleção

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
(preterido)

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 junipernetworks.junos Ansible.

Ansible 2.1 a Ansible 2.9

Juniper.junos papel
(preterido)

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 juniper.device .

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.

Figura 1: Comunicação inviável com um dispositivo Ansible Communication with a Junos Device Junos

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 da collections 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 como local, por exemplo, incluindo connection: 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. Os juniper.device módulos de coleta também suportam o uso connection: 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.

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.

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/.

Tabela 2: módulos de coleta juniper.device

Nome do módulo juniper.device

Descrição

command

Execute comandos CLI no dispositivo Junos e economize a saída localmente.

config

Gerencie a configuração dos dispositivos Junos.

facts

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.

jsnapy

Execute os testes do Junos Snapshot Administrator in Python (JSNAPy) por meio do Ansible.

file_copy

Transfira um arquivo entre o nó de controle ansible local e o dispositivo Junos.

ping

Execute o ping comando em dispositivos Junos.

pmtud

Realize a descoberta de MTU de caminho em dispositivos Junos.

rpc

Execute os RPCs Junos OS.

software

Instale um pacote de software junos OS e reinicialize um dispositivo Junos.

system

Realize operações de sistema em dispositivos Junos, incluindo redefinir, reiniciar ou desligar o dispositivo.

srx_cluster

Crie um cluster de chassi da Série SRX para firewalls da Série SRX com capacidade de cluster.

table

Use tabelas e visualizações operacionais do Junos PyEZ para recuperar informações operacionais dos dispositivos Junos.