On 9/25/2019 12:56 PM, Eriel Perez wrote:


On 9/25/2019 12:11 PM, Eriel Perez wrote:


On 9/25/2019 11:41 AM, Arian Molina Aguilera wrote:
El 25/9/19 a las 11:34, Arian Molina Aguilera escribió:
El 25/9/19 a las 10:56, Eriel Perez escribió:
On 9/25/2019 8:31 AM, Mike the Wolf wrote:
El martes, 24 de septiembre de 2019 16:40:56 CDT, Eriel Perez escribió:
Hola colegas.

Alguien aqui ha trabajado con kubernetes? lo ha implementado?

Tengo algunas dudas.

Gracias.

Date una vuelta por acahttps://www.okd.io/#v3

_______________________________________________
Gutl-l mailing list --gutl-l@listas.jovenclub.cu
To unsubscribe send an email togutl-l-le...@listas.jovenclub.cu
Encontre un articulo muy bueno que me esclarecio algunas dudas. Aqui las
comparto con la lista.

-----1------ (https://openwebinars.net/blog/docker-kubernetes-y-openshift/)


   Docker, Kubernetes y OpenShift

¿Quieres aclarar conceptos sobre Cloud Computing y sobre las tecnologías
que se utilizan? Aquí te contamos los aspectos más importantes sobre
contenedores y las tecnologías Docker, Kubernetes y OpenShift.


     Contenedores

Los contenedores es un término que está muy de moda en los últimos
tiempos, y lo que nos permiten es tener una partición aislada dentro de
un sistema operativo. Es algo parecido a una máquina virtual, pero mucho
más liviano, porque un contenedor suele partir el núcleo del sistema
operativo con los demás contenedores.

*El uso de contenedores tiene una serie de ventajas que queremos destacar:*

   * *Cada aplicación está aislada y se va a ejecutar en un contenedor*,
     por lo que cada una tiene su conjunto de librerías y la
     actualización de un contenedor no afecta.
   * *Se tiene un menor tamaño de hardware*, porque, como hemos dicho,
     son más livianos que un sistema operativo virtualizado, que una
     máquina virtual que tiene todas las características de una máquina
     completa, y los contenedores comparten normalmente el núcleo de
     sistema del sistema.
   * *La implementación es muy rápida*, porque al ser tan liviano, el
     inicio, la parada y la actualización de los contenedores se hace una
     manera muy ágil.
   * *Minimiza el impacto frente a cambios*, ya que al tener cada
     aplicación en un contenedor, si una aplicación cambia y hay que
     actualizarla, no afecta a las demás.


     Docker

*Docker es una tecnología que nos permite trabajar con contenedores*,
más en concreto con un tipo de contenedores llamados contenedores de
aplicación, que están especializados en implantación de aplicaciones web.

Es una virtualización ligera, como comentamos anteriormente, con la que
se aprovecha mejor el hardware, y el contenedor finalmente es un sistema
de archivos mínimo para que la aplicación funcione.

   * *El contenedor es autosuficiente*, solo se necesita una imagen para
     crearlo el contenedor.
   * De una forma muy simple podríamos entender una imagen como *“un
     sistema operativo con las aplicaciones ya instaladas”*.
   * El proyecto Docker nos ofrece un repositorio con imágenes con las
     que podemos trabajar, llamado *Docker Hub*.
   * Otro aspecto muy importante es que *un contenedor suele ejecutar un
     solo proceso*. Por ejemplo, si tenemos una base de datos es un
     contenedor, si tenemos una aplicación con PHP es un contenedor con
     un servidor web.


     Componentes de Docker

De forma muy básica podemos diferenciar varios componentes en Docker:

   * *Docker Engine*: Es un demonio Docker y es el responsable de
     ejecutar los contenedores. Corre sobre cualquier distribución de
     Linux y expone una API externa para la gestión de imágenes y
     contenedores.
   * *Docker Client*: Es el cliente de línea de comando (CLI) que nos
     permite interactuar con el Docker Engine. Se puede configurar para
     trabajar con un Docker Engine local o remoto.
   * *Docker Registry*: Es el repositorio de imágenes generadas por el
     Docker Engine, y nos permite distribuir nuestras imágenes. Podemos
     instalar un registro privado, o hacer uso de uno público como Docker
     Hub.


     Kubernetes

*Docker nos permite la ejecución de contenedores y trabaja en un
servidor*, por lo que nos lo interesante sería tener un clúster de
servidores donde los contenedores se fueran ejecutando en distintos
servidores, y que además hubiera un control de esos contenedores. Aquí
es donde aparece Kubernetes.

*Podemos definir Kubernetes como un orquestador de contenedores*, ya que
es el responsable de que los contenedores que vamos a tener estén
conectados pero se ejecuten en distintos en distintos nodos.

Está escrito en Go y originalmente fue un proyecto de Google, pero que
rápidamente pues se alió con la Linux Foundation para crear una nueva
fundación llamada Cloud Native Computing Foundation (CNCF), donde ahora
mismo se desarrolla el proyecto.

Es un proyecto muy reciente, ya que comenzó en 2015, pero está en pleno
auge y cada vez se utiliza más.


     Ventajas de Kubernetes

Las principales ventajas que ofrece Kubernetes son:

   * *Tolerancia a fallos*: asegura que el servicio y los contenedores
     siempre están en ejecución.
   * *Escalabilidad dinámica*: permite escalar de forma sencilla los
     contenedores.
   * *Actualizaciones continuas*: se puede actualizar las versiones de
     forma fácil.
   * *Despliegues automáticos.*
   * *Enrutamiento a nuestras aplicaciones*: permite enrutar y tener
     nombres de dominio o de máquinas para acceder.
   * *Balanceo de carga*: balancea la carga entre los distintos contenedores.
   * *Volúmenes persistentes*: al igual que en Docker, los contenedores
     tienen una característica que es que la información que tienen es
     efímera, es decir, se pierde, por lo tanto son necesarios mecanismos
     de volúmenes externos para guardar la información de la aplicación.


     OpenShift

*Kubernetes es un proyecto que se puede utilizar por sí mismo*, y están
surgiendo muchos productos que se basan en él, siendo OpenShift uno de
ellos.

*OpenShift es un producto que internamente utiliza Kubernetes*, que lo
que hace es mejorar la funcionalidad del mismo introduciendo nuevas
características.

Es la plataforma de desarrollo, con características de Cloud Computing
en la capa de Plataforma como Servicio (PaaS), de Red Hat.

La Plataforma como Servicio de Cloud Computing ofrece la posibilidad a
un desarrollador de tener una infraestructura donde colocar su
aplicación con características de Cloud Computing, como la escalabilidad
o el pago por uso, es decir, se usan más o menos recursos en función de
las necesidades, y se paga según se consuman más o menos recursos.

*OpenShift permite que el desarrollador se centre en el desarrollo de
aplicaciones y que no tenga que saber cómo funciona internamente Docker
y Kubernetes*, ya que le permite desplegar aplicaciones de una manera
muy sencilla con la funcionalidad y las ventajas de tener un sistema
como Kubernetes, que internamente facilita esta implantación.

Se puede utilizar en la integración continua del desarrollo de una
aplicación, para terminar implantando la aplicación en OpenShift.

Podemos trabajar con OpenShift con una aplicación web o con cliente de
línea de comandos.


     Principal diferencia de OpenShift con Kubernetes

La novedad más importante que diferencia a OpenShift de Kubernetes es
que *las imágenes Docker que se utilizan en Kubernetes las tenemos que
generar nosotros, mientras que OpenShift tiene la característica de
source2image*, que a partir de un repositorio con nuestro código, es
capaz de crear una nueva imagen Docker de forma automática y es la que
va a utilizar internamente.

Por lo tanto el desarrollador se centra en su desarrollo, tiene el mismo
en un repositorio GitHub e internamente OpenShift es capaz de, a partir
de una imagen base de un lenguaje de programación, extraer el contenido
de este repositorio y crear una nueva imagen.


     Ventajas que ofrece OpenShift

OpenShift tiene las mismas ventajas que el uso de Kubernetes que vimos
anteriormente, pero además ofrece algunas ventajas adicionales:

   * Gestión más sencilla de proyectos y usuarios.
   * Conjunto de imágenes base con el que podemos trabajar.
   * Asignación de forma automática de las rutas para acceder a la
     aplicación.
   * Gestiona de forma sencilla los volúmenes.
   * Se puede incluir en un flujo de integración continua y entrega continua.
   * Tiene ya incluidas herramientas de métricas y monitorización.


     Conclusiones

Tras todo lo visto anteriormente ya te puedes hacer una idea de cómo
funciona el ecosistema del trabajo con contenedores:

   * Lo más básico de trabajar con Docker, que trabaja con contenedores
     en una máquina.
   * Posteriormente con Kubernetes, que gestiona los contenedores que se
     ejecutan en un conjunto de máquinas.
   * Y OpenShift se puede decir que es una versión mejorada de
     Kubernetes, que añade la posibilidad de que un desarrollador, sin
     conocimientos de Docker y Kubernetes, pueda utilizar las ventajas de
     Kubernetes en un sistema sencillo.




----2----(https://openwebinars.net/blog/kubernetes-vs-openshift/)


   Kubernetes vs OpenShift

Conoce las principales diferencias que existen entre Kubernetes y
Openshift, dos tecnologías que han cobrado gran importancia en los
últimos tiempos.

Vamos a ver tanto las similitudes como las diferencias que existen entre
ambos proyectos.

*Kubernetes es un gestor de contenedores*, que permite gestionar los
contenedores que se ejecutan en un clúster de ordenadores.

OpenShift, que trabaja internamente con Kubernetes, es la plataforma de
desarrollo de la empresa Red Hat, que tiene características de Cloud
Computing en la capa de Plataforma como Servicio o PaaS, y añade nuevas
funcionalidades que Kubernetes no tiene.


     Proyecto vs producto

La primera diferencia entre ambas tecnologías es que podemos entender
Kubernetes como un proyecto de código abierto, mientras que OpenShift es
un producto.

Realmente se puede decir que OpenShift es una distribución certificada
de Kubernetes, de las muchas que existen, que podemos ver en esta página:

https://www.cncf.io/certification/software-conformance/#logs

*OpenShift también tiene una versión que es de código abierto, que se
conoce como OKD o como OpenShift Origin*. Para instalar esta versión
necesitamos tener como sistema operativo Red Hat Linux o CentOS, sin
embargo Kubernetes se puede instalar en cualquier distribución de Linux.


     Seguridad

En cuanto a la comparación sobre seguridad,*OpenShift por defecto tiene
políticas de seguridad más estrictas que la de Kubernetes*.

Esto a veces plantea ciertos problemas, porque la mayoría de las
imágenes Docker de contenedores disponibles, por ejemplo en Docker Hub,
que es el repositorio oficial de Docker, no se pueden ejecutar en
OpenShift, porque no permite ejecutar ciertas imágenes como root.

La gestión de autorización de recursos, que se hace por medio de RBAC
(Control de Acceso Basado en Roles), se puede deshabilitar en
Kubernetes. Esto no es apropiado si tenemos un Kubernetes en producción,
pero en OpenShift no podemos deshabilitar las reglas de autorización.


     Build

Sobre la construcción de imágenes, *Kubernetes trabaja con imágenes de
contenedores, pero esas imágenes las debemos crear nosotros o utilizar
un software adicional que automatice esa creación*, pero Kubernetes por
si solo no puede crear imágenes de contenedores.

Sin embargo, en OpenShift, al estar pensada para desarrolladores que no
te necesitan conocer en profundidad cómo funcionan los contenedores y
como funciona Kubernetes, *tiene diversos métodos de construcción de
imágenes*, como por ejemplo desde un Dockerfile o con la característica
soucer2image.


     Gestión de las imágenes

*OpenShift mejora la gestión de las imágenes con un nuevo recurso
llamado ImageStream*, que mejora el recurso Image de Kubernetes.

Con OpenShift es más fácil trabajar con las etiquetas de las imágenes, y
además tiene un sistema que detecta la versión de la imagen ha cambiado,
porque tiene una nueva etiqueta, lanza un despliegue de forma automática
para implantar la nueva versión de la aplicación.


     Ingress vs Routers

*En Kubernetes tenemos el recurso Ingress*, que nos permite asociar una
ruta a nuestra aplicación. En OpenShift se le ha cambiado el nombre y la
implementación y se conoce como Routers.

*En OpenShift se utiliza internamente un proxy inverso HAProxy*,
mientras que en Kubernetes el recurso Ingress lo podemos implementar con
distintas soluciones, ya sea con un proxy inverso nginx, con Traefick o
con otras soluciones.

Se podría decir que las rutas de OpenShift, porque se lleva trabajando
más tiempo que el proyecto Kubernetes en el tema de asignación de ruta,
es más madura, pero también hay que decir que el recurso Ingress de
Kubernetes las últimas versiones está evolucionando de una manera muy
positiva.


     Ingress vs Routers

Finalmente compararemos los mecanismos que utilizan estas tecnologías
para crear el conjunto de recursos para que una aplicación funcione.

Por ejemplo, si necesitamos instalar un WordPress, necesitaremos una
base de datos y un despliegue de WordPress, por lo que van a ser
contenedores distintos y deben ser persistentes, por lo tanto hay que
crear también volúmenes para que la información no desaparezca.

*Todos los recursos que se crean para instalar una aplicación se pueden
empaquetar.*

Kubernetes normalmente utiliza una herramienta, llamada Helm, para
empaquetar todos los recursos que nos permiten implantar una aplicación,
sin embargo OpenShift utiliza un recurso que se llama Template.

En esta caso podemos decir que *Helm de Kubernetes es mucho más flexible
y permite muchas más funcionalidades que los Templates de OpenShift*.

La versión actual de Helm, utilizando un componente que se llama Tiller,
que se ejecuta en un pod que debe tener muchos privilegios, es
incompatible con la política de seguridad de OpenShift, y por lo tanto
optaron por utilizar otro mecanismo para empaquetar las aplicaciones.


     Conclusión

Como conclusión podemos decir que *OpenShift es una distribución de
Kubernetes que mejora ciertos aspectos y añade nuevas funcionalidades*,
pero que aprovecha todas las ventajas de la implantación de aplicaciones
en un clúster de servidores como las que ofrece Kubernetes.

Con Kubernetes se necesita un equipo de sistemas para que mantenga el
clúster, mientras que OpenShift está claramente centrado en el
desarrollador, para que no necesite conocer en profundidad los conceptos
de contenedores y orquestadores de contenedores, y se centre en el
desarrollo de la aplicación, y de forma sencilla sea capaz de implantar
su aplicación en un entorno de Cloud Computing, que internamente utiliza
Kubernetes.


_______________________________________________
Gutl-l mailing list --gutl-l@listas.jovenclub.cu
To unsubscribe send an email togutl-l-le...@listas.jovenclub.cu

puedes instalar snap en debian 10, luego con este desplegar montones de
herramientas.

ahí tienes para escoger

snap search kube
Name                     Version                Publisher
Notes    Summary
kubectl                  1.15.4                 canonical✓
classic  Command line client for controlling a Kubernetes cluster.
microk8s                 v1.15.3                canonical✓
classic  Kubernetes for workstations and appliances
kata-containers          1.8.0                  katacontainers✓
classic  Lightweight virtual machines that seamlessly plug into the
containers ecosystem
conjure-up               2.6.8-20190709.1507    canonical✓
classic  Package runtime for conjure-up spells
juju                     2.6.9                  canonical✓
classic  Simple, secure and stable devops. Juju keeps complexity low and
productivity high. Manage applications wherever they are run.
helm                     2.14.3                 snapcrafters
classic  The Kubernetes package manager
kubelet                  1.15.4                 canonical✓
classic  Kubernetes “node agent” that runs on each node in Kubernetes.
kube-proxy               1.15.4                 canonical✓
classic  Kubernetes network proxy that runs on each node.
kube-scheduler           1.15.4                 canonical✓             -
        Kubernetes master component that assigns each newly created pod
to a node.
kube-controller-manager  1.15.4                 canonical✓             -
        Kubernetes master component that runs controllers.
cdk-addons               1.15.2                 canonical✓             -
        Addons for Canonical Kubernetes
kube-apiserver           1.15.4                 canonical✓             -
        Kubernetes master component that exposes the Kubernetes API.
minikube                 0.8.0                  cmars                  -
        Run Kubernetes locally
kubeadm                  1.15.4                 canonical✓
classic  Tool for bootstrapping Kubernetes clusters.
kubefed                  1.9.0-alpha3           canonical✓
classic  kubefed controls the Kubernetes cluster federation manager.
kubernetes-test          1.15.4                 canonical✓
classic  tests for kubernetes
kops                     1.11.1                 terraform-snap         -
        The easiest way to get a production grade Kubernetes cluster up
and running.
kafkactl                 1.2.1                  dwi-di                 -
        A command-line interface for interaction with Apache Kafka
traefik-nacc             1.0.1                  nacc                   -
        Træfik, a modern reverse proxy
kubelet-eks              1.10.3                 canonical-cloud-snaps
classic  kubelet is the primary node agent that runs on each node in
Kubernetes.
kubectl-eks              1.10.3                 canonical-cloud-snaps
classic  kubectl controls the Kubernetes cluster manager.
kube-commander           0.1.8                  anatoly-rugalev        -
        Browse your kubernetes clusters in a casual way
kube-proxy-eks           1.10.3                 canonical-cloud-snaps
classic  Kubernetes network proxy runs on each node.
client-keystone-auth     v1.14.0+git36.e163280  knobby                 -
        Client plugin for kubectl to enable keystone authentication.
k9s                      0.7.12                 derailed               -
        K9s is a CLI to view and manage your Kubernetes clusters.
teresa-cli               0.1                    adlermedrado           -
        Open source tool to deploy apps to Kubernetes clusters
skaffold                 v0.25.0                terraform-snap         -
        Easy and Repeatable Kubernetes Development
kompose                  1.18.0                 ric2b                  -
        A conversion tool to go from Docker Compose to Kubernetes
https://kompose.io
popeye                   0.3.13                 derailed               -
        A Kubernetes Cluster sanitizer and linter.
eksctl                   0.1.29                 terraform-snap         -
        The easiest way to get a production grade Kubernetes cluster up
and running.
cdk-addon-mod            1.12.9                 yh742                  -
        Addons for the Canonical Distribution of Kubernetes
kwt                      v0.0.5                 nullboxorg             -
        kwt CLI Snap Package
satellite                0.1.2                  alanzanattadev         -
        Advanced scalable Open source intelligence platform
kubernetes-test-eks      1.10.3                 canonical-cloud-snaps
classic  tests for kubernetes


_______________________________________________
Gutl-l mailing list --gutl-l@listas.jovenclub.cu
To unsubscribe send an email togutl-l-le...@listas.jovenclub.cu

yo estoy usando y probando conjure-up, pero ya vez hay montones de
soluciones. realmente con snap todo esto se vuelve un poco más fácil.
debian 10 soportar snap package.https://conjure-up.io/


_______________________________________________
Gutl-l mailing list --gutl-l@listas.jovenclub.cu
To unsubscribe send an email togutl-l-le...@listas.jovenclub.cu


Si ya veo que hay opciones.

https://conjure-up.io/

No esta mal. Esto tengo que empezar a implementarlo en el trabajo. Pero estoy 
buscando alguna interfaz web. Espero me entiendan. La verdad es que quiero 
mantenerme en debian. Openshift esta muy bien. Y ofrece alguna seguridad.

Colegahttps://conjure-up.io/
Cuenta con algun dashboard managment?

Gracias.



He encontrado al interesante:


https://solidgeargroup.com/portainer-io-monitorea-y-administra-docker-de-manera-sencilla-e-intuitiva/?lang=es


  Portainer.io: monitorea y administra Docker de manera sencilla e
  intuitiva

5 octubre, 2018 <https://solidgeargroup.com/portainer-io-monitorea-y-administra-docker-de-manera-sencilla-e-intuitiva/?lang=es> por David Toledo <https://solidgeargroup.com/author/david-toledo/?lang=es>

 *


 *



 *




      ¿Que es Portainer.io?

Portainer es una herramienta web open-source la cual se ejecuta ella misma como un container, por tanto deberemos tener Docker instalado. Esta aplicación nos va a permitir gestionar de forma muy fácil e intuitiva nuestros contenedores Docker a través de una interfaz gráfica.


      ¿Por qué usar Portainer.io?

Para las tareas de administración de contenedores Docker, a veces la línea de comandos puede hacerse algo dura para realizar ciertas acciones. A través de una interfaz web, un administrador puede tener una visión global más clara de los contenedores que está ejecutando y facilitar su gestión.

Kitematic <https://kitematic.com/> es la GUI por defecto que viene con la versión de Docker para Windows y Mac. Seguramente muchos de vosotros ya la conocéis y habéis tenido contacto con ella, pero en algunas circunstancias puede quedar algo corta. Portainer.io <https://portainer.io/> va un paso más allá a la hora de darnos funcionalidad para gestionar nuestro Docker a través de una interfaz.


      ¡Vamos a instalarlo!

Portainer está disponible para los sistemas operativos Windows, Linux y Mac. Yo lo he probado con Mac solamente.

La instalación es bastante sencilla,

|docker volume create portainer_data|

|docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer|

Lo que hace es escuchar en el puerto 9000. Allí es donde lo tendremos arrancado. Por tanto para acceder a él, simplemente debemos ir a |http://localhost:9000| en nuestro navegador. |portainer/portainer|, es el repositorio de DockerHub de donde descargamos la imagen de Portainer.

Os preguntará que pongáis un usuario y una contraseña

admin-pwd

Un vez creado el usuario administrador con una contraseña válida para la política de password,  pasaréis a la siguiente ventana donde nos preguntará si queremos levantarlo en local o en remoto, en mi caso he seleccionado en local para así manejar los containers que tengo ejecutando en mi propio ordenador.


      Interfaz

La primera sección, llamada *Dashboard*,  es la página principal de nuestra instancia de Portainer. En ella se muestra un resumen de manera visual de nuestro sistema de Docker: número total de contenedores, de imágenes, redes o volúmenes.  Esta sección es de gran utilidad para mostrarnos de manera global cual es el estado actual de Docker en nuestra máquina.

El menú de *Containers*, nos mostrará la lista de todos nuestros contenedores, y podremos ejecutar a golpe de click varias de las típicas instrucciones que solemos ejecutar a través de la línea de comandos, como arrancarlos, pararlos o eliminarlos.  También podemos ver detalles del propio contenedor. Si hacemos click en el nombre de un contenedor, entonces podemos conocer la información del mismo

Esa pantalla llamada *Container details* nos permite:

– Todas las operaciones mas habituales como parar, pausar, matar o borrar el contenedor
– Ver informaciones del contenedor (|docker inspect|)
– Crear una imagen nueva desde el mismo contenedor y añadirla a un registro (|docker commit|)
– Ver los logs del contenedor (|docker logs|)
– Ver las estadísticas del contenedor (|docker stats|)
– Entrar en el contenedor pudiendo elegir el shell o el usuario (|docker exec|) – Conectar/Desconectar el contenedor con una red (|docker network connect|)

La sección de *Images* correspondería, si estuviesemos trabajando con el terminal, al comando |docker images| .

La interfaz web de Portainer para la seccion de imágenes nos ofrece una serie de ventajas frente a la línea de comandos como ejemplo

  * Ordenar la lista por tags
  * Ordenar la lista por tamaño
  * Selección de una / varias imágenes a través de checkboxes
  * Tag unused para mostrarnos aquellas imágenes que actualmente no
    estamos usando.

En la pantalla de *Networks*, tenemos la posibilidad de ver las redes que ya tenemos creadas. También podemos eliminarlas o añadir a través de la interfaz una nueva red.

En V*olumes* veremos los directorios del sistema que usa docker (|docker volume ls|)

Y para terminar, existe una sección llamada *App Templates*, la cual no he usado aún en profundidad pero me ha parecido muy interesante. Hay gran cantidad de plantillas disponibles para descargar e instalar.  En mi caso por ejemplo necesitaba para unas pruebas un contenedor de Scality S3 y me resultó muy útil dicha plantilla para conseguir montarlo.

Templates

Espero que tras leer este artículo os animéis a instalar y probar Portainer. Si queréis más información sobre esta herramienta y ampliar vuestros conocimientos, podéis consultar aquí su documentación <https://portainer.readthedocs.io/en/stable/>.


la documentacion oficial esta en:

https://portainer.readthedocs.io/en/stable/

_______________________________________________
Gutl-l mailing list -- gutl-l@listas.jovenclub.cu
To unsubscribe send an email to gutl-l-le...@listas.jovenclub.cu

Responder a