Kubernetes: Comandos básicos
Hoy vamos a explicar unos cuantos comandos básicos para gestionar vuestra infraestructura Kubernetes.
Lo bueno de Docker y Kubernetes es que los comandos son multiplataforma, así que podéis usarlos en vuestra distribución Linux favorita o en Windows sin que tengáis que aprender nuevos cada día.
La mejor guía actual, espero que la mía la mejore algo, es la que tiene en su web la Linux Academy. Es muy clara y concisa. Y si os manejáis en estos 40-50 comandos, podéis ir un paso más allá sin problema:
https://linuxacademy.com/site-content/uploads/2019/04/Kubernetes-Cheat-Sheet_07182019.pdf
Yo hoy os voy a mostrar muchos de estos comandos como se comportan una vez los lanzas en tu consola de comandos:
# Si queremos extraer la información de nuestro clúster
kubectl cluster-info
Comandos con RUN:
Comandos con GET:
# Listar nodos del clúster
kubectl get nodes
# Listado de Servicios
kubectl get service -A
# Listar Pods
kubectl get pods -A
# Listar Pods con más información, como en qué node del clúster están corriendo
kubectl get pods -o wide
# Listar Deployments
kubectl get deployments -A
# Listar Namespaces
kubectl get namespaces
# Listar Pods del Namespace “default”
kubectl get pods -n default
#Listar varios componentes en un solo comando
kubectl get deployments,pods,services,namespaces -o wide
# Listar con abreviaturas
kubectl get deploy,pod,svc,ns
# Exponer un deployment
kubectl expose deployment nombre-deployment --port=80 --type=NodePort
# Información detallada del Pod
kubectl describe pod nombre-servicio
# Eliminar Servicio
kubectl delete service nombre-servicio
# Podemos agregar namespace asociado también
kubectl delete service kubernetes-dashboard --namespace=kubernetes-dashboard
# Eliminar deployment
kubectl delete deployment nombre-deployment
#Eliminar deployment de un namespace
kubectl delete deployment kubernetes-dashboard --namespace=kubernetes-dashboard
#Eliminar namespace
kubectl delete ns kubernetes-dashboard
# Eliminar cuenta de servicio
kubectl delete sa kubernetes-dashboard --namespace=kubernetes-dashboard
# Escalar a 3 replicas un deployment
kubectl scale --replicas=3 deployment kubectl scale --replicas=6 deployment nginx-deployment-elblogdenegu
# o
kubectl scale --replicas=3 deployment kubectl scale --replicas=6 deployment nginx-deployment-elblogdenegu -n nginx-namespace
# Acceder al Pod ubuntu
kubectl --namespace=elblogdenegu exec -it ubuntu bash
# Crear un secreto
kubectl create secret generic mysql-pass --from-literal=password=mypassword
# Crear el contenido definido en el fichero deployment.yaml
kubectl create -f deployment.yaml
# Listar los tokens
kubeadm token list
# Agregar nodo al clúster
kubeadm join 192.168.2.190:6443 --token yssgk3.fuq017u179rjybht --discovery-token-ca-cert-hash sha256:a0fdd8e375b4593ca3cb7c38509c5ea75f0b132064c51f421daa67d66bcb28f7
# Consumo nodos
kubectl top
kubectl top node
kubectl top node NODE_NAME
Espero os parezca interesante…
¿Te ha gustado la entrada SÍGUENOS EN TWITTER?
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?