Cómo instalar y configurar OpenShift Origin PaaS Server en Ubuntu 18.04

Iniciar sesión

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 brinda soporte para muchos lenguajes como Java EE6, Ruby, PHP, Python, Perl, MongoDB, MySQL y PostgreSQL. OpenShift es una plataforma l√≠der de aplicaciones Kubernetes empresariales y en la nube en la que conf√≠an m√°s de 1000 empresas. Openshift le permite crear, modificar e implementar aplicaciones seg√ļn sus requisitos.

En este tutorial, aprenderemos a instalar OpenShift Origin de nodo √ļnico en el servidor Ubuntu 18.04 LTS.

Requisitos

  • Un servidor con Ubuntu 18.04 con un m√≠nimo de 2 GB de RAM.
  • Una contrase√Īa de root est√° configurada en el servidor.

Empezando

Antes de comenzar, actualice su sistema con la √ļltima versi√≥n estable. Puedes hacerlo con el siguiente comando:

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

Una vez actualizado, reinicie su servidor para aplicar todos los cambios de configuración.

Instalar Docker CE

OpenShift se ejecuta en el contenedor Docker. Por lo tanto, deber√° instalar Docker CE en su servidor. Por defecto, la √ļltima versi√≥n de Docker CE no est√° disponible en el repositorio predeterminado de Ubuntu 18.04. Por lo tanto, deber√° agregar el repositorio Docker CE a su sistema.

Para instalar Docker CE, descargue y agregue la clave Docker GPG con el siguiente comando:

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

Una vez agregado, agregue el repositorio 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, actualice e instale Docker CE con el siguiente comando:

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

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

systemctl status docker

Debería ver el siguiente resultado:

? 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 que lo haya hecho, puede continuar con el siguiente paso.

Instalar OpenShift

Primero, deber√° descargar la √ļltima versi√≥n estable de OpenShift del repositorio de Git. Puede descargar la √ļltima versi√≥n de OpenShift desde el repositorio de 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 descargado, extraiga el archivo descargado con el siguiente comando:

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

A continuación, cambie el directorio al directorio extraído y copie oc binary 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 puede verificar la versión de oc con el siguiente comando:

oc version

Debería ver el siguiente resultado:

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

A continuación, deberá agregar el registro inseguro al demonio docker. Puedes hacerlo con el siguiente comando:

nano /etc/docker/daemon.json

Agregue las siguientes líneas:

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

Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio Docker para aplicar los cambios de configuración:

systemctl restart docker

Una vez que lo haya hecho, puede continuar con el siguiente paso.

Inicie el cl√ļster de OpenShift

Ahora, inicie el cl√ļster de OpenShift especificando su 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 inició correctamente, debería ver el siguiente resultado:

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: Reemplace la dirección IP de su servidor con 38.143.69.14.

Ahora, inicie sesi√≥n en su cl√ļster con el siguiente comando:

oc login -u system:admin

Debería ver el siguiente resultado:

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, puede cambiar el proyecto a predeterminado con el siguiente comando:

oc project default

Debería ver el siguiente resultado:

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

Ahora puede verificar el estado del proyecto con el siguiente comando:

oc status

Debería ver el siguiente resultado:

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

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

oc login

Proporcione el nombre de usuario y la contrase√Īa como desarrollador / desarrollador y presione enter. Deber√≠a ver el siguiente resultado:

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, cree un nuevo proyecto de prueba con el siguiente comando:

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

Debería ver el siguiente resultado:

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, cree una nueva aplicación de Ruby en este proyecto con el siguiente comando:

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

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

oc status

Debería ver el siguiente resultado:

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 que lo haya hecho, puede continuar con el siguiente paso.

Acceda a la consola web de OpenShift

Ahora, abra su navegador web y escriba la URL https://your-server-ip:8443. Ser√° redirigido a la siguiente p√°gina:

Iniciar sesión

Proporcione su nombre de usuario y contrase√Īa de desarrollador. Luego, haga clic en el Iniciar sesi√≥n bot√≥n. Deber√≠a ver el panel predeterminado de OpenShift en la siguiente p√°gina:

Panel de control de OPENSHIFT

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

A√Īadir un proyecto en OPENSHIFT

Ahora, haga clic en la prueba РDev. Debería ver su aplicación Ruby implementada en la siguiente página:

Probar la aplicación OPENSHIFT

¡Felicidades! Ha instalado y configurado con éxito OpenShift en el servidor Ubuntu 18.04. Puede crear un nuevo proyecto e implementar su propia aplicación usando OpenShift. No dude en preguntarme si tiene alguna pregunta. Este artículo no se recomienda para uso en producción. Para obtener más información, puede consultar la documentación oficial en OpenShift.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *