LINUX

Cómo configurar Openshift Origin en CentOS 7

OpenShift Origin es el proyecto upstream de código abierto que impulsa OpenShift, la plataforma de aplicaciones de contenedores de Red Hat. Proporciona soporte para Python, PHP, Perl, Node.js, Ruby y Java y es extensible para que los usuarios puedan agregar soporte para otros lenguajes. Los recursos asignados para las aplicaciones se pueden escalar de forma automática o manual según se requiera, de modo que a medida que aumenta la demanda no hay degradación del rendimiento. OpenShift proporciona portabilidad a través de la API de DeltaCloud para que los clientes puedan migrar las implementaciones a otros entornos de proveedores de computación en la nube. OpenShift se proporciona aprovechando Docker y Kubernetes, lo que le brinda la capacidad de tener imágenes de aplicaciones personalizadas y reutilizables. OpenShift está diseñado para ser una plataforma de aplicaciones escalable y de alta disponibilidad. Cuando se configura correctamente, una gran implementación de OpenShift puede ofrecer una manera fácil de escalar su aplicación cuando aumentan las demandas, al tiempo que proporciona cero tiempo de inactividad. Con un grupo de hosts OpenShift en varias ubicaciones de centros de datos, puede sobrevivir a la caída de un centro de datos completo.

En este artículo, le mostraremos su instalación y configuración en un servidor CentOS 7 independiente con un mínimo de paquetes instalados.

Prerrequisitos

En un clúster de OpenShift Origin de alta disponibilidad con etcd externo, un host maestro debe tener 1 núcleo de CPU y se requieren 1,5 GB de memoria por cada 1000 pods. Por lo tanto, el tamaño recomendado de host maestro en un clúster OpenShift Origin de 2000 pods sería de 2 núcleos de CPU y 3 GB de RAM, además de los requisitos mínimos para un host maestro de 2 núcleos de CPU y 16 GB de RAM.

OpenShift Origin requiere un servidor DNS completamente funcional en el entorno. Idealmente, se trata de un host independiente que ejecuta software DNS y puede proporcionar resolución de nombres a hosts y contenedores que se ejecutan en la plataforma. Configuremos DNS para resolver su host y configuremos FQDN con dominio en sus VM.

Configure SELINUXTYPE = de destino en el archivo ‘/ etc / selinux / config’, si aún no lo ha hecho, porque Security-Enhanced Linux (SELinux) debe estar habilitado en todos los servidores antes de instalar OpenShift Origin, de lo contrario, la instalación fallará.

# vi /etc/selinux/config

Asegúrese de actualizar su sistema con las últimas actualizaciones y parches de seguridad usando el siguiente comando.

# yum update -y

Instalación de Docker

Tenemos tres opciones para instalar OpenShift que son curl-to-shell, un instalador portátil o instalación desde la fuente. En este artículo instalaremos OpenShift Origin desde la fuente usando Docker.

Ejecute el siguiente comando para instalar Docker junto con algunas otras dependencias necesarias para realizar esta configuración, como el editor ‘vim’ y la utilidad ‘wget’ si aún no está instalado en su sistema.

# yum install docker wget vim -y

Una vez que se completa la instalación, debemos configurarla para que confíe en el registro que usaremos para las imágenes de OpenShift abriendo el archivo ‘/ etc / sysconfig / docker’ en su editor de línea de comandos.

# vim /etc/sysconfig/docker
# INSECURE_REGISTRY='--insecure-registry'
NSECURE_REGISTRY='--insecure-registry 192.168.0.0/16'

Guarde y cierre el archivo de configuración y reinicie el servicio de la ventana acoplable utilizando el siguiente comando.

# systemctl restart docker.service

Instalar y configurar Openshift

Una vez que tengamos un servicio de Docker en funcionamiento, ahora vamos a configurar OpenShift para que se ejecute como un proceso independiente administrado por systemd. Ejecutemos el siguiente comando para descargar los binarios de OpenShift desde GitHub en el directorio ‘/ tmp’.

# cd /tmp
# wget https://github.com/openshift/origin/releases/download/v1.4.1/openshift-origin-server-v1.4.1-3f9807a-linux-64bit.tar.gz

Luego extraiga el paquete y cambie el directorio a la carpeta extraída para mover todos los archivos binarios al directorio ‘/ usr / local / sbin’.

# tar -zxf openshift-origin-server-*.tar.gz
# cd openshift-origin-server-v1.4.1+3f9807a-linux-64bit/
# mv k* o* /usr/local/sbin/

A continuación, crearemos un script de inicio y un archivo de unidad systemd colocando nuestras direcciones IP públicas y privadas.

