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 demo
o-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:
|
|