Usando o Spacewalk para gerenciar servidores Linux – parte1

logo

Spacewalk é um sistema de gerenciamento para servidores Linux normalmente utilizado para gerenciar servidores RHEL/CentOS, entretanto ele pode ser utilizado também com servidores Debian GNU/Linux ou Ubuntu.

Com o Spacewalk é possível fazer:

* Inventário de hardware e software.
* Instalação e atualização de softwares.
* Coletar e distribuir pacotes customizados.
* Gerenciar e implantar arquivos de configuração.
* Distribuir conteúdo entre múltiplos Spacewalks geograficamente distribuidos.

Neste primeiro artigo irei mostrar como implantar o servidor Spacewalk, nos próximos artigos será apresentado como configurar clientes CentOS e outras distros.

A seguir serão apresentados os procedimentos para instalação do servidor gerenciamento. O sistema foi instalado em uma versão minimal do CentOS 7 x86_64.

Instalar o repositório básico

rpm -Uvh http://yum.spacewalkproject.org/2.3/RHEL/7/x86_64/spacewalk-repo-2.3-4.el7.noarch.rpm

Repositórios adicionais

JPACKAGE

cat > /etc/yum.repos.d/jpackage-generic.repo << EOF
[jpackage-generic]
name=JPackage generic
#baseurl=http://mirrors.dotsrc.org/pub/jpackage/5.0/generic/free/
mirrorlist=http://www.jpackage.org/mirrorlist.php?dist=generic&type=free&release=5.0
enabled=1
gpgcheck=1
gpgkey=http://www.jpackage.org/jpackage.asc
EOF

EPEL

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Instalar Banco de dados

yum –y install spacewalk-setup-postgresql

Configurar iptables

As portas 80,443,5222,5269 precisam estar liberadas

yum –y  install iptables-services
vim /etc/sysconfig/iptables

Adicione as seguintes linhas no arquivo /etc/sysconfig/iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5222 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5269 -j ACCEPT

Reinicie o serviço iptables

service iptables restart

Instalar Spacewalk

yum –y install spacewalk-postgresql
spacewalk-setup --disconnected
You must enter an email address.
Admin Email Address? [email protected]
Should setup configure apache's default ssl server for you (saves original ssl.conf) [Y]? 
CA certificate password? [INFORME A SENHA]
Re-enter CA certificate password? [REPITA A  SENHA]
Organization? ACME Co.
Organization Unit [spacewalk.localdomain]?  
Email Address [[email protected]]? 
City? Salvador
State? Bahia
Country code (Examples: "US", "JP", "IN", or type "?" to see a list)? BR
Cobbler requires tftp and xinetd services be turned on for PXE provisioning functionality. Enable these services [Y]? 

Configuração inicial

Acesse o Spacewalk usando o navegador https://[IP_SpacewalkServer]/

space1

Cadastre o usuário administrativo

space2

Após clicar no botão CREATE LOGIN o acesso ao sistema será disponibilizado

space3

Spacewalk Channels

O hosts clientes conectados ao Spacewalk sempre serão membros de um channel (canal). Um canal é uma coleção lógica de pacotes e podem ser customizados, clonados ou sincronizados.

Um boa prática é configurar um canal base para cada versão do CentOS/RHEL (e.g. CentOS 6, REHL 7) e criar canais filhos para cada repositório.

Adicionando uma canal base

Um canal base é onde o cliente será registrado. Um boa prática é não adicionar pacotes no canal base e sim no canal filho específico.

Um canal base possui uma chave de registro, a qual será utilizada para registrar o cliente.

Para adicionar um base channel acesso Channels > Manage Software Channels > Create Channel

space4

Preencha os campos obrigatórios e clique em CREATE CHANNEL

space5

Após a criação do canal é necessário gerar a chave a qual permitirá o registro de clientes.

Para criar a chave acesse vá para Systems > Activation Keys > Create Key

space6

Mantenha o campo KEY em branco, selecione o canal criado anteriormente e clique em CREATE ACTIVATION KEY

space7

Adicionar Repositórios

Para adicionar um repositório ao sistema clique em Channels > Manage Software Channels > Manage Repository > Create Repository.

As imagens abaixo exemplificam a criação dos repositórios Base OS e Updates

space8

space9

space10

Criar Child Channel

Para cada repositório adicionado é necessário criar um canal filho com base na arquitetura informada no canal base.

Vá para Channels > Manage Software Channels > Create Channel.

Preencha os campos lembrando-se de informar no campo PARENT CHANNEL o canal base criado anteriormente.

space11

space12

Vincule o canal filho criado ao seu respectivo repositório em Manage Software Channels > Selecione o canal filho criado > clique em Repositories > Selecione o repositório > Clique em Update Repositories.

OBS: Execute esse procedimento para cada repositório criado.

space13

space14

Sincronizar o canal filho com o repositório

Para concluir o processo de criação de canais e repositórios é necessário sincronizá-los.

Vá para Channels > Manage Software Channels -> [CANAL FILHO] >Repositories > Sync > Sync Now

space15

space16

A sincronização também pode ser feita pela console através do comando spacewalk-repo-sync.

spacewalk-repo-sync --channel centos_7_base --type yum

A vantagem em fazer a primiera sincronização pela console é a possibilidade de acompanhar o processo. As próximas podem ser agendadas pela própria GUI do sistema.

Após a sincronização de todos os repositórios o sistema está pronto para ser utilizado.

Na segunda parte deste artigo irei mostrar como configurar o cliente e explorar alguns recursos do Spacewalk.

Referências

Spacewalk Home- http://spacewalk.redhat.com/

Spacewalk Wiki - https://fedorahosted.org/spacewalk/wiki/UserDocs

Developer Documentation -
https://fedorahosted.org/spacewalk/wiki/DeveloperDocs

CentOS Mirrors -
https://www.centos.org/download/mirrors/

Author: alexos