# vim /usr/local/bin/start_openshift.sh
#!/bin/bash
cd /opt/openshift/
openshift start --public-master="https://:8443" --master="https://:8443"

Guarde y cierre el archivo y luego coloque el siguiente contenido en el archivo recién creado en systemd.

# vim /etc/systemd/system/openshift.service
[Unit]
Description=OpenShift Origin Server

[Service]
Type=simple
ExecStart=/usr/local/bin/start_openshift.sh

Eso es todo, ahora guarde el archivo y cambie los permisos de este archivo para hacerlo ejecutable y luego cargue el nuevo archivo de unidad para que pueda ser funcional.

# chmod u+x /usr/local/bin/start_openshift.sh
# mkdir /opt/openshift/
# systemctl daemon-reload

Después de volver a cargar el demonio, inicie el servicio Openshift usando el comando a continuación y confirme si su estado está activo.

# systemctl start openshift
# systemctl status openshift

Ahora que el servicio Openshift está en funcionamiento, para administrar la instalación de OpenShift de forma remota y acceder a sus aplicaciones, los puertos TCP 80, 443 y 8443 deben abrirse en su firewall.

# firewall-cmd --zone=public --add-port=80/tcp
# firewall-cmd --zone=public --add-port=443/tcp
# firewall-cmd --zone=public --add-port=8443/tcp

Agregar enrutador y registro Openshift

Ahora necesitamos instalar un enrutador OpenShift, para que pueda servir aplicaciones a través de la dirección IP pública. OpenShift utiliza un registro de Docker para almacenar imágenes de Docker para una gestión más sencilla del ciclo de vida de su aplicación y el enrutador enruta las solicitudes a aplicaciones específicas en función de sus nombres de dominio. Entonces, primero debemos decirle a las herramientas CLI dónde están nuestra configuración y el certificado de CA, para autenticar nuestro nuevo clúster de OpenShift.

Agreguemos las siguientes líneas a ‘/root/.bashrc’ para que se carguen cuando cambiemos al usuario root.

# export KUBECONFIG=/opt/openshift/openshift.local.config/master/admin.kubeconfig
# export CURL_CA_BUNDLE=/opt/openshift/openshift.local.config/master/ca.crt

Vuelva a cargar ‘.bashrc’ para actualizar la configuración.

# source /root/.bashrc

Luego, use el siguiente comando para iniciar sesión en el clúster.

# oc login -u system:admin
Logged into "https://YOUR_SERVER_IP:8443" as "system:admin" using existing credentials.

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

* default
kube-system
openshift
openshift-infra

Using project "default".

Hemos agregado con éxito un enrutador y ahora para agregar un registro, use los comandos que se muestran a continuación.

# oadm policy add-scc-to-user hostnetwork -z router
# oadm router
info: password for stats user admin has been set to s0iOOpIcnW
--> Creating router router ...
serviceaccount "router" created
clusterrolebinding "router-router-role" created
deploymentconfig "router" created
service "router" created
--> Success
# oadm registry
--> Creating registry registry ...
serviceaccount "registry" created
clusterrolebinding "registry-registry-role" created
deploymentconfig "docker-registry" created
service "docker-registry" created
--> Success

Acceso a OpenShift Origin

La instalación de OpenShift ahora está completa. Puede probar su implementación de OpenShift visitando la siguiente URL en un navegador web.

https://your_servers_ip:8443

Se le solicitará una pantalla de inicio de sesión de OpenShift. De forma predeterminada, OpenShift le permite iniciar sesión con cualquier combinación de nombre de usuario y contraseña y crea automáticamente una cuenta para usted. Luego tendrá acceso para crear proyectos y aplicaciones. Vamos a crear una cuenta con el nombre de usuario ‘ks’ como se muestra.

Inicio de sesión de OpenShift

Creación de un nuevo proyecto en Openshift

Después de iniciar sesión correctamente, se le pedirá que cree un nuevo proyecto. Los proyectos contienen una o más aplicaciones relacionadas. Creemos un proyecto de prueba para que podamos implementar nuestra primera aplicación.

Nuevo proyecto

A continuación, asigne un nombre al nuevo proyecto con su nombre para mostrar y una breve descripción.

Nuevo sistema operativo del proyecto

Después de crear nuestro nuevo proyecto, la siguiente pantalla que verá es la pantalla «Agregar al proyecto», donde podemos agregar las imágenes de nuestra aplicación a OpenShift para que estén listas para la implementación. En este caso, vamos a implementar una imagen existente haciendo clic en la pestaña «Implementar imagen». Dado que OpenShift usa Docker, esto nos permitirá extraer una imagen directamente de Docker Hub o cualquier otro registro.

Para probar, usaremos la imagen ‘openshift / hello-openshift’ ingresándola en el campo «Nombre de la imagen» como se muestra en la imagen a continuación.

