Soy Oscar Mas y lo que os voy a explicar es como poder desplegar y acceder al Dashboard de Kubernetes. Kubernetes tiene un dashboard desde el cual podemos observar nuestra infraestructura. Para ello, lo primero que haremos es lanzar un par de pods para poder ver el funcionamiento del dashboard y posteriormente desplegaremos el dashboard para poder observar lo que sucede en nuestra infraestructura.
Crearemos el fichero de yaml donde definiremos unos pods con nginx. Los desplegaremos mediante un ReplicationController:
rootdevel@ub-nodo0-sbd:~$ cat nginx_rc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx
spec:
replicas: 2
selector:
app: nginx
template:
metadata:
name: nginx
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
Crearemos los pods y verificaremos que se han desplegado correctamente:
rootdevel@ub-nodo0-sbd:~$ kubectl create -f nginx_rc.yaml rootdevel@ub-nodo0-sbd:~$ kubectl get rc rootdevel@ub-nodo0-sbd:~$ kubectl get pods
Una vez creado unos pods en nuestra infraestructura, ya podemos empezar a desplegar el dashboard. Para ello usaremos el fichero yaml de la web oficial de Kubernetes y seguidamente verificaremos que se ha desplegado correctamente:
rootdevel@ub-nodo0-sbd:~$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml rootdevel@ub-nodo0-sbd:~$ kubectl get pods --all-namespaces | grep dashboard
Una vez desplegado el yaml que nos ofrece el Dashboard, crearemos un rol para poder acceder al Dashboard. Cabe destacar que este despliegue se hace sin seguridad y no nos pedirá ni usuario ni contraseña para poder acceder al Dashboard. Esto no es aconsejable para producción.
rootdevel@ub-nodo0-sbd:~$ cat dashboard.yaml
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: kubernetes-dashboard
labels:
k8s-app: kubernetes-dashboard
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: kubernetes-dashboard
namespace: kube-system
rootdevel@ub-nodo0-sbd:~$ kubectl apply -f dashboard.yaml
Ahora manualmente configuraremos el proxy que nos ofrece Kubernetes, para poder acceder al Dashboard. No os preocupéis, más adelante explicaré como implementarlo con SystemD:
rootdevel@ub-nodo0-sbd:~$ kubectl proxy --address 0.0.0.0 --accept-hosts='^*$'
Y ya podremos acceder al Deshboard de Kubernetesmediante la siguiente URL:
http://192.168.0.216:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/login
Clicaremos en la opción de SKIP, ya que como he mencionado anteriormente, para simplificar hemos desplegado el Dashboard sin seguridad y ya podremos ver nuestro sistema:
Os dejo unas capturas, para que podáis ver el Dashboard:
No te pierdas la serie completa sobre Kubernetes de Oscar Mas:
- Kubernetes – Introducción a Kubernetes
- Kubernetes – Instalación
- Kubernetes – RollingUpdate con Kubernetes
- Kubernetes – Dashboard
- Kubernetes – Volúmenes NFS
- Kubernetes – Registry
- Kubernetes – Traefik
- Kubernetes – Systemd con Traefik y Proxy de Kubernetes
- Kubernetes – Heapster Influx Grafana
- Kubernetes – Labels de Kubernetes
- Kubernetes – API: Swagger
- Kubernetes – API: Creando nuestro primer POD
- Kubernetes – API: Seguridad con Token

[…] Kubernetes – Dashboard […]