OpenShift Origin
Continuando con nuestro tutorial, vamos a instalar la base de datos MongoDB que almacenará los datos de la infraestructura de OpenShift. Después instalaremos el servicio de mensajería ActiveMQ que se encargará de la comunicación entre el broker y los nodos. Por último instalaremos el cliente de MCollective, que será el encargado de enviar y recibir los mensajes entre el broker y los nodos.
Empecemos.
Instalar MongoDB
-
Sistemas afectados : broker
Mediante yum instalaremos los paquetes mongodb-server, mongodb y libmongodb
yum install -y mongodb-server mongodb libmongodb
MongoDB utiliza un fichero de configuración que se encuentra en la ruta /etc/mongodb.conf que debemos modificar en 2 tandas. La primera será para desactivar temporalmente la autenticación comentando la directiva auth=true. Además, MongoDB, hace uso de una cantidad enorme de espacio en disco, más del que OpenShift requiere, por ello añadiremos la directiva smallfiles=true.
vim /et/mongodb.conf bind_ip = 127.0.0.1 port = 27017 fork = true pidfilepath = /var/run/mongodb/mongodb.pid logpath = /var/log/mongodb/mongodb.log dbpath =/var/lib/mongodb journal = true nohttpinterface = true smallfiles=true #auth=true
Ahora iniciamos el servicio y creamos el usuario de la base de datos de OpenShift.
systemctl start mongod.service mongo localhost/openshift_broker_dev --eval 'db.addUser("openshift", "mooo")' mongo localhost/admin --eval 'db.addUser("openshift", "mooo")'
Volvemos a editar el fichero de configuración para activar la autenticación y configurar la directiva bind_ip= para que apunte también a nuestra IP pública. Además configuramos el firewall.
systemctl stop mongod.service vim /etc/mongodb.conf bind_ip = 127.0.0.1,10.10.10.2 port = 27017 fork = true pidfilepath = /var/run/mongodb/mongodb.pid logpath = /var/log/mongodb/mongodb.log dbpath =/var/lib/mongodb journal = true nohttpinterface = true smallfiles=true auth=true systemctl start mongod.service lokkit --port=27017:tcp
Verificamos el correcto funcionamiento de MongoDB y habilitamos el servicio para el arranque del sistema.
mongo admin >MongoDB shell version: 2.4.6 >connecting to: admin >Welcome to the MongoDB shell. >For interactive help, type "help". >For more comprehensive documentation, see > http://docs.mongodb.org/ >Questions? Try the support group > http://groups.google.com/group/mongodb-user db.auth('openshift',"mooo") > 1 show dbs > admin 0.0625GB > local 0.03125GB > openshift_broker_dev 0.0625GB exit systemctl enable mongod.service
Instalar ActiveMQ
-
Sistemas afectados : broker
Para continuar con la configuración necesitamos instalar ActiveMQ, que instalará Java entre otras de las muchas dependencias. Los paquetes necesarios son activemq y activemq-client
yum install -y activemq activemq-client
El fichero de configuración principal es /etc/activemq/activemq.xml al que hay que añadir la configuración de queue y topic que requiere OpenShift, pero como este es un arduo trabajo, OpenShift nos facilita la descarga de un fichero preconfigurado aquí. Sólo tendremos que modificar unas pocas líneas. También descargamos el fichero del servidor donde ActiveMQ se ejecutará, que se obtiene desde aquí.
curl -o /etc/activemq/activemq.xml https://raw.githubusercontent.com/openshift/origin-server/openshift-origin-release-3/documentation/files/activemq.xml curl -o /etc/activemq/jetty.xml https://raw.githubusercontent.com/openshift/origin-server/openshift-origin-release-3/documentation/files/jetty.xml
Lo primero que haremos será modificar esta línea del activemq.xml
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="activemq.example.com" dataDirectory="${activemq.data}">
Cambiando el brokerName por nuestro broker.
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="broker.dmartin.es" dataDirectory="${activemq.data}">
Ahora es el turno de la seguridad. En el siguiente bloque en negrita aparece lo que he modificado.
<simpleAuthenticationPlugin> <users> <authenticationUser username="mcollective" password="marionette" groups="mcollective,everyone"/> <authenticationUser username="admin" password="admin" groups="mcollective,admin,everyone"/> </users> </simpleAuthenticationPlugin>
Configuramos el acceso del usuario administrador en el fichero /etc/activemq/jetty-realm.properties
admin: admin, admin
El interfaz web de ActiveMQ es accesible sólo por localhost pero, opcional, podemos hacerlo accesible en el interfaz de red público modificando el siguiente bloque del fichero /etc/activemq/jetty.xml
<property name="connectors"> <list> <bean id="Connector" class="org.eclipse.jetty.server.nio.SelectChannelConnector"> <property name="port" value="8161" /> <property name="host" value="127.0.0.1" /> </bean> <bean id="External-Connector" class="org.eclipse.jetty.server.nio.SelectChannelConnector"> <property name="port" value="8161" /> <property name="host" value="10.10.10.2" /> </bean> </list> </property>
ActiveMQ trabaja con el antiguo gestor de servicios SysV, así que para que pueda funcionar correctamente con systemd, hemos de crear un fichero para que ActiveMQ pueda almacenar los ficheros temporales
cat <<EOF >/etc/tmpfiles.d/activemq.conf d /var/run/activemq 0755 activemq activemq - EOF
Ahora configuramos el firewall, arrancamos el servicio y lo habilitamos
lokkit --port=61613:tcp --port=8161:tcp service activemq start chkconfig activemq on
Si existe algún error de sintaxis, podemos ver el log en /var/log/activemq/activemq.log
Y accedemos a la consola web con la IP de nuestro broker http://10.10.10.2:8161 con el usuario admin y password admin.
Instalar el cliente de MCollective
-
Sistemas afectados : broker
Instalamos el cliente de MCollective con yum gracias al paquete mcollective-client y modificamos su fichero de configuración /etc/mcollective/client.cfg para que apunte al servidor de ActiveMQ.
yum install -y mcollective-client cat <<EOF > /etc/mcollective/client.cfg topicprefix = /topic/ main_collective = mcollective collectives = mcollective libdir = /usr/libexec/mcollective logfile = /var/log/openshift/broker/mcollective-client.log loglevel = debug # 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 EOF
En el próximo post configuraremos el broker de OpenShift.
Disponible aquí.
Nos vemos
One thought on “Instalar OpenShift Origin en Fedora 19 (Mega Tutorial) – Parte 2”