imagen delpoy

Haga clic en el icono de búsqueda, a la derecha del nombre de la imagen y luego haga clic en el botón ‘Crear’ en la parte inferior con las opciones predeterminadas con imagen básica sin ninguna configuración adicional requerida.

imagen de openshift

Haga clic en la descripción general del proyecto para verificar el estado de su solicitud.

Descripción del proyecto

Crear nueva ruta

Ahora vamos a crear una nueva ruta para hacer accesibles nuestras aplicaciones a través del enrutador OpenShift que habíamos creado anteriormente. Para hacerlo, haga clic en el menú «Aplicaciones» a la izquierda y luego vaya a Rutas.

Rutas de openshift

El enrutamiento es una forma de hacer que su aplicación sea públicamente visible. Una vez que haga clic en el botón ‘Crear ruta’, debe ingresar la siguiente información, que contiene un nombre único para el proyecto, el nombre de host y la ruta que el enrutador observa para enrutar el tráfico al servicio.

crear ruta

Después de eso, OpenShift generará un nombre de host que se utilizará para acceder a su aplicación. Debe crear un registro comodín A en su DNS para permitir el enrutamiento automático de todas las aplicaciones a su clúster de OpenShift mientras lo configura en producción.

*.openshift.yourdomain.com A

Agregue el nombre de host generado a su archivo de hosts local para probarlo en Linux ‘/ etc / hosts’, en Windows ‘C: WINDOWS system32 drivers etc hosts’.

Adición de una nueva aplicación a Openshift Origin

OpenShift Origin proporciona herramientas para ejecutar compilaciones, así como para compilar código fuente desde imágenes de constructor predefinidas a través de la cadena de herramientas Source-to-Image. Para crear una nueva aplicación que combine una imagen de compilador para Node.js con código fuente de ejemplo para crear una nueva imagen implementable de Node.js, ejecute el siguiente comando después de conectarse con el usuario administrativo y cambie al proyecto predeterminado.

# oc new-app openshift/nodejs-010-centos7~https://github.com/openshift/nodejs-ex.git
--> Found Docker image b3b1ce7 (3 months old) from Docker Hub for "openshift/nodejs-010-centos7"

Node.js 0.10
------------
Platform for building and running Node.js 0.10 applications

Tags: builder, nodejs, nodejs010

* An image stream will be created as "nodejs-010-centos7:latest" that will track the source image
* A source build using source code from https://github.com/openshift/nodejs-ex.git will be created
* The resulting image will be pushed to image stream "nodejs-ex:latest"
* Every time "nodejs-010-centos7:latest" changes a new build will be triggered
* This image will be deployed in deployment config "nodejs-ex"
* Port 8080/tcp will be load balanced by service "nodejs-ex"
* Other containers can access this service through the hostname "nodejs-ex"

--> Creating resources ...
imagestream "nodejs-010-centos7" created
imagestream "nodejs-ex" created
buildconfig "nodejs-ex" created
deploymentconfig "nodejs-ex" created
service "nodejs-ex" created
--> Success
Build scheduled, use 'oc logs -f bc/nodejs-ex' to track its progress.
Run 'oc status' to view your app.

Una compilación se activará automáticamente utilizando la imagen proporcionada y la última confirmación de la rama maestra del repositorio de Git proporcionado. Para obtener el estado de una compilación, ejecute el siguiente comando.

# oc status

Puede ver más sobre los comandos disponibles en la CLI.

#oc help

nueva aplicación openshift

Ahora, debería poder ver su aplicación de prueba abriendo el enlace generado por Openshift en su navegador web. También puede ver el estado de sus aplicaciones recién implementadas desde la consola web de Openshift.

vista de aplicaciones openshift

Haga clic en cualquiera de las aplicaciones instaladas para verificar más detalles sobre IP, rutas y puertos de servicio.

detalles de la aplicación openshif

Conclusión

En este artículo, hemos instalado y configurado con éxito un entorno Openshift Origin de un solo servidor en CentOS 7.2. OpenShift agrega herramientas centradas en las operaciones y el desarrollador además de Kubernetes para permitir el desarrollo rápido de aplicaciones, la implementación y el escalado fáciles, y el mantenimiento del ciclo de vida a largo plazo para equipos pequeños y grandes. Es una administración y gestión centralizadas de toda una pila, equipo u organización. Cree plantillas reutilizables para los componentes de su sistema e impleméntelas de forma interactiva a lo largo del tiempo. Implemente modificaciones a las pilas de software en toda su organización de forma controlada. Integración con sus mecanismos de autenticación existentes, incluidos LDAP, Active Directory y proveedores públicos de OAuth como GitHub.

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba
Cerrar