GNU/Linux >> Tutoriales Linux >  >> Linux

Primeros pasos con OKD en su escritorio Linux

OKD es la edición comunitaria upstream de código abierto de la plataforma de contenedores OpenShift de Red Hat. OKD es una plataforma de gestión y orquestación de contenedores basada en Docker y Kubernetes.

OKD es una solución completa para administrar, implementar y operar aplicaciones en contenedores que (además de las funciones proporcionadas por Kubernetes) incluye una interfaz web fácil de usar, herramientas de creación automatizadas, capacidades de enrutamiento y funciones de agregación de registro y monitoreo.

OKD ofrece varias opciones de implementación destinadas a diferentes requisitos con nodos maestros únicos o múltiples, capacidades de alta disponibilidad, registro, monitoreo y más. Puede crear clústeres de OKD tan pequeños o tan grandes como necesite.

Contenedores Linux

  • ¿Qué son los contenedores de Linux?
  • Una introducción a la terminología de contenedores
  • Descargar:Introducción a los contenedores
  • Operadores de Kubernetes:automatización de la plataforma de orquestación de contenedores
  • eBook:Patrones de Kubernetes para diseñar aplicaciones nativas de la nube
  • ¿Qué es Kubernetes?

Además de estas opciones de implementación, OKD proporciona una manera de crear un clúster local todo en uno en su propia máquina usando el oc herramienta de línea de comandos. Esta es una excelente opción si desea probar OKD localmente sin comprometer los recursos para crear un clúster de varios nodos más grande, o si desea tener un clúster local en su máquina como parte de su flujo de trabajo o proceso de desarrollo. En este caso, puede crear e implementar las aplicaciones localmente utilizando las mismas API e interfaces necesarias para implementar la aplicación a mayor escala. Este proceso garantiza una integración perfecta que evita problemas con las aplicaciones que funcionan en el entorno del desarrollador pero no en producción.

Este tutorial le mostrará cómo crear un clúster OKD usando oc cluster up en una caja de Linux.

1. Instalar ventana acoplable

El grupo oc hacia arriba El comando crea un clúster OKD local en su máquina usando contenedores Docker. Para usar este comando, necesita Docker instalado en su máquina. Para la versión 3.9 y posteriores de OKD, Docker 1.13 es la versión mínima recomendada. Si Docker no está instalado en su sistema, instálelo usando su administrador de paquetes de distribución. Por ejemplo, en CentOS o RHEL, instale Docker con este comando:

$ sudo yum install -y docker  

En Fedora, use dnf:

$ sudo dnf install -y docker  

Esto instala Docker y todas las dependencias requeridas.

2. Configurar el registro inseguro de Docker

Una vez que haya instalado Docker, debe configurarlo para permitir la comunicación con un registro inseguro en la dirección 172.30.0.0/16. Este registro inseguro se implementará con su clúster OKD local más adelante.

En CentOS o RHEL, edite el archivo /etc/docker/daemon.json agregando estas líneas:

{
        "registros inseguros":["172.30.0.0/16"]
}

En Fedora, edite el archivo /etc/containers/registries.conf agregando estas líneas:

[registros.insecure]
registros =['172.30.0.0/16']

3. Iniciar ventana acoplable

Antes de iniciar Docker, cree un grupo de sistema llamado docker y asigne este grupo a su usuario para que pueda ejecutar los comandos de Docker con su propio usuario, sin necesidad de acceso root o sudo. Esto le permite crear su clúster OKD utilizando su propio usuario.

Por ejemplo, estos son los comandos para crear el grupo y asignarlo a mi usuario local, ricardo :

$ sudo groupadd docker
$ sudo usermod -a -G docker ricardo

Debe cerrar sesión y volver a iniciar sesión para ver la nueva asociación de grupo. Después de volver a iniciar sesión, ejecute el id Comando y asegúrese de ser miembro de docker grupo:

$ id
uid=1000(ricardo) gid=1000(ricardo) groups=1000(ricardo),10(rueda),1001(docker)
context=unconfined_u:unconfined_r:unconfined_t:s0 -s0:c0.c1023

Ahora, inicie y habilite el demonio Docker de esta manera:

$ sudo systemctl start docker
$ sudo systemctl enable docker
Creado enlace simbólico desde /etc/systemd/system/multi-user.target.wants/docker.service a /usr/lib/systemd/ sistema/docker.servicio.

Verifique que Docker se esté ejecutando:

