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

openshift-origin-logo

Openshift Origin

Configurar el Broker

En el post anterior terminamos de configurar la base de datos MongoDB, el servidor de mensjaería ActiveMQ y el cliente MCollective. Ahora llega el paso de configurar el broker con sus paquetes correspondientes.

Lo primero de todo es instalar los paquetes necesarios para el broker:

yum install -y openshift-origin-broker openshift-origin-broker-util \
              rubygem-openshift-origin-auth-remote-user \
              rubygem-openshift-origin-auth-mongo \
              rubygem-openshift-origin-msg-broker-mcollective \
              rubygem-openshift-origin-dns-avahi \
              rubygem-openshift-origin-dns-nsupdate \
              rubygem-openshift-origin-dns-route53 \
              rubygem-passenger mod_passenger

Y nos aseguramos de tener los puertos necesarios abiertos en el firewall:

lokkit --service=ssh --service=http --service=https

Para poder permitir que ciertos servicios se comuniquen con el broker, y evitar que dicha comunicación sera insegura, es necesario crear un par de claves de acceso. Para ello usaremos el comando openssl de la siguiente forma:

openssl genrsa -out /etc/openshift/server_priv.pem 2048
openssl rsa -in /etc/openshift/server_priv.pem -pubout > /etc/openshift/server_pub.pem

El broker y los nodos han de comunicarse entre sí y transferirse contenido. Para securizar esta transferencia utilizan el protocolo SSH, por lo que debemos crear una clave RSA dentro del broker, pero dejaremos el passphrase en blanco:

ssh-keygen -t rsa -b 2048 -f /etc/openshift/rsync_id_rsa

Como SELinux está funcionando en modo Enforcing, lo que haremos será habilitar una serie de booleanos necesarios para el correcto funcionamiento del broker (con man -k servicename podreis obtener información de SELinux para esos servicios):

setsebool -P  httpd_unified=on httpd_can_network_connect=on httpd_can_network_relay=on \
              httpd_run_stickshift=on named_write_master_zones=on allow_ypbind=on \
              httpd_verify_dns=on httpd_enable_homedirs=on httpd_execmem=on \
              httpd_read_user_content=on

Por último generamos los contextos necesarios para los directorios necesarios y los aplicamos:

semanage fcontext -a -t httpd_var_run_t '/var/www/openshift/broker/httpd/run(/.*)?'
semanage fcontext -a -t httpd_tmp_t '/var/www/openshift/broker/tmp(/.*)?'
semanage fcontext -a -t httpd_log_t '/var/log/openshift/broker(/.*)?'
fixfiles -R rubygem-passenger restore
fixfiles -R mod_passenger restore
restorecon -RFvv /var/run
restorecon -RFvv /opt
restorecon -RFvv /var/www/openshift/

El comando fixfiles con la opción -R lee los ficheros que instala un paquete y restaura sus contextos.

Fichero de configuración de OpenShift

El fichero de configuración principal de OpenShift es /etc/openshift/broker.conf, y para ajustar nuestra configuración debemos modificar una serie de directivas:

VALID_GEAR_SIZES="small,medium,large"

Sirve para indicar el tamaño de los gears (que son los espacios de computación de CPU, RAM y HDD asignados)

 

CLOUD_DOMAIN="dmartin.es"

Definirá el dominio del cual dependerán los espacios de nombres de los usuarios de OpenShift

 

MONGO_HOST_PORT="broker.dmartin.es:27017"
MONGO_USER="openshift"
MONGO_PASSWORD="mooo"
MONGO_DB="openshift_broker_dev"

Establecemos la configuración para contactar con la base de datos de MongoDB. En negrita los valores que configuramos en el post anterior

 

echo "AUTH_SALT=\"$(openssl rand -base64 64|tr -d \"\\n\")\"">> /etc/openshift/broker.conf
echo "SESSION_SECRET=\"$(openssl rand -base64 64|tr -d \"\\n\")\"">> /etc/openshift/broker.conf

Con esto generamos los bits aleatorios para las huellas de autenticación y de sesión.

En el próximo post configuraremos los plugins del broker.
La encontrarás aquí.

Nos vemos.

One thought on “Instalar OpenShift Origin en Fedora 19 (Mega Tutorial) – Parte 3

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.