Como ativar o repositório EPEL no CentOS com Ansible

Como ativar o repositório EPEL no CentOS com Ansible
Neste artigo, mostrarei como ativar o repositório EPEL no CentOS usando Ansible. Então vamos começar.

Pré -requisitos

Para ativar o repositório EPEL nas máquinas Centos 7 ou Centos 8 com Ansible:

  1. Você deve ter o Ansible instalado no seu computador.
  2. Você deve ter o CentOS 7 ou o CentOS 8 Machines configuradas para Ansible Automation.

Existem muitos artigos sobre Linuxhint dedicados à instalação do Ansible e configurando hosts para Ansible Automation. Você pode verificar esses artigos, se necessário, para seus propósitos.

Permitindo o repositório EPEL nos hosts do CentOS

Primeiro, crie um diretório de projeto ~/projeto com o seguinte comando:

$ mkdir -pv ~/Project/playbooks

Navegue até o ~/projeto Diretório com o seguinte comando:

$ CD ~/Projeto

Crie um novo arquivo anfitriões No diretório do projeto e abra -o com o editor de texto Nano da seguinte forma:

$ nano hosts

Um arquivo em branco anfitriões deve ser criado e aberto com o editor de texto nano.

Digite os endereços IP ou nomes de DNS das máquinas do CentOS 7 e do CentOS 8 (onde você deseja ativar o repositório EPEL) no CENTOS seção do anfitriões arquivo, como segue:

[CentOS]
192.168.20.169
192.168.20.222

Aqui, 192.168.20.169 é o endereço IP da minha máquina virtual do CentOS 8 e 192.168.20.222 é o endereço IP da minha máquina virtual do CentOS 7. Estes serão diferentes para você. Certifique -se de substituir os endereços IP da amostra por sua própria lista a partir de agora.

OBSERVAÇÃO: Você pode encontrar os endereços IP de seus hosts do CentOS com o seguinte comando:

$ hostname -i

Se seus hosts do CentOS tiverem nomes de DNS configurados, você poderá encontrá -los com o seguinte comando:

$ hostname -a

O final anfitriões O arquivo deve procurar como mostrado na captura de tela abaixo.

Agora, salve o arquivo hosts pressionando + X seguido pela Y e .

Crie um arquivo de configuração Ansible Ansible.cfg do seguinte modo:

$ Nano Ansible.cfg

Digite as seguintes linhas no Ansible.Arquivo CFG:

[Padrões]
inventário =./hosts

Depois de concluir esta etapa, salve o arquivo pressionando + X seguido pela Y e .

Agora, crie um novo manual Ansible enable_epel_repo.Yaml no Playbooks/ diretório da seguinte maneira:

$ nano Playbooks/enable_epel_repo.Yaml

Em seguida, digite os seguintes códigos no enable_epel_repo.Yaml arquivo:

- Hosts: Centos
Usuário: Ansible
tarefas:
- Nome: Ativar repositório EPEL no CentOS 8
DNF:
NOME: EPEL-RELEASE
Estado: mais recente
tornar verdade
Quando: Ansible_facts ['os_family'] == 'redhat' e Ansible_facts
['distribution_major_version'] == '8'
- Nome: Ativar repositório EPEL no CentOS 7
yum:
NOME: EPEL-RELEASE
Estado: mais recente
tornar verdade
Quando: Ansible_facts ['os_family'] == 'redhat' e Ansible_facts
['distribution_major_version'] == '7'

Neste código:

Hosts: Centos, seleciona apenas os hosts no CENTOS grupo do anfitriões arquivo.

Usuário: Ansible, O nome de usuário do SSH dos hosts (onde Ansible executará as tarefas) será Ansible.

Eu defini 2 tarefas aqui. Um para o CentOS 8 hosts e outro para os hosts do CentOS 7. A razão pela qual eu fiz dessa maneira é porque o gerenciador de pacotes padrão do CentOS 8 é DNF e o CentOS 7 é Yum. Uma tarefa (primeira tarefa) usará o DNF Package Manager e será executado apenas nos hosts do CentOS 8. A outra tarefa (última tarefa) usará o Yum Package Manager e será executado apenas nos hosts do CentOS 7.

Essas duas tarefas são quase idênticas. As únicas diferenças são os módulos do gerenciador de pacotes (DNF e yum) usado nas tarefas e no código de verificação da versão do CentOS.

DNF e yum Módulos Ansible aceita os mesmos parâmetros.

Aqui, NOME: EPEL-RELEASE, o pacote a ser instalado é o EPEL-RELEASE.

Estado: mais recente, o pacote EPEL-RELEASE deve ser instalado. Se o pacote já estiver instalado e uma versão atualizada estiver disponível, o pacote será atualizado.

Quando: condição, Se o doença é verdadeiro, Então a tarefa vai executar. Caso contrário, a tarefa não será executada.

Ansible_facts, usado para acessar as variáveis ​​de host Ansible.

Ansible_facts ['os_family'] == 'redhat', Verifica se o sistema operacional host é CentOS ou Redhat.

Ansible_facts ['distribution_major_version'] == '8', Verifica se a versão do sistema operacional host é 8 (CentOS 8 ou Redhat 8, neste caso).

Ansible_facts ['distribution_major_version'] == '7', Verifica se a versão do sistema operacional host é 7 (CentOS 7 ou Redhat 7, neste caso).

Então, salve enable_epel_repo.Yaml arquivo pressionando + X seguido pela Y e .

Agora, você pode executar o manual Ansible da seguinte maneira:

$ Ansible-Playbook Playbooks/enable_epel_repo.Yaml

O manual deve funcionar sem erros e o repositório EPEL deve ser ativado nos hosts do CentOS 7 e do CentOS 8.

Como você pode ver, o repositório EPEL está ativado no meu host do CentOS 8.

Como você pode ver, o repositório EPEL está ativado no meu host do CentOS 7.

Então, é assim que você permite o repositório EPEL no CentOS usando Ansible. Obrigado por ler este artigo.