0

Kubernetes – Respaldando volúmenes y configuraciones de Kubernetes con Velero.

Kubernetes – Respaldando volúmenes y configuraciones de Kubernetes con Velero.

¿Otro post sobre respaldos?

Si, pero esta vez además de poder respaldar la data de un volumen, también podremos respaldar la información necesaria de un Deployment para ser recuperado o migrado mas adelante en caso de fallas o en una migración.

Velero

Anteriormente conocido como Heptio Ark, nos permite realizar respaldos tanto como de los volúmenes así también de los recursos en un cluster de Kubernetes. ¿Qué me permite hacer?

  • Respaldos de un cluster y restaurarlos en caso de perdidas.
  • Migración de un cluster a otro, sin importar que sea en premisa o en la nube.
  • Replicar un ambiente de producción a desarrollo o QA.

Continue Reading

0

Kubernetes – Respaldando volúmenes de Rancher Longhorn en Minio.

Kubernetes – Respaldando volúmenes de Rancher Longhorn en Minio.

Longhorn ha estado en beta desde que leí sobre este proyecto hace más de un año, actualmente está en la versión 0.8.1, cumple con lo necesario para usarlo como proveedor de almacenamiento en Kubernetes, al menos en mi caso.

Hace ya un tiempo escribí sobre esta implementación desarrollada por Rancher

https://arielantigua.com/weblog/2019/10/kubernetes-almacenamiento-con-rancher-longhorn-parte2/

En esta ocasión me ha tocado configurar la opción de respaldos ofrecida por Longhorn, actualmente solo respalda los volúmenes provisionados por su engine. Hace unos meses jugué un poco con Velero pero las pruebas no fueron satisfactorias como lo esperaba así que mientras tanto respaldare los volúmenes de Longhorn usando su propia implementación de respaldos.

En Longhorn un respaldo representa el estado de un volumen (un snapshot) en un momento determinado, este es almacenado en un espacio alternativo (backupstore, esto ha creado en Minio) el cual esta localizado fuera del sistema de Longhorn. https://longhorn.io/docs/0.8.0/concepts/backups/

Continue Reading

0

Optimizando el uso de kubectl usando Krew!

Optimizando el uso de kubectl usando Krew!

Kubectl es una interfaz de línea de comandos para ejecutar comandos sobre despliegues clusterizados de Kubernetes. Esta interfaz es la manera estándar de comunicación con el clúster ya que permite realizar todo tipo de operaciones sobre el mismo. Desde desplegar servicios, pods o volúmenes hasta conseguir toda la información del clúster de Kubernetes. (fuente: Wikipedia)

Una vez que iniciamos el uso de Kubernetes, encontramos que las opciones que nos brinda kubectl son difíciles de recordar, por ejemplo, trabajar en un namespaces. Estar siempre indicando de cual namespace quiero ver los pods es tedioso y a la larga cansa.

Ahí es donde entran los plugins de kubectl que sirven para extender el uso de este CLI. Para sacar partido a esta plataforma de plugins podemos instalar krew.

Continue Reading

0

Kubernetes – Explorando un Cluster de Kubernetes con VMware Octant.

Kubernetes – Explorando un Cluster de Kubernetes con VMware Octant.

VMware se ha montado en el ecosistema de Kubernetes, luego de adquirir Heptio, VMware recibió varias plataformas opensource tales como Velero y Sonobuoy.

Sin embargo, no solo estan las que llegaron via Heptio, un ejemplo notable es Octant, hace unos meses me tope con esta aplicacion en la cuenta de Github de Vmware mientras buscaba informacion sobre Tanzu.

https://github.com/vmware-tanzu/octant

Octant es una aplicacion para que los desarrolladores (¡¡también los administradores!!) entiendan como las aplicaciones son ejecutadas en Kubernetes. Con la información presentada en Octant se muestra de una manera mas clara la relacion entre Ingress, Services, Pod y Deployments. Desde hace un tiempo estoy usando Rancher, no planeo reemplazarlo ya que Octant esta pensado para ser ejecutado desde el desktop usando el kubeconfig local, desde mi punto de vista es una aplicación de diagnóstico.

Continue Reading

0

Kubernetes – Almacenamiento con Rancher Longhorn, Parte2.

Kubernetes – Almacenamiento con Rancher Longhorn, Parte2.

Announcing Longhorn: an open source project for microservices-based distributed block storage

En esta edición de mis aventuras con #k8s, acabo de instalar una implementación de almacenamiento desarrollada por Rancher. Desde mi punto de vista es parte2 porque fue la primera solución de almacenamiento distribuido que utilice hace meses, pero tenía varios temas, por ejemplo, cuando un pod era eliminado y este tenía un pvc montado, muchas veces no eran eliminados junto con su pod/deployment, otras veces si el pod/deployment era relanzado, el pvc tardaba minutos en montarse al pod.

Hace unos meses lanzaron nueva versión y tiene bastantes mejoras, además he tenido experiencias con Linstor que en mi pequeño ambiente son algo incomodas, actualmente tengo un controller de Linstor, si esta falla, falla la creación de volúmenes y por consecuente la creación de pods.

Instalar Longhorn es increíblemente fácil, con tan solo ejecutar kubectl -f url/de/yaml tendremos en marcha nuestro almacenamiento distribuido. Usando Rancher UI es mucho mas fácil, así lo he hecho esta vez, la ventaja de hacerlo desde Rancher UI es que podemos acceder al Dashboard de Longhorn desde Rancher usando las mismas credenciales.

https://rancher.com/blog/2017/announcing-longhorn-microservices-block-storage/

En ese enlace se puede leer sobre el diseño de Longhorn:

Storage Orchestration
Replica Operations
Replica Rebuild
Backup of Snapshots
Deployment Models

Documentar el proceso de instalación está de más, en YouTube podemos ver el video de Adrian Goins.

https://www.youtube.com/watch?v=q5JzZbiw4LE

Y para los que quieren entender más a profundidad como funciona Longhorn, les recomiendo ver un video de Rancher Labs titulado: Kubernetes Master Class – Using Persistent Storage in Kubernetes and Project Longhorn.

https://www.youtube.com/watch?v=BnHMAJ8azBU&t=

En los próximos días estaré moviendo todo lo que tengo en Linstor a Longhorn, espero no perder información en el proceso!!!