Aplicación para Kubernetes - Documentación

Hoy en día muchas empresas están comenzando a trabajar con Kubernetes. Hay bastante información y varios productos que hacen sencillo el despliegue y el mantenimiento de clusters. Sin embargo, para los equipos de desarrollo no hay tanta información o tal vez todavía no hay un acuerdo real en "cómo hacer las cosas".
Mi objetivo es construir una aplicación sencilla buscando mejores prácticas para que me sirva de guía al momento de construir aplicaciones más complejas.

Documentación de una aplicación para Kubernetes

Toda aplicación comienza con una definición de arquitectura y un diseño. Mi primer pregunta es obvia, ¿cómo puedo documentar una aplicación para Kubernetes? Estuve googleando pero no encontré una forma "aceptada" de hacerlo. 

Este es mi primer intento de documentación de mi aplicación:


Elementos en la documentación

Todo comienza con un usuario que interactúa con un "servicio" que balancea un "replicaset". 
El replicaset gestiona "Pods" que utilizan un "ConfigMap" y consumen (dependen de) otro Servicio. 
El nuevo Servicio utiliza otro ConfigMap y un "Secret" y consume un nuevo Servicio. 
El último servicio es un "StatefulSet" que comparte el Secret y el ConfigMap con el backend y utiliza un "Persistent Volume Claim" para obtener un "Persistent Volume" donde almacenar los datos. 

Conclusión

Documentar nuestras aplicaciones es una parte importante del desarrollo. Este es mi primer intento de documentar una aplicación para Kubernetes y seguramente lo iré modificando en el futuro.

Comentarios

Entradas populares de este blog

vRA8 - Definir redes disponibles por Projecto

Aria Automation - crear lista ordenada de key-value en custom forms con Orchestrator

Demo simple de GSLB con AVI