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:
- -s define la dirección del servidor DNS
- -h determina el nombre del host a registrar
- -d referencia el dominio donde se registra
- -n indica la dirección IP
- -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.confRequire 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.