Muitas pessoas têm conceitos errôneos sobre Ansible e as plataformas que ele suporta, acreditando que é acessível apenas para o Ubuntu. No entanto, Ansible também pode ser usado para controlar PCs Windows, dispositivos conectados, dispositivos de segurança da Internet, serviços da Web, aplicativos e outras coisas. Vamos falar sobre o uso do Windows com Ansible neste tutorial.
A ferramenta Ansible Configuration pode administrar e realizar tarefas essenciais nas instalações do Windows, como gerentes remotos com alertas de WinRM e proteção. Apesar de exigir que o Ubuntu opere em Ansible, os controladores da Microsoft podem administrar e gerenciar seus dispositivos usando Ansible, apesar de ter qualquer experiência anterior com os terminais do Ubuntu. Os controladores da Microsoft poderão administrar o Microsoft Windows usando Ansible de alguma maneira relevante para eles devido à funcionalidade nativa do Windows que emprega o Microsoft Windows PowerShell Remote. Soluções avançadas para controlar e gerenciar as plataformas do Microsoft Windows estão incluídas na plataforma de software Ansible para gerenciamento organizacional. Você pode automatizar a implantação, a ativação do software e a integração do sistema para um ambiente multivendor com o auxílio da plataforma de software Ansible.
Na Ansible, a maioria das terminologia e diretrizes usadas para gerenciar hosts remotos do Linux, bem como essas terminologias se aplicam igualmente aos hosts do Microsoft Windows. Mas ainda existem certas peculiaridades sempre que diz respeito a variáveis de Ansible, como separadores de caminho ou atividades específicas do OS. O WinRM deve ser configurado para permitir o acesso aos sistemas Windows do Ansible Controller. Você pode ser iniciado utilizando Ansible para o Microsoft Windows em suas configurações de desenvolvimento ou monitoramento executando o script PowerShell. Todo host autorizado do Microsoft Windows é configurado pelo script para WinRM.
Pré -requisitos:
Por favor, certifique -se de sempre ter esses requisitos:
Versão: Vamos utilizar o Ansible Controller versão 2.9. Para fazer alterações, precisamos de um servidor de controle para Ansible e, neste caso, estamos usando Ansible como um controlador com o endereço IP 192.168.5.220.
Host Windows: Exigimos que eles interajam com os hosts locais. Além disso, estamos usando o host do Windows neste caso como um servidor remoto de destino durante a operação.
Pitão: Seu dispositivo host Ansible Controller será configurado para executar o Python. O Python utilizará a versão 2, enquanto a versão 3 também é uma opção.
Pacote: O servidor host do Windows será configurado para instalar o pacote "pip".
Windows Workstation: Você precisará gastar tempo em um console do Windows à medida que pré-configurar o host que a Microsoft usará para lidar.
Concha de potência: O servidor Windows terá a capacidade de controlar o acesso remoto do PowerShell.
Exemplo: estabelecendo um host do Microsoft Windows para permitir conexões com o Ansible Controller
Neste exemplo, primeiro, trabalharemos para o host remoto de destino que é Windows_host. Então, trabalharemos com Ansible para que não haja confusão para o usuário.
Target window_host
Não há servidores necessários para Ansible. Portanto, o gerenciador remoto SSH e Windows são compatíveis com o Windows Winrm. Winrm significa Windows Remote Manager e é frequentemente usado em SSH por causa da estreita integração do WinRM.
PS C: \ Windows \ System32> Winrm Get Winrm/Config/ServiceConfigure o winrm
Depois disso, vamos atualizar o WinRM no Microsoft Windows. O software Ansible criou comandos disponíveis para avaliar o WinRM e executar os ajustes necessários para que o Ansible possa acessar esses comandos. Embora queremos utilizar apenas credenciais básicas, preferimos empregar algo mais seguro para acessá -lo. A seguir, estão as etapas para a atualização do WinRM:
Salvando o caminho dos comandos
Usaremos os comandos, por isso, primeiro lançamos a janela Microsoft PowerShell Terminal para que possamos salvar o caminho dos comandos.
PS C: \> $ url = "https: // RAW.GithubUserContent.com/Ansible/Ansible/Devel/Exemplos/Scripts/Usaremos o URL abaixo para que possamos armazenar facilmente os comandos lá:
PS C: \> $ file = "$ Env: Temp \ ConfigureRemotingForansible.ps1 "Baixe os comandos e mostre -os localmente
Agora, baixaremos os comandos e exibiremos esses comandos em um documento local.
PS C: \>.Líquido.Cliente da web).Downloadfile ($ url, $ arquivo)Execute os comandos
Para executar, o comando é o caminho que mostrará a execução do documento.
PS C: \> PowerShell.Exe -executionPolicy Bypass -File $ arquivoDepois de escrever o caminho acima, obteremos a saída abaixo no PowerShell no Windows.
Verifique a conectividade WinRM
Isso é para verificar se a conexão do WinRM é construída com Ansible ou não.
Ps c: \> winrm enumerar winrm/config/ouvinteComo mostrado, Ansible e WinRM são compatíveis entre si.
Controlador Ansible
Este é o funcionamento da ferramenta Ansible e os comandos são usados pelo controlador para que possa configurar as informações e criar a conexão entre o Windows e Ansible. Primeiro, vamos criar o manual.
Criando o manual
Agora, gerenciaremos a implantação e a atualização de pacotes. Para isso, vamos criar um manual no Ansible First:
[root@master Ansible]# nano win_ping.ymlAqui está a declaração do manual Ansible. Quando o manual Win_Ping.YML é criado, então será lançado no novo terminal de Ansible. Aqui, escreveremos os hosts e a tarefa que queremos executar. Em win_ping.YML, primeiro nomeamos o manual que queremos fazer no manual.
Em seguida, escreveremos o nome dos hosts, pois estamos configurando os dados do host do Microsoft Windows. Então, o nome do host de destino é "Windows_host". Em seguida, passamos o "falso" para a opção Gather_fact do manual para que não recupere as informações do host de destino do alvo no manual. Em seguida, listamos as tarefas no manual. Queremos verificar a conexão entre o Ansible Playbook Controller e o host de destino do destino, para que passemos o nome do manual na tarefa.
- Nome: Teste do módulo Win_pingCriando o arquivo de inventário
Após a criação e rescisão do manual, criaremos o arquivo de inventário para fornecer as informações sobre o host do Windows aqui. Escreveremos o endereço IP, nome do usuário, senha, nome da conexão, número da porta e validação do WinRM. Esta é a declaração que escreveremos para construir o arquivo de inventário em Ansible.
[root@master Ansible]# nano win_ping.yml tudo:Depois de fornecer as informações necessárias sobre o host do Windows de destino, executaremos o manual junto com o arquivo de inventário. Para fazer isso, escreva o comando abaixo:
[root@master Ansible]# Ansible-playbook win_ping.yml -i host.ymlComo mostrado, a conexão entre o controlador Ansible e o host do Windows foi feita com sucesso.
Conclusão
Usando o pacote WinRM em Ansible, aprendemos a automatizar o Microsoft Windows nesta palestra. Descrevemos em detalhes como configurar um host do Microsoft Windows para Ansible. Ansible é uma ferramenta que tem sido historicamente associada ao Linux, embora também possa ser utilizada no Microsoft Windows com facilidade.