$ versión docker
Cliente:
 Versión:        1.13.1
 Versión API:    1.26
 Versión del paquete:docker-1.13.1-75.git8633870.el7.centos. x86_64
 Versión de Go:     go1.9.4
 Confirmación de Git:     8633870/1.13.1
 Construido:          Vie 28 de septiembre 19:45:08 2018
 OS/Arch:        linux/amd64

Servidor:
 Versión:        1.13.1
 Versión de la API:    1.26 (versión mínima 1.12)
 Versión del paquete:docker-1.13.1-75.git8633870.el7. centos.x86_64
 Versión de Go:     go1.9.4
 Confirmación de Git:     8633870/1.13.1
 Construido:          Vie 28 de septiembre 19:45:08 2018
 OS/Arch:        linux/ amd64
 Experimental:   falso

Asegúrese de que la opción de registro inseguro se haya habilitado ejecutando docker info y buscando estas líneas:

$ docker info
... Omitiendo salida larga...
Registros inseguros:
 172.30.0.0/16
 127.0.0.0/8

4. Abrir puertos de cortafuegos

A continuación, abra los puertos del cortafuegos para asegurarse de que sus contenedores OKD puedan comunicarse con la API maestra. De manera predeterminada, algunas distribuciones tienen habilitado el firewall, que bloquea la conectividad requerida de los contenedores OKD a la API maestra. Si su sistema tiene habilitado el firewall, debe agregar reglas para permitir la comunicación en los puertos 8443/tcp para la API maestra y 53/udp para la resolución de DNS en la subred del puente Docker.

Para CentOS, RHEL y Fedora, puede usar el firewall-cmd herramienta de línea de comandos para agregar las reglas. Para otras distribuciones, puede usar el administrador de firewall provisto, como UFW o iptables.

Antes de agregar las reglas del firewall, obtenga la dirección de la subred de la red del puente Docker, así:

$ docker red inspeccionar puente | Subred grep
                    "Subred":"172.17.0.0/16",

Habilite las reglas de firewall usando esta subred. Para CentOS, RHEL y Fedora, use firewall-cmd para agregar una nueva zona:

$ sudo firewall-cmd --permanent --new-zone okdlocal
éxito

Incluya la dirección de subred que obtuvo antes como fuente de la nueva zona:

$ sudo firewall-cmd --permanent --zone okdlocal --add-source 172.17.0.0/16
éxito

A continuación, agregue las reglas requeridas a okdlocal zona:

$ sudo firewall-cmd --permanent --zone okdlocal --add-port 8443/tcp
éxito
$ sudo firewall-cmd --permanent --zone okdlocal --add-port 53 /udp
éxito
$ sudo firewall-cmd --permanent --zone okdlocal --add-port 8053/udp
éxito

Finalmente, vuelva a cargar el firewall para habilitar las nuevas reglas:

$ sudo firewall-cmd --reload
éxito

Asegúrese de que la nueva zona y las reglas estén vigentes:

$ sudo firewall-cmd --zone okdlocal --list-sources
172.17.0.0/16
$ sudo firewall-cmd --zone okdlocal --list-ports
8443/ tcp 53/udp 8053/udp

Su sistema está listo para iniciar el clúster. Es hora de descargar las herramientas de cliente de OKD.

5. Descargue las herramientas de cliente de OKD

Para implementar un clúster OKD local mediante oc , debe descargar el paquete de herramientas de cliente de OKD. Para algunas distribuciones, como CentOS y Fedora, este paquete se puede descargar como RPM desde los repositorios oficiales. Tenga en cuenta que estos paquetes pueden seguir el ciclo de actualización de distribución y, por lo general, no son la versión más reciente disponible.

Para este tutorial, descargue el paquete de cliente OKD directamente desde el repositorio oficial de GitHub para que pueda obtener la versión más reciente disponible. En el momento de escribir este artículo, se trataba de OKD v3.11.

Vaya a la página de descargas de OKD para obtener el enlace a las herramientas de OKD para Linux, luego descárguelo con wget :

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

Descomprima el paquete descargado:

$ tar -xzvf openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz  

Finalmente, para facilitar el uso de oc comando en todo el sistema, muévalo a un directorio incluido en su $PATH variable. Una buena ubicación es /usr/local/bin :

$ sudo cp openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit/oc /usr/local/bin/ 

Una de las mejores características del oc El comando es que es un binario único estático. No necesita instalarlo para usarlo.

Compruebe que oc el comando está funcionando:

$ versión oc
oc v3.11.0+0cbc58b
kubernetes v1.11.0+d4cacc0
características:Basic-Auth GSSAPI Kerberos SPNEGO

6. Inicie su clúster OKD

Una vez que tenga todos los requisitos previos establecidos, inicie su clúster OKD local ejecutando este comando:

$ oc cluster up 

Este comando se conecta a su demonio Docker local, descarga todas las imágenes requeridas de Docker Hub e inicia los contenedores. La primera vez que lo ejecuta, tarda unos minutos en completarse. Cuando haya terminado, verá este mensaje:

... Saltando salida larga...

Se inició el servidor OpenShift.

Se puede acceder al servidor a través de la consola web en:
    https://127.0 .0.1:8443

Ha iniciado sesión como:
    Usuario:    desarrollador
    Contraseña:

Para iniciar sesión como administrador:
    oc iniciar sesión -u sistema:admin

Acceda a la consola web de OKD usando el navegador y navegando a https://127.0.0.1:8443:

Desde la línea de comandos, puede verificar si el clúster se está ejecutando ingresando este comando:

$ oc cluster status
URL de la consola web:https://127.0.0.1:8443/console/

La configuración está en el directorio del host
Los volúmenes están en el directorio del host
Los volúmenes persistentes se encuentran en el directorio de host /home/ricardo/openshift.local.clusterup/openshift.local.pv
Los datos se descartarán cuando se destruya el clúster

También puede verificar que su clúster esté funcionando iniciando sesión como system:admin usuario y comprobar los nodos disponibles mediante el oc herramienta de línea de comandos:

$ oc login -u system:admin
Inicia sesión en "https://127.0.0.1:8443" como "system:admin" usando las credenciales existentes.

Tienes acceso a los siguientes proyectos y puede alternar entre ellos con 'oc project ':

    default
    kube-dns
    kube-proxy
    kube-public
    kube-system
  * myproject
    openshift
    openshift-apiserver
    openshift-controller-manager
    openshift-core-operators
    openshift-infra
    openshift-node
    openshift-service-cert-signer
    openshift-web-console

Utilizando el proyecto "myproject".

$ oc get nodes
NOMBRE        ESTADO    FUNCIONES     EDAD       VERSIÓN
localhost   Listo        52m       v1.11.0+d4cacc0

Dado que se trata de un clúster local todo en uno, solo verá localhost en la lista de nodos.

7. Haz una prueba de humo de tu clúster

Ahora que su clúster local de OKD se está ejecutando, cree una aplicación de prueba para realizar una prueba de humo. Use OKD para compilar e iniciar la aplicación de muestra para asegurarse de que los diferentes componentes funcionen.

Comience iniciando sesión como desarrollador usuario:

$ oc login -u desarrollador
Inicie sesión en "https://127.0.0.1:8443" como "desarrollador" utilizando las credenciales existentes.

Tiene un proyecto en este servidor:"miproyecto"

Uso del proyecto "miproyecto".

Se te asigna automáticamente a un nuevo proyecto vacío llamado miproyecto . Cree una aplicación PHP de muestra basada en un repositorio de GitHub existente, como esta:

$ oc new-app php:5.6~https://github.com/rgerardi/ocp-smoke-test.git 
--> Imagen encontrada 92ed8b3 (5 meses de antigüedad) en el flujo de imágenes "openshift/ php" bajo la etiqueta "5.6" para "php:5.6"

    Apache 2.4 con PHP 5.6
    -------------------- ---
    PHP 5.6 disponible como contenedor es una plataforma base para crear y ejecutar varias aplicaciones y marcos PHP 5.6. PHP es un lenguaje de secuencias de comandos integrado en HTML. PHP intenta facilitar a los desarrolladores la escritura de páginas web generadas dinámicamente. PHP también ofrece integración de base de datos incorporada para varios sistemas de administración de bases de datos comerciales y no comerciales, por lo que escribir una página web habilitada para bases de datos con PHP es bastante simple. El uso más común de la codificación PHP es probablemente como reemplazo de los scripts CGI.

    Etiquetas:builder, php, php56, rh-php56

    * Una compilación fuente usando código fuente de https://github.com/rgerardi/ocp-smoke-test.git se creará
      * La imagen resultante se enviará a la etiqueta de secuencia de imágenes "ocp-smoke-test:latest"
      * Use 'start-build' para activar una nueva compilación
    * Esta imagen se implementará en la configuración de implementación "ocp-smoke-test"
    * Los puertos 8080/tcp, 8443/tcp tendrán carga equilibrada por servicio "ocp-smoke-test"
      * Otros contenedores pueden acceder a este servicio a través del nombre de host "ocp-smoke-test"

--> Creando recursos...
    imagestream. image.openshift.io "ocp-smoke-test" creado
    buildconfig.build.openshift.io "ocp-smoke-test" creado
    deploymentconfig.apps.openshift.io "ocp-smoke-test" creado
    servicio "ocp-smoke-test" creado
--> Correcto
    Compilación programada, use 'oc logs -f bc/ocp-smoke -test' para realizar un seguimiento de su progreso.
    La aplicación no está expuesta. Puede exponer los servicios al mundo exterior ejecutando uno o más de los siguientes comandos:
     'oc exponer svc/ocp-smoke-test'
    Ejecute 'oc status' para ver su aplicación.

OKD inicia el proceso de compilación, que clona el repositorio de GitHub proporcionado, compila la aplicación (si es necesario) y crea las imágenes necesarias. Puede seguir el proceso de compilación siguiendo su registro con este comando:

$ oc logs -f bc/ocp-smoke-test
Clonación "https://github.com/rgerardi/ocp-smoke-test.git" ...
        Confirmación:391a475713d01ab0afab700bab8a3d7549c5cc27 ( Crear index.php)
        Autor:Ricardo Gerardi
        Fecha:  Tue Oct 2 13:47:25 2018 -0400
Usando 172.30.1.1:5000/ openshift/php@sha256:f3c95020fa870fcefa7d1440d07a2b947834b87bdaf000588e84ef4a599c7546 como la imagen del constructor s2i
---> Instalando la fuente de la aplicación...
=> sourcing 20-copy-config.sh ...
---> 04:53:28     Procesando la configuración httpd arbitraria adicional proporcionada por s2i ...
=> abastecimiento 00-documentroot.conf ...
=> abastecimiento 50-mpm-tuning.conf ...
=> aprovisionamiento de 40-ssl-certs.sh ...
Presionando imagen 172.30.1.1:5000/myproject/ocp-smoke-test:latest ...
Presionado 1/10 capas, 10% completado
Empuje exitoso

Una vez que se completa el proceso de compilación, OKD inicia la aplicación automáticamente al ejecutar un nuevo pod basado en la imagen creada. Puedes ver este nuevo pod con este comando:

$ oc get pods
NOMBRE             LISTO     ESTADO      REINICIA   EDAD
ocp-smoke-test-1-build   0/1       Completado   0          1m
ocp-smoke-test-1-d8h76   1/> 1       Corriendo     0          7 s

Puede ver que se crean dos pods; el primero (con el estado Completado) es el pod utilizado para construir la aplicación. El segundo (con el estado En ejecución) es la propia aplicación.

Además, OKD crea un servicio para esta aplicación. Verifíquelo usando este comando:

$ oc get service
NOMBRE             TIPO        CLUSTER-IP       EXTERNAL-IP   PUERTO(S)             EDAD
ocp-smoke-test   ClusterIP   172.30.232.241          8080 4/TCP, 8080 4/TCP pre>

Finalmente, exponga este servicio externamente usando rutas OKD para que pueda acceder a la aplicación desde un navegador local:

$ oc exponer svc ocp-smoke-test
ruta.ruta.openshift.io/ocp-smoke-test expuesto

$ oc obtener ruta
NOMBRE             HOST/PUERTO RUTA      SERVICIOS         PUERTO       TERMINACIÓN   COMODÍN
ocp-smoke-test   ocp-smoke-test-myproject.127.0.0.1.nip.io             ocp-smoke-test   8080-tcp          
  Ninguno

Verifique que su nueva aplicación se esté ejecutando navegando a http://ocp-smoke-test-myproject.127.0.0.1.nip.io en un navegador web:

También puede ver el estado de su solicitud iniciando sesión en la consola web de OKD:

Más información

Puede encontrar más información sobre OKD en el sitio oficial, que incluye un enlace a la documentación de OKD.

Si es la primera vez que trabaja con OKD/OpenShift, puede aprender los conceptos básicos de la plataforma, incluido cómo crear e implementar aplicaciones en contenedores, a través del Portal de aprendizaje interactivo. Otro buen recurso es el canal oficial de YouTube de OpenShift.


Linux
  1. Primeros pasos con btrfs para Linux

  2. Introducción a los cortafuegos de Linux

  3. Comenzando con PiFlash:Arrancando su Raspberry Pi en Linux

  4. Primeros pasos con PostgreSQL en Linux

  5. Primeros pasos con SSH en Linux

Primeros pasos con Etcher.io

Primeros pasos con GIT en Linux

Primeros pasos con el sistema operativo Linux

Tutorial de Docker:Primeros pasos con Docker en Linux

Primeros pasos con Docker Compose en Linux

Primeros pasos con Flutter en el escritorio de Linux