kubectl
Es una herramienta para administrar kubernetes (k8) por la terminal, y es parte del proyecto.
Para facilitar la escritura del comando en la terminal, le asigno un alias en .bash_profile para ser llamado por la letra k en vez de usar el nombre del comando completo, lo hago de la siguiente forma:
| |
Configuración
Muestra la configuración del comando, lo que esta en ~/.kube/config.
| |
Lista los cluster que están configurados:
| |
Renombre un cluster:
| |
Define temporalmente un cluster a usar:
| |
Muestra la información del cluster seleccionado:
| |
Definir un namespace por defecto:
| |
Note
Si no define un namespace por defecto, deberá especificarlo cada vez que ejecuta el comando de la siguiente forma:
--namespace demoo-n demo.
Manifiestos
Si queremos aplicar un manifiesto en k8 que esta definido en el fichero api.yaml por ejemplo, tenemos los siguientes comandos:
Para crear los recursos:
| |
Para actualizar el recurso:
| |
Para eliminar el recurso:
| |
Namespaces
Listar todos los namespaces del cluster:
| |
Crear un nuevo namespace llamado demo:
| |
Eliminar un namespace llamado demo:
| |
Warning
NO USAR
--all, borra todos los namespaces.
Escalar y Desescalar
Solo debe cambiar el número definido en --replicas=3 al deseado.
| |
Para conocer los HPA disponibles:
| |
Definir el minimo y maximo del HPA:
| |
Reiniciar
| |
Logs
| |
Connect
| |
Hay distribuciones que no tienen /bin/bash y hay que usar /bin/sh.
Desplegar
Cómo ejecutar un pod de una imagen cualquiera en el cluster, muy útil para depurar.
| |
Describir
| |
Eliminar
| |
ConfigMap
| |
Volumenes
Lista los volumenes persistentes
| |
Containers
Un pod puede estar ejecutando uno o varios contenedores, lo puedes describir escribiendo:
| |
Para poder ver los logs de un determinado contenedor usando -c container_name, escribir:
| |
Secret
Para conocer o listar los secrets:
| |
Ver el detalle del secret:
| |
Para ver el contenido del secret:
| |
Decodificar un valor del secret:
| |
Obtener de forma directa el valor y decodificarlo:
| |
Job/Cronjob
Ejecutar un job de forma manual, excelente para probar:
| |