Instalar OpenShift Origin en Fedora 19 (Mega Tutorial) – Parte 6

OpenShift

OpenShift Origin

Llegó el momento de empezar a configurar el primer nodo.
Después de haber configurado la máquina broker, la configuración del nodo cubrirá casi todo lo que queda de tutorial.

Empecemos

Asumiendo el siguiente esquema de red:

  • Broker: IP=10.10.10.2/24 (via DHCP)
  • Node1: IP=10.10.10.10.1/24 (via DHCP)

Vamos a crear la entrada en el DNS de node1, y para ello vamos a utilizar las herramientas que tenemos disponibles en el broker.

oo-register-dns -s 10.10.10.2 -h node1 -d dmartin.es -n 10.10.10.101 -k /var/named/dmartin.es.key

Repaso las opciones:

  1. -s define la dirección del servidor DNS
  2. -h determina el nombre del host a registrar
  3. -d referencia el dominio donde se registra
  4. -n indica la dirección IP
  5. -k la clave para modificar el DNS

Ahora copiamos la clave SSH que permite al broker enviar archivos a los nodos, y verificamos que podemos conectar con ella

ssh-copy-id -i /etc/openshift/rsync_id_rsa.pub node1.dmartin.es
ssh -i /etc/openshift/rsync_id_rsa.pub node1.dmartin.es date

Configuración de Node1

Llega el turno de configurar la red del node1.
Si nuestra red tiene una configuración estática sólo necesitamos apuntar a nuestro servidor DNS.
Voy a mostrar la configuración de una red dinámica por DHCP, en el que tenemos que evitar que el servidor DHCP nos modifique el DNS y el dominio.

cat <<EOF> /etc/sysconfig/network-scripts/ifcfg-eth0
NAME="eth0"
TYPE="Ethernet"
BOOTPROTO="dhcp"
PEERDNS="no"
DNS1="10.10.10.2"
EOF

Y ya por último modificar el hostname de la máquina

hostnamectl node1.dmartin.es
cat /etc/hostname

MCollective

Instalamos el paquete necesario

yum install -y openshift-origin-msg-node-mcollective

Una vez instalado vamos a modificar el fichero de configuración de MCollective

cat </etc/mcollective/server.cfg
topicprefix = /topic/
main_collective = mcollective
collectives = mcollective
libdir = /usr/libexec/mcollective
logfile = /var/log/openshift/node/mcollective.log
loglevel = debug
daemonize = 0
direct_addressing = 1
registerinterval = 30

# Plugins
securityprovider = psk
plugin.psk = unset

connector = activemq
plugin.activemq.pool.size = 1
plugin.activemq.pool.1.host = broker.dmartin.es
plugin.activemq.pool.1.port = 61613
plugin.activemq.pool.1.user = mcollective
plugin.activemq.pool.1.password = marionette

# Facts
factsource = yaml
plugin.yaml = /etc/mcollective/facts.yaml
EOF

Para el funcionamiento en Fedora 19 de MCollective con systemd necesitamos crear el fichero de servicio, reiniciar systemd y arrancar y habilitar el servicio

cat < /usr/lib/systemd/system/mcollective.service
[Unit]
Description=The Marionette Collective
After=network.target

[Service]
Type=simple
StandardOutput=syslog
StandardError=syslog
ExecStart=/usr/sbin/mcollectived --config=/etc/mcollective/server.cfg --pidfile=/var/run/mcollective.pid
ExecReload=/bin/kill -USR1 \$MAINPID
PIDFile=/var/run/mcollective.pid
KillMode=process

[Install]
WantedBy=multi-user.target
EOF

systemctl --system daemon-reload
systemctl enable mcollective.service
systemctl start mcollective.service

Después de esto, MCollective debe estar funcionando y podemos probarlo desde la máquina broker ejecutando el comando mco ping, que nos devolverá los nodos accesibles (en nuestro caso sólo uno).

Instalando paquetes

Para que el nodo pueda trabajar correctamente, al igual que hicimos con el broker, debemos instalar una serie de paquetes.

yum install -y rubygem-openshift-origin-node rubygem-passenger-native openshift-origin-port-proxy openshift-origin-node-util rubygem-openshift-origin-container-selinux httpd

Ahora realizaremos la configuración del enrutamiento de las peticiones HTTP/HTTPS y habilitamos el acceso a la información de los cartuchos

echo "ServerName node1.dmartin.es" > /etc/httpd/conf.d/000001_openshift_origin_node_servername.conf
cat << EOF > /etc/httpd/conf.d/cartridge_files.conf

    Require all granted

EOF

Ahora instalaremos los front-ends de Apache Virtual Hosts y de NodeJS WebSockets

yum install -y rubygem-openshift-origin-frontend-apache-mod-rewrite
yum install -y openshift-origin-node-proxy rubygem-openshift-origin-frontend-nodejs-websocket

Por último arrancamos los servicios necesarios y configuramos el firewall

systemctl start openshift-node-web-proxy
systemctl start httpd
systemctl enable openshift-node-web-proxy
systemctl enable httpd
iptables -N rhc-app-comm
iptables -I INPUT 4 -m tcp -p tcp --dport 35531:65535 -m state --state NEW -j ACCEPT
iptables -I INPUT 5 -j rhc-app-comm
iptables -I OUTPUT 1 -j rhc-app-comm
/usr/libexec/iptables/iptables.init save

Instalar cartuchos

Una de las partes más esperadas de este tutorial es esta. Sin duda, la hora de instalar los cartuchos que tendremos disponibles desde nuestro nodo. Para ello podemos listar los cartuchos que tenemos disponibles ejectuando

yum list openshift-origin-cartridge\*

Si queremos podemos instalarlos todos ;-P pero por supuesto habría que elegir sólo los que queremos.

yum install -y openshift-origin-cartridge\*

Una vez instalados los paquetes, pondremos disponibles los cartuchos en el node1

/usr/sbin/oo-admin-cartridge --recursive -a install -s /usr/libexec/openshift/cartridges/

Firewall y servicios

El último paso de este post será configurar el firewall y habilitar los servicios para el arranque

lokkit --service=ssh
lokkit --service=https
lokkit --service=http
lokkit --port=8000:tcp
lokkit --port=8443:tcp
systemctl enable network.service
systemctl enable sshd.service
systemctl enable oddjobd.service

Y hasta aquí este post.En el próximo configuraremos los límites de uso del sistema operativo, GIT por SSH, algo más sobre SELinux.
Accede aquí.

Nos vemos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.