Instalando a Web Semaphore Ansible UI no CentOS 7
Neste guia, vamos instalar a UI do Semaphore Ansible Web no CentOS 7. O Semaphore é uma solução baseada na Web de código aberto que torna o Ansible fácil de usar para equipes de TI de todos os tipos. Ele fornece uma interface da Web de onde você pode iniciar e gerenciar tarefas do Ansible.
Semaphore depende das seguintes ferramentas:
- MySQL >= 5.6.4/MariaDB >= 5.3;
- Ansible;
- Git >= 2.x.
Vamos iniciar a instalação garantindo que essas dependências estejam instaladas em seu servidor CentOS 7. Portanto, siga as etapas nas próximas seções para garantir que tudo esteja definido.
Etapa 1: Instalar o servidor de banco de dados MariaDB:
Use este post para instalar o MariaDB em seu CentOS.
OBS: Lembre-se de anotar a senha do root configurada no servidor de banco de dados.
Etapa 2: Instalando a versão mais recente do Git (Git 2.x) no CentOS 7:
Confirme a versão do git.
$ git --version
git version 2.16.5
Etapa 3: Instalar o Ansible:
Instale o Ansible em seu servidor CentOS 7.
sudo yum -y install epel-release sudo yum -y install ansible
Teste a disponibilidade do Ansible e sua versão com este comando:
$ ansible --version ansible 2.7.9 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/site-packages/ansible executable location = /usr/bin/ansible python version = 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
Etapa 4: Baixando o Semaphore:
Visite a pagina de Releases do Semaphore ou copie o link para baixar o mesmo no seu Sistema Operacional.
sudo yum -y install wget wget https://github.com/ansible-semaphore/semaphore/releases/download/v2.5.1/semaphore_2.5.1_linux_amd64.rpm
Agora instale o pacote do Semaphore:
$ sudo rpm -Uvh semaphore_2.5.1_linux_amd64.rpm
Preparing… ################################# [100%]
Updating / installing…
1:semaphore-2.5.1-1 ################################# [100%]
Valide se o binário do Semaphore está presente no seu $PATH:
$ which semaphore /usr/bin/semaphore $ semaphore -version v2.5.1
Etapa 5: Faça o setup do Semaphore:
Execute o seguinte comando para iniciar a configuração (setup) do Semaphore em seu sistema.
# semaphore -setup Hello! You will now be guided through a setup to: Set up configuration for a MySQL/MariaDB database Set up a path for your playbooks (auto-created) Run database Migrations Set up initial semaphore user & password DB Hostname (default 127.0.0.1:3306): 127.0.0.1:3306 DB User (default root): root DB Password:DB Name (default semaphore): semaphore Playbook path (default /tmp/semaphore): /opt/semaphore Web root URL (optional, example http://localhost:8010/): http://localhost:8010/ Enable email alerts (y/n, default n): n Enable telegram alerts (y/n, default n): n Enable LDAP authentication (y/n, default n): n
Confirme se esses valores estão corretos para iniciar a configuração.
Is this correct? (yes/no): yes
Config output directory (default /root):
WARN[0037] An input error occured:unexpected newline
Running: mkdir -p /root..
Configuration written to /root/config.json..
Pinging db..
Running DB Migrations..
Checking DB migrations
Creating migrations table
......
Migrations Finished
Vamos definir o nome de usuário.
Username: computingforgeeks Email: computingforgeeks@example.com WARN[0268] sql: no rows in result set level=Warn Your name: computingforgeeks Password: StrongPassword You are all setup computingforgeeks! Re-launch this program pointing to the configuration file ./semaphore -config /root/config.json To run as daemon: nohup ./semaphore -config /root/config.json & You can login with computingforgeeks@example.com or computingforgeeks.
Você pode definir outros valores de configuração no arquivo /root/config.json.
Etapa 6: Configurando o SystemD:
Agora vamos configurar a interface do usuário do Semaphore Ansible para ser gerenciada pelo SystemD. Crie o arquivo da unidade de serviço SystemD.
sudo vim /etc/systemd/system/semaphore.service
E adicione isto:
[Unit] Description=Semaphore Ansible UI Documentation=https://github.com/ansible-semaphore/semaphore Wants=network-online.target After=network-online.target [Service] Type=simple ExecReload=/bin/kill -HUP $MAINPID ExecStart=/usr/bin/semaphore -config /etc/semaphore/config.json SyslogIdentifier=semaphore Restart=always [Install] WantedBy=multi-user.target
Crie o diretório de configurações Semaphore:
sudo mkdir /etc/semaphore
Copie seu arquivo de configuração para o diretório criado:
sudo ln -s /root/config.json /etc/semaphore/config.json
Vamos parar a execução das instâncias do Semaphore:
sudo pkill semaphore
Confirme:
ps aux | grep sema
Recarregue o SystemD e inicie o serviço do Semaphore:
sudo systemctl daemon-reload sudo systemctl start semaphore
Verifique o status para ver se está sendo executado:
$ systemctl status semaphore ● semaphore.service - Semaphore Ansible UI Loaded: loaded (/etc/systemd/system/semaphore.service; disabled; vendor preset: enabled) Active: active (running) since Thu 2019-04-04 22:49:24 CEST; 31s ago Docs: https://github.com/ansible-semaphore/semaphore Main PID: 9779 (semaphore) CGroup: /system.slice/semaphore.service └─9779 /usr/bin/semaphore -config /etc/semaphore/config.json Apr 04 22:49:24 mydebian systemd[1]: Started Semaphore Ansible UI. Apr 04 22:49:24 mydebian semaphore[9779]: Using config file: /etc/semaphore/config.json Apr 04 22:49:24 mydebian semaphore[9779]: Semaphore v2.5.1 Apr 04 22:49:24 mydebian semaphore[9779]: Port :3000 Apr 04 22:49:24 mydebian semaphore[9779]: MySQL root@127.0.0.1:3306 semaphore Apr 04 22:49:24 mydebian semaphore[9779]: Tmp Path (projects home) /opt/semaphore Apr 04 22:49:24 mydebian semaphore[9779]: Checking DB migrations
Configure o serviço para iniciar no boot do Sistema Operacional:
$ sudo systemctl enable semaphore
Created symlink /etc/systemd/system/multi-user.target.wants/semaphore.service → /etc/systemd/system/semaphore.service.
Verifique se a porta 3000 ficou aberta agora:
# ss -tunelp | grep 3000
tcp LISTEN 0 128 :::3000 :::* users:(("semaphore",pid=9779,fd=3)) uid:999 ino:45866 sk:6 v6only:0 <->->
Etapa 7: Configurar o Proxy Ngnx (Opcional).
Para poder acessar a interface da Web Semaphore com um nome de domínio, use a guia da URL abaixo para configurar.
URL Como configurar o Proxy Nginx para interface da Web Semaphore Ansible.
Etapa 8: Acessando a interface da Web Semaphore Ansible:
No seu navegador, abra o Web Semaphore Ansible, digitando o IP do seu servidor seguindo da porta 3000. Caso tenha realizado a Etapa 7 digite o domínio configurado. Você deve receber a imagem mostrada a seguir.
Use o nome de usuário ou e-mail criado anteriormente durante a instalação para entrar. O console da Web para o Semaphore deve ser mostrado após a autenticação. Como mostrado na imagem a seguir.
Você está pronto para gerenciar seus servidores com uma interface, o Web Semaphore Ansible UI é poderoso, e muito pratico de usar.
As etapas iniciais necessárias são:
- Criar um arquivo de inventário com servidores que vamos gerenciar - Em Inventory > Create Inventory.
- Crie os usuários e adicione à(s) equipe(s);
- Crie os ambientes;
- Adicione os repositórios dos Playbooks.
- Crie modelos de tarefas e execute.
Para além disso, verifique um guia detalhado sobre a interface do Web Semaphore Ansible UI, na URL a seguir.
Para instalação em Ubuntu ou Debian, verifique em:
Fonte: Computing For Geeks.
Deixe um comentário