OpenShift Origin
Tras haber configurado en el post anterior el broker (instalando paquetes y configurando los gears), llega el momento de configurar los servicios del core de OpenShift gracias a una serie de plugins.
Estos plugins se encargan de tareas como gestionar la autenticación, la actualización del DNS o la gestión de la mensajería de los nodos. Disponen de sus propios ficheros de configuración correspondientes, además tendremos unos ficheros de ejemplo que podremos tomar como plantilla.
Empecemos.
Configurar plugins
Lo primero será situarnos en el directorio de los plugins que se encuentra en /etc/openshift/plugins.d, donde encontramos los ficheros de ejemplo: openshift-origin-auth-remote-user.conf.example, openshift-origin-dns-nsupdate.conf.example y openshift-origin-msg-broker-mcollective.conf.example.
Lo que haremos a continuación será dejar los ficheros de plantilla y trabajar sobre una copia de los mismos:
cd /etc/openshift/plugins.d cp openshift-origin-auth-remote-user.conf{.example,} cp openshift-origin-dns-nsupdate.conf{.example,} cp openshift-origin-msg-broker-mcollective.conf{.example,}
Del fichero openshift-origin-msg-broker-mcollective.conf hay que cambiar la directiva:
MCOLLECTIVE_CONFIG="%{scl_root}//etc/mcollective/client.cfg"
Y establecerla a:
MCOLLECTIVE_CONFIG=/"etc/mcollective/client.cfg"
Ahora configuraremos el plugin de actualización del DNS, así que para facilitar la configuración usaremos de nuevo las variables que hemos usado previamente:
domain=dmartin.es keyfile=/var/named/${domain}.key KEY="$(grep Key: /var/named/K${domain}*.private | cut -d ' ' -f 2)"
Y ahora rellenamos las directivas necesarias del plugin
cat << EOF > openshift-origin-dns-nsupdate.conf BIND_SERVER="127.0.0.1" BIND_PORT=53 BIND_KEYNAME="${domain}" BIND_KEYVALUE="${KEY}" BIND_ZONE="${domain}" EOF
Configurar autenticación
OpenShift soporta diversos mecanismos de autenticación tales como MongoDB, Kerberos, LDAP, etc. En un entorno empresarial seguramente se escoja LDAP o Kerberos, pero en este tutorial emplearemos el mecanismo Basic, que utiliza la autenticación de Apache, así que usaremos la plantilla ofrecida por OpenShift:
cp /var/www/openshift/broker/httpd/conf.d/openshift-origin-auth-remote-user-basic.conf{.sample,}
En la directiva AuthUserFile /etc/openshift/htpasswd apunta al fichero donde se almacenarán los usuarios y los passwords. Para ello ejecutamos el comando de Apache
htpasswd -c /etc/openshift/htpasswd <openshift-user>
Hay que tener en cuenta que la opción -c crea el fichero si no existe, pero si existe borra todo su contenido, así que para añadir nuevos usuarios simplemente eliminamos esa opción.
OpenShift Admin Console
Podemos gestionar el broker desde una consola de administración adicionalmente. Para ello instalamos el paquete necesario
yum install -y rubygem-openshift-origin-admin-console
Ruby Bundle
Dado que OpenShift está construido sobre Ruby on Rails, para que el broker pueda satisfacer las dependencias, hemos de ejecutar el siguiente comando
cd /var/www/openshift/broker bundle --local
Arrancando los servicios
Ahora es el turno de arrancar y habilitar para el arranque los servicios necesarios
systemctl start openshift-broker.service systemctl start httpd.service systemctl enable openshift-broker.service systemctl enable httpd.service
Verificar el funcionamiento
Podemos probar el funcionamiento gracias a herramienta curl y si queremos verlo en un formato más legible podemos usar python y un módulo de json
curl -u <username>:<password> -k https://broker.dmartin.es/broker/rest/api.json|python -m json.tool
Y mediante una conexión por ssh, podemos realizar una redirección de puertos para poder acceder a la consola
ssh -Nf -L 8080:localhost:8080 root@broker.dmartin.es
Y desde nuestra máquina podemos realizar la conexión mediante la url http://localhost:8080/admin-console
Hasta aquí esta entrega. En la siguiente terminaremos de configurar la consola Web donde podremos crear aplicaciones cuando el Node esté configurado 😉
Disponible aquí.
Nos vemos.
2 thoughts on “Instalar OpenShift Origin en Fedora 19 (Mega Tutorial) – Parte 4”