Cómo instalar y configurar el servidor PaaS de OpenShift Origin en Ubuntu 18.04

OpenShift es una plataforma como servicio gratuita y de código abierto desarrollada por Red Hat. OpenShift se utiliza para desarrollar, alojar y escalar aplicaciones en el entorno de la nube. OpenShift es compatible con muchos lenguajes, como Java EE6, Ruby, PHP, Python, Perl, MongoDB, MySQL y PostgreSQL. OpenShift es una plataforma de aplicaciones Kubernetes líder en la nube y para empresas en la que confían más de 1000 compañías. Openshift te permite crear, modificar y desplegar aplicaciones según tus necesidades.

En este tutorial, aprenderemos a instalar OpenShift Origin de un solo nodo en un servidor Ubuntu 18.04 LTS.

Requisitos

  • Un servidor que ejecute Ubuntu 18.04 con un mínimo de 2 GB de RAM.
  • Una contraseña de root configurada en el servidor.

Cómo empezar

Antes de empezar, actualiza tu sistema con la última versión estable. Puedes hacerlo con el siguiente comando:

apt-get update -y
apt-get upgrade -y

Una vez actualizado, reinicia tu servidor para aplicar todos los cambios de configuración.

Instala Docker CE

OpenShift se ejecuta en un contenedor Docker. Por tanto, tendrás que instalar Docker CE en tu servidor. Por defecto, la última versión de Docker CE no está disponible en el repositorio por defecto de Ubuntu 18.04. Así que tendrás que añadir el repositorio de Docker CE a tu sistema.

Para instalar Docker CE, descarga y añade la clave GPG de Docker con el siguiente comando:

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

Una vez añadida, añade el repositorio de Docker CE con el siguiente comando:

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

A continuación, actualiza e instala Docker CE con el siguiente comando:

apt-get update -y
apt-get install docker-ce -y

Una vez instalado, comprueba el estado de Docker CE con el siguiente comando:

systemctl status docker

Deberías ver la siguiente salida:

? docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-08-07 08:06:57 UTC; 33s ago
     Docs: https://docs.docker.com
 Main PID: 19052 (dockerd)
    Tasks: 8
   CGroup: /system.slice/docker.service
           ??19052 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372084572Z" level=warning msg="Your kernel does not support swap memory limit"
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372483783Z" level=warning msg="Your kernel does not support cgroup rt period"
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.372711298Z" level=warning msg="Your kernel does not support cgroup rt runtime"
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.373275104Z" level=info msg="Loading containers: start."
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.612047102Z" level=info msg="Default bridge (docker0) is assigned with an IP ad
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.712918131Z" level=info msg="Loading containers: done."
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.938574106Z" level=info msg="Docker daemon" commit=74b1e89 graphdriver(s)=overl
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.939341612Z" level=info msg="Daemon has completed initialization"
Aug 07 08:06:57 hitesh systemd[1]: Started Docker Application Container Engine.
Aug 07 08:06:57 hitesh dockerd[19052]: time="2019-08-07T08:06:57.989385865Z" level=info msg="API listen on /var/run/docker.sock"

Una vez hecho esto, puedes pasar al siguiente paso.

Instalar OpenShift

En primer lugar, tendrás que descargar la última versión estable de OpenShift desde el repositorio Git. Puedes descargar la última versión de OpenShift del repositorio Git con el siguiente comando:

cd /opt
wget https://github.com/openshift/origin/releases/download/v3.9.0/openshift-origin-client-tools-v3.9.0-191fece-linux-64bit.tar.gz

Una vez descargada, extrae el archivo descargado con el siguiente comando:

tar -zvxf openshift-origin-client-tools-v3.9.0-191fece-linux-64bit.tar.gz

A continuación, cambia el directorio a extraído y copia el binario oc al directorio /usr/local/bin con el siguiente comando:

cd openshift-origin-client-tools-v3.9.0-191fece-linux-64bit
cp oc /usr/local/bin/

Ahora puedes verificar la versión de oc con el siguiente comando:

oc version

Deberías ver la siguiente salida:

oc v3.9.0+191fece
kubernetes v1.9.1+a0ce1bc657
features: Basic-Auth GSSAPI Kerberos SPNEGO

A continuación, tendrás que añadir el registro inseguro al demonio Docker. Puedes hacerlo con el siguiente comando:

nano /etc/docker/daemon.json

Añade las siguientes líneas:

{
    "insecure-registries" : [ "172.30.0.0/16" ]
}

Guarda y cierra el archivo, cuando hayas terminado. A continuación, reinicia el servicio Docker para aplicar los cambios de configuración:

systemctl restart docker

Una vez hecho esto, puedes pasar al siguiente paso.

Iniciar el clúster de OpenShift

Ahora, inicia el clúster de OpenShift especificando tu dirección IP o nombre de host como se muestra a continuación:

oc cluster up --public-hostname=38.143.69.14

Una vez que el servidor se haya iniciado con éxito, deberías ver la siguiente salida:

WARNING: Binding DNS on port 8053 instead of 53, which may not be resolvable from all clients.
Using Docker shared volumes for OpenShift volumes
Using public hostname IP 38.143.69.14 as the host IP
Using 38.143.69.14 as the server IP
Starting OpenShift using openshift/origin:v3.9.0 ...
OpenShift server started.

The server is accessible via web console at:
    https://38.143.69.14:8443

You are logged in as:
    User:     developer
    Password: 

To login as administrator:
    oc login -u system:admin

Nota: Sustituye la dirección IP de tu servidor por 38.143.69.14.

Ahora, inicia sesión en tu clúster con el siguiente comando:

oc login -u system:admin

Deberías ver la siguiente salida:

Logged into "https://38.143.69.14:8443" as "system:admin" using existing credentials.

You have access to the following projects and can switch between them with 'oc project ':

    default
    kube-public
    kube-system
  * myproject
    openshift
    openshift-infra
    openshift-node
    openshift-web-console
Using project "myproject".

Ahora, puedes cambiar el proyecto por defecto con el siguiente comando:

oc project default

Deberías ver la siguiente salida:

Now using project "default" on server "https://38.143.69.14:8443".

Ahora puedes comprobar el estado del proyecto con el siguiente comando

oc status

Deberías ver la siguiente salida:

In project default on server https://38.143.69.14:8443

svc/docker-registry - 172.30.1.1:5000
  dc/docker-registry deploys docker.io/openshift/origin-docker-registry:v3.9.0 
    deployment #1 deployed 3 minutes ago - 1 pod

svc/kubernetes - 172.30.0.1 ports 443->8443, 53->8053, 53->8053

svc/router - 172.30.106.228 ports 80, 443, 1936
  dc/router deploys docker.io/openshift/origin-haproxy-router:v3.9.0 
    deployment #1 deployed 3 minutes ago - 1 pod

View details with 'oc describe /' or list everything with 'oc get all'.

Crear un proyecto de prueba en OpenShift

Ahora OpenShift está instalado y funcionando. A continuación, inicia sesión en OpenShift con el usuario desarrollador:

oc login

Proporciona el nombre de usuario y la contraseña como desarrollador / developer y pulsa enter. Deberías ver la siguiente salida:

Authentication required for https://38.143.69.14:8443 (openshift)
Username: developer
Password: 
Login successful.

You have one project on this server: "myproject"

Using project "myproject".

Ahora, crea un nuevo proyecto de prueba con el siguiente comando:

oc new-project dev --display-name="test - Dev" --description="Test Project"

Deberías ver la siguiente salida:

Now using project "dev" on server "https://38.143.69.14:8443".

You can add applications to this project with the 'new-app' command. For example, try:

    oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git

to build a new example application in Ruby.

A continuación, construye una nueva aplicación Ruby en este proyecto con el siguiente comando:

oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git

Ahora, comprueba el estado del proyecto actual con el siguiente comando:

oc status

Deberías ver la siguiente salida:

In project test - Dev (dev) on server https://38.143.69.14:8443

svc/ruby-ex - 172.30.16.207:8080
  dc/ruby-ex deploys istag/ruby-ex:latest <- bc="" ruby-ex="" source="" builds="" https:="" github="" com="" openshift="" git="" on="" istag="" ruby-22-centos7:latest="" build="" 1="" running="" for="" 54="" seconds="" -="" c00ecd7:="" merge="" pull="" request="" 25="" from="" pvalena="" master="" honza="" horak="" hhorak="" redhat="">)
    deployment #1 waiting on image or update

Una vez hecho esto, puedes pasar al siguiente paso.

Accede a la Consola Web de OpenShift

Ahora, abre tu navegador web y escribe la URL https://your-server-ip:8443. Serás redirigido a la siguiente página:

Acceso a OPENSHIFT

Proporciona tu nombre de usuario y contraseña de desarrollador. A continuación, haz clic en el botón Iniciar sesión. Deberías ver el panel de control por defecto de OpenShift en la siguiente página:

Panel de control de OPENSHIFT

Ahora, haz clic en Mi Proyecto en el lado derecho. Deberías ver la siguiente página:

Añadir un proyecto en OPENSHIFT

Ahora, haz clic en la prueba – Dev. Deberías ver tu aplicación Ruby desplegada en la siguiente página:

Prueba de la aplicación OPENSHIFT

Enhorabuena! has instalado y configurado correctamente OpenShift en el servidor Ubuntu 18.04. Puedes crear un nuevo proyecto y desplegar tu propia aplicación con OpenShift. No dudes en preguntarme si tienes alguna duda. Este artículo no está recomendado para su uso en producción. Para más información puedes consultar la documentación oficial de OpenShift.

También te podría gustar...