Llevo una tarde entera pegándome con la documentación de OpenShift para instalarlo en un servidor CentOS 7.3 que he levantado en una máquina de Azure. Mi objetivo sencillamente vocacional, tengo la intención de manejar con soltura el proceso de instalación para posteriormente cacharrear con OpenShift.

Requisitos

Para poder instalar OpenShift necesitamos cumplir con los siguiente requisitos:

  • Un sistema operativo de la familia RHEL (Fedora, CentOS ó RHEL)
    • He visto que resulta posible en otras distribuciones de Linux ejecutar OpenShift. Pero las dependencias a instalar pueden suponer un problema en distribuciones que no usen “yum”.
  • Instalar todas las dependencias necesarias.
  • Configurar SELinux
  • Configurar Docker.

Instalando dependencias

Partiendo de que estamos usando una distribución actualizada de la familia RHEL procedemos a:

//Con ROOT
//Actualizar el software instalado
yum update -y

//Instalar el siguiente conjunto de dependencias
yum install -y wget git net-tools bind-utils iptables-services bridge-utils bash-completion
yum install -y gcc python-virtualenv
yum install -y docker

Configurar los servicios

Es necesario configurar SELinux y Docker:

  • En el caso de SELinux tenemos que revisar que el fichero /etc/selinux/config tenga la siguiente configuración:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
  • Para Docker necesitamos dar de alta el registro de OpenShift que se instalará a nivel local.  Para ello editamos el fichero  y añadimos --insecure-registry 172.30.0.0/16

Tras llegar a este punto podemos ejecutar el servicio de docker con sudo systemctl start docker

Instalar OpenShift

Para instalar OpenShift lo podemos hacer de dos formas. Usando el contenedor oficial publicado por OpenShift o bien utilizar los binarios publicados en GitHub. (Elegir solo una)

Usando el contenedor

Es la forma más sencilla de instalar OpenShift, a partir de el contenedor oficial:

$ sudo docker run -d --name "origin" \
        --privileged --pid=host --net=host \
        --public-master=https://master.westeurope.cloudapp.azure.com:8443
        -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys -v /sys/fs/cgroup:/sys/fs/cgroup:rw \
        -v /var/lib/docker:/var/lib/docker:rw \
        -v /var/lib/origin/openshift.local.volumes:/var/lib/origin/openshift.local.volumes:rslave \   
        openshift/origin start  // --public-master=URL

Usando los binarios

Para instalar OpenShift a partir de los binarios debemos acceder al repositorio de GitHub de OpenShit. Una vez dentro obtenemos la release de master mas reciente para servidores:

https://github.com/openshift/origin/releases/tag/v3.6.0 

En este caso: https://github.com/openshift/origin/releases/download/v3.6.0/openshift-origin-server-v3.6.0-c4dd4cf-linux-64bit.tar.gz

wget https://github.com/openshift/origin/releases/download/v3.6.0/openshift-origin-server-v3.6.0-c4dd4cf-linux-64bit.tar.gz
tar xvf openshift-origin-server-v3.6.0-c4dd4cf-linux-64bit.tar.gz
mv openshift-origin-server-v3.6.0-c4dd4cf-linux-64bit openshift
cd openshift
sudo ./openshift start // --public-master=URL
// como root -> nohup ./openshift start &

 

Troubleshooting

En mi caso, estuve durante varias horas rompiéndome la cabeza ya que no conseguía nunca levantar el servicio. Tras revisar los logs descubrí que el puerto 53 estaba previamente ocupado. Si revisando los logs resulta que alguno de los puertos está ocupado, recomiendo revisar esta página.

Categorías: DevOpsLinux

Entradas relacionadas

Linux

Crear una VPN con nuestra Raspberry Pi

Para mi disponer de mi propia VPN es una gran ventaja, ya que me permite varias cosas: Acceder desde fuera de casa a la red local de mi casa: Pudiendo controlar cualquier equipo de forma Leer más…

Linux

Una historia sin root: como instalar software sin root

Recientemente me he visto obligado a compilar GCC ya que no contaba con root en la máquina final en la cual tenía que instalar varios programas. Para instalar todos y cada uno de estos programas Leer más…

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies