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.

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.

http://localhost:8080

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.

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

Autor: Ariel Antigua

Automation guy with a love for Containers!