jueves, 18 de junio de 2020

Instalar Openshift Origin en Ubuntu

¿Que es Openshift?

A grandes rasgos podría decirse que es el Kubernetes de Red Hat, aunque en realidad Kubernetes es parte de Openshift, y Red Hat lo que hace es introducirle mejoras y comercializarlo. Con lo cual quizás podríamos decir que es un "Kubernetes con esteroides", y pago (la versión comercial).

¿Que es Kubernetes? Lo explico acá.

Ahora, ¿que es Openshift Origin?
RedHat suele tener dos versiones de sus productos, la versión de la comunidad, que es gratuita y sin soporte, salvo el soporte que uno puede conseguir en la comunidad obviamente, y la versión de pago.
Openshift Origin es la versión gratuita de código abierto de Openshift.
También existe Minishift, que seria el equivalente a Minikube de Kubernetes (son versiones para ser instaladas en una única máquina para probar el producto de forma fácil).

Dicho esto, pasemos a lo importante.
Para instalar Openshift Origin primero tenemos que tener funcionando Docker en nuestra maquina.

Instalar Docker:

Importamos la clave GPG de Docker:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

Agregamos el repo:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian buster stable"

Actualizamos el sistema e instalamos:

sudo apt-get update

sudo apt-get install -y docker-ce docker-ce-cli

Agregamos nuestro usuario al grupo de Docker:

sudo usermod -aG docker ardillasenlared

Instalar Openshift Origin:

Descargamos el archivo con el software:

wget https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz

Lo descomprimimos:

tar xvzf openshift*.tar.gz

Ingresamos a la carpeta de Openshift recién creada:

cd openshift-origin-client-tools*/

Movemos los binarios oc y kubectl a /usr/local/bin:

sudo mv  oc kubectl  /usr/local/bin/

Verificamos la versión:

oc version

Habilitamos que pueda usar registries inseguros:

cat << EOF | sudo tee /etc/docker/daemon.json
{
    "insecure-registries" : [ "172.30.0.0/16" ]
}
EOF

Reiniciamos el servicio de Docker:

sudo service docker restart

Iniciamos el cluster en el servidor:

oc cluster up

Bajamos el cluster:

oc cluster down

Configuramos para que Openshift no redirija constantemente a 127.0.0.1.
Para ello, abrimos el archivo de configuración con el comando:

sudo nano ./openshift.local.clusterup/openshift-controller-manager/openshift-master.kubeconfig

Y cambiamos:

server: https://127.0.0.1:8443

Por:

server: https://SERVER_IP:8443

Guardamos y levantamos nuevamente el cluster pero esta vez especificando la IP:

oc cluster up --public-hostname=SERVER_IP




Para loguearnos como administrador ejecutamos:

oc login -u system:admin


Para cambiar de proyecto, por ejemplo al default, ejecutamos:

oc project default

Para crear un nuevo proyecto lo hacemos así:

oc new-project dev --display-name="Primer Proyecto" --description="Mi primer proyecto"

Ahora vamos a ingresar desde el navegador a través de nuestra IP o 127.0.0.1 y el puerto 8443:


Procedemos a hacer un despliegue de una aplicación a partir de una imagen, todo desde la consola.
Para ello elegimos "Create Project" y completamos el nombre del proyecto, el nombre que se va a mostrar y luego hacemos click en "Create":


Hacemos click en el proyecto y luego en "Deploy image":


Elegimos Image name y en el nombre de la imagen escribimos: openshiftkatacoda/blog-django-py y a la derecha hacemos click en la lupa para buscar la imagen en cuestión.
Una vez que la encuentra se nos va a habilitar el boton de Deploy:


Presionamos Deploy y luego Close y vamos a ver como nos crea un POD con la imagen desplegada:


Por defecto, el despliegue solo sera visible dentro del cluster, para hacerlo visible fuera del cluster vamos a crear una ruta con la opción Applications -> Routes -> Create Route. Dejamos las opciones por defecto y ponemos Create:


No importa qué puerto escuche internamente la aplicación en el clúster OpenShift (el puerto 8080 en este caso), la ruta externa usará el puerto 80 para la conexión HTTP estándar y el puerto estándar 443 para una conexión HTTP segura (HTTPS).
Vemos que ya nos aparece una URL asociada, si hacemos click nos va a abrir la aplicación:



Si quisieramos cambiar a HTTPS vamos a Applications -> Routes, luego hacemos click en la única ruta que tenemos creada, luego a la derecha vamos a Actions -> Edit



Tildamos Secure route y salvamos:


Vamos a ver que nos cambio la URL, ahora tiene HTTPS, vamos a probar entrar (como no le cargamos ningún certificado nos va a dar error pero lo ignoramos para abrir la URL):


Vemos que, con error de certificado, nos abre HTTPS:


Bueno, eso fue todo, ya instalamos Openshift Origin en Ubuntu y creamos nuestro primer deploy.
Espero que les haya servido!

Saludos!

No hay comentarios:

Publicar un comentario