Cómo instalar y configurar OpenShift Origin PaaS Server 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 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:
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:
Ahora, haga clic en el Mi proyecto en el lado derecho. Deberías ver la siguiente página:
Ahora, haga clic en la prueba – Dev. Debería ver su aplicación Ruby implementada en la siguiente página:
¡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.