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.
Ya lo quiero, como lo consigo?
El proyecto provee varias formas de instalación, yo he usado una mezcla del empaquetado .deb y Docker.
Aquí esta el dockerfile que he usado, esta algo crudo y merece mejoras.
FROM debian:buster-slim RUN apt-get update && apt-get install -y \ apt-transport-https \ ca-certificates \ curl RUN mkdir /octant && cd /octant && curl -o octant.deb -L https://github.com/vmware-tanzu/octant/releases/download/v0.8.0/octant_0.8.0_Linux-64bit.deb && dpkg -i octant.deb ENV OCTANT_LISTENER_ADDR=0.0.0.0:8080 ENV OCTANT_DISABLE_OPEN_BROWSER=true VOLUME ["/root/.kube"] ENTRYPOINT ["octant"]
Para crear la imagen de Octant hacemos lo siguiente:
docker build . -t aredan/octant
El resultado será una imagen en Docker con el nombre aredan/octant la cual podemos usar de la siguiente manera:
docker run -it -p 8080:8080 -v /home/ariel/.kube/:/root/.kube/ aredan/octant
Ya Podemos acceder al Dashboard de Octant, recordar que Octant utiliza el kubeconfig que este en el home directory especificado en el Docker run y que solo tendrá acceso al cluster asociado a ese config. Aun no existe manera de cargar configuraciones de conexión a cluster independientes al config del usuario.
Partiendo de este punto lo siguiente seria entender como Octant encaja en el día a día de un administrador de Kubernetes o un desarrollador que quiere entender como una actualización afecta su aplicación corriendo en k8s.
Aquí un video de VMware Cloud Native Apps con bastante información acerca del proyecto.