Apuntes Sobre Kubernetes

Hola estimado lector, Hace tiempo, quería aprender acerca de Kubernetes, me pareció una tecnología muy interesante, ya que en mi instituto me enseñaron virtualizar SO mediante virtualbox, pero nada de Docker y menos Kubernetes.

Docker para quienes no sepan es una tecnología que permite crearte en un SO pequeño los servicios básicos para que funcione tu sistema. Kubernetes le añade una capa más de abstracción a Docker

web banner with online information on computer
Photo by Brett Sayles on Pexels.com

INSTALAMOS KUBERNETES EN LINUX

Para instalar Kubernetes en nuestro SO Linux necesitaremos del gestor de paquetes Snap, muy recomendado, si queremos instalar emuladores en nuestros sistemas Linux

snap install kubectl --classic

Con este comando sabremos la versión de Kubernetes

kubectl version --client

INSTALAMOS HELM

La comunidad de Snapcrafters mantiene la versión Snap del paquete Helm :

sudo snap install helm –classic

INICIALIZAR UN REPOSITORIO DE GRÁFICOS DE HELM

Una vez que tenga Helm listo, puede agregar un repositorio de gráficos. Consulte Artifact Hub para conocer los repositorios de gráficos de Helm disponibles.

$ helm repo add bitnami https://charts.bitnami.com/bitnami

UNA VEZ QUE ESTÉ INSTALADO, PODRÁ ENUMERAR LOS GRÁFICOS QUE PUEDE INSTALAR:

$ helm search repo bitnami

NAME                                    CHART VERSION   APP VERSION          DESCRIPTION

bitnami/bitnami-common                  0.0.9                0.0.9                DEPRECATED Chart with custom templates used in …

bitnami/airflow                      8.0.2                2.0.0                Apache Airflow is a platform to programmaticall…

bitnami/apache                       8.2.3                2.4.46              Chart for Apache HTTP Server

bitnami/aspnet-core                1.2.3                3.1.9                ASP.NET Core is an open-source framework create…

INSTALAR UN GRÁFICO DE EJEMPLO

Para instalar un gráfico, puede ejecutar el helm install comando. Helm tiene varias formas de buscar e instalar un gráfico, pero la más sencilla es utilizar los bitnami gráficos.

$ helm repo update              # Make sure we get the latest list of charts
$ helm install bitnami/mysql --generate-name

NAME: mysql-1612624192

LAST DEPLOYED: Sat Feb  6 16:09:56 2021

NAMESPACE: default

STATUS: deployed

REVISION: 1

TEST SUITE: None

NOTES: …

PUEDE ENCONTRAR GRÁFICOS DISPONIBLES PÚBLICAMENTE EJECUTANDO HELM SEARCH HUB:

$ helm search hub wordpress

URL                                                 CHART VERSION APP VERSION DESCRIPTION

https://hub.helm.sh/charts/bitnami/wordpress        7.6.7         5.2.4       Web publishing platform for building blogs and …

https://hub.helm.sh/charts/presslabs/wordpress-…  v0.6.3        v0.6.3      Presslabs WordPress Operator Helm Chart

https://hub.helm.sh/charts/presslabs/wordpress-…  v0.7.1        v0.7.1      A Helm chart for deploying a WordPress site on ..

HELM SEARCH UTILIZA UN ALGORITMO DE COINCIDENCIA DE CADENAS DIFUSAS, POR LO QUE PUEDE ESCRIBIR PARTES DE PALABRAS O FRASES:

$ helm search repo kash

‘HELM INSTALL’: INSTALACIÓN DE UN PAQUETE

Para instalar un paquete nuevo, use el helm installcomando. En su forma más simple, se necesitan dos argumentos: un nombre de versión que elija y el nombre del gráfico que desea instalar.

$ helm install happy-panda bitnami/wordpress

NAME: happy-panda

LAST DEPLOYED: Tue Jan 26 10:27:17 2021

NAMESPACE: default

PARA REALIZAR UN SEGUIMIENTO DEL ESTADO DE UNA VERSIÓN O PARA VOLVER A LEER LA INFORMACIÓN DE CONFIGURACIÓN, PUEDE UTILIZAR HELM STATUS:

$ helm status happy-panda

PERSONALIZACIÓN DEL GRÁFICO ANTES DE LA INSTALACIÓN

La instalación de la forma que tenemos aquí solo usará las opciones de configuración predeterminadas para este gráfico. Muchas veces, querrá personalizar el gráfico para usar su configuración preferida.

PARA VER QUÉ OPCIONES SE PUEDEN CONFIGURAR EN UN GRÁFICO, USE HELM SHOW VALUES:

$ helm show values bitnami/wordpress

Luego, puede anular cualquiera de estas configuraciones en un archivo con formato YAML y luego pasar ese archivo durante la instalación.

$ echo '{mariadb.auth.database: user0db, mariadb.auth.username: user0}' > values.yaml
$ helm install -f values.yaml bitnami/wordpress –generate-name

ACTUALIZAR

UNA ACTUALIZACIÓN TOMA UNA VERSIÓN EXISTENTE Y LA ACTUALIZA DE ACUERDO CON LA INFORMACIÓN QUE PROPORCIONE. DADO QUE LOS GRÁFICOS DE KUBERNETES PUEDEN SER GRANDES Y COMPLEJOS, HELM INTENTA REALIZAR LA ACTUALIZACIÓN MENOS INVASIVA. SOLO ACTUALIZARÁ LAS COSAS QUE HAYAN CAMBIADO DESDE LA ÚLTIMA VERSIÓN.

$ helm upgrade -f panda.yaml happy-panda bitnami/wordpress

ROLLBACK

Ahora, si algo no sale según lo planeado durante una versión, es fácil volver a una versión anterior usando helm rollback [RELEASE] [REVISION].

$ helm rollback happy-panda 1

‘HELM UNINSTALL’: DESINSTALACIÓN DE UNA VERSIÓN

Cuando sea el momento de desinstalar una versión del clúster, use el helm uninstallcomando:

$ helm uninstall happy-panda

LISTAR VERSIONES

Puede ver todas sus versiones implementadas actualmente con el helm listcomando:

$ helm list

NAME            VERSION UPDATED                         STATUS          CHART

inky-cat        1       Wed Sep 28 12:59:46 2016        DEPLOYED        alpine-0.1.0

LISTAR

La helm list –all bandera le mostrará todos los registros de liberación que Helm ha retenido, incluidos los registros de elementos fallidos o eliminados (si –keep-historyse especificó):

$  helm list --all

NAME            VERSION UPDATED                         STATUS          CHART

happy-panda     2       Wed Sep 28 12:47:54 2016        UNINSTALLED     wordpress-10.4.5.6.0

inky-cat        1       Wed Sep 28 12:59:46 2016        DEPLOYED        alpine-0.1.0

kindred-angelf  2       Tue Sep 27 16:16:10 2016        UNINSTALLED     alpine-0.1.0

‘HELM REPO’: TRABAJAR CON REPOSITORIOS

$ helm repo list

NAME            URL

stable          https://charts.helm.sh/stable

mumoshu         https://mumoshu.github.io/charts

Y se pueden agregar nuevos repositorios con helm repo add:

$ helm repo add dev https://example.com/dev-charts

Los repositorios se pueden eliminar con helm repo remove.

CREACIÓN DE SUS PROPIOS GRÁFICOS

La Guía de desarrollo de gráficos explica cómo desarrollar sus propios gráficos. Pero puede comenzar rápidamente usando el helm createcomando:

$ helm create deis-workflow

Creating deis-workflow

CUANDO LLEGUE EL MOMENTO DE EMPAQUETAR EL GRÁFICO PARA SU DISTRIBUCIÓN, PUEDE EJECUTAR EL HELM PACKAGE COMANDO:

$ helm package deis-workflow

deis-workflow-0.1.0.tgz

Y ese gráfico ahora se puede instalar fácilmente mediante helm install:

$ helm install deis-workflow ./deis-workflow-0.1.0.tgz

FUENTES:

https://kubernetes.io/es/docs/tasks/tools/install-kubectl/

https://helm.sh/docs/intro/quickstart/

https://helm.sh/docs/intro/install/

https://kubernetes.io/es/docs/tasks/tools/install-kubectl/

https://kubernetes.io/docs/concepts/services-networking/ingress/

https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/

https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/

https://kubernetes.io/docs/concepts/services-networking/service-traffic-policy/

https://faun.pub/deploy-your-first-scaleable-php-mysql-web-application-in-kubernetes-33ed7ab66595

https://www.magalix.com/blog/kubernetes-deployments-101

http://docs.heptio.com/content/tutorials/lamp.html

https://knative.dev/docs/admin/install/serving/install-serving-with-yaml/

https://ualmtorres.github.io/SeminarioKubernetes/

https://minikube.sigs.k8s.io/docs/start/

Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.

Tomas Gonzalez
Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad
Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
A %d blogueros les gusta esto: