Añado un cuantos truquis kubectl

Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
This commit is contained in:
Manuel Vergara 2022-11-27 02:42:48 +01:00
parent 5abdf0520e
commit c3ed7d63ab

View File

@ -3,7 +3,10 @@
**Índice** **Índice**
- [Instalación kubectl](#instalación-kubectl) - [Instalación kubectl](#instalación-kubectl)
- [Ayuda de kubeclt](#ayuda-de-kubeclt) - [Ayuda de kubeclt](#ayuda-de-kubeclt)
- [Contenido por defecto de un clúster](#contenido-por-defecto-de-un-clúster)
- [Manejando contextos](#manejando-contextos)
- [Resultados de kubectl con colores: kubecolors](#resultados-de-kubectl-con-colores-kubecolors) - [Resultados de kubectl con colores: kubecolors](#resultados-de-kubectl-con-colores-kubecolors)
- [Posibles resultados listando](#posibles-resultados-listando)
--- ---
@ -114,10 +117,8 @@ Utilice "kubectl options" para obtener una lista de opciones globales de la lín
Una herramienta gráfica para kubectl es *[lens](https://k8slens.dev/)*., Muestra los contenedores de una manera clara y también tiene gráficas (memoria, CPU, etc). Una herramienta gráfica para kubectl es *[lens](https://k8slens.dev/)*., Muestra los contenedores de una manera clara y también tiene gráficas (memoria, CPU, etc).
Para mostrar los contextos que están en el fichero kubeconfig o el archivo de configuración de kubectl
```shell ## Contenido por defecto de un clúster
kubectl config get-contexts
```
Para mostrar los namespaces: Para mostrar los namespaces:
```shell ```shell
@ -152,6 +153,39 @@ Inmediatamente muestro los pods y se puede ver como lo está creando de nuevo.
El pod es nuevo, tiene otro hash. Así que esto asegura que siempre estén el mismo número de pods. El pod es nuevo, tiene otro hash. Así que esto asegura que siempre estén el mismo número de pods.
## Manejando contextos
Para mostrar los contextos que están en el fichero kubeconfig o el archivo de configuración de kubectl
```shell
kubectl config get-contexts
```
Para ver más detalles
```shell
kubectl config view
```
Para ver el contexto actual
```shell
kubectl config current-context
```
Para usar un context ya introducido
```shell
kubectl config use-context Nombre-clúster
```
Introducir un contexto
```shell
kubectl config set-credentials kubeuser/foo.kubernetes.com --username=kubeuser --password=kubepassword
```
Guardar permanentemente un namespace para todos los comandos kubectl posteriores en ese contexto.
```shell
kubectl config set-context --current --namespace=ggckad-s2
```
Borrar el usuario foo
```shell
kubectl config unset users.foo
```
## Resultados de kubectl con colores: kubecolors ## Resultados de kubectl con colores: kubecolors
Para verlo con colores se puede instalar el plugin de kubectl que se llama *[kubecolors](https://github.com/hidetatz/kubecolor)* Para verlo con colores se puede instalar el plugin de kubectl que se llama *[kubecolors](https://github.com/hidetatz/kubecolor)*
@ -177,6 +211,36 @@ alias kubectl="kubecolor"
``` ```
![](../img/get-nodes-color.png) ![](../img/get-nodes-color.png)
## Posibles resultados listando
Podemos ver los eventos
Con la opción `--watch` podremos mantener el listado que pidamos en stream, se actualizará cada n segundos. Si además introducimos `--output-watch-events` veremos los eventos del pod. `-A` es para seleccionarlos todos.
```shell
k get pods --watch --output-watch-events -A
```
Se puede seleccionar eventos según un tipo de resultado. Por ejemplo, para seleccionar los que tengan de tipo `Warning`.
```shell
k get events -w --field-selector=type=Warning -A
```
Podemos ver las variables de entorno de un pod con el siguiente comando
```shell
kubectl -n main set env pod/nombre-del-pod --list
```
Se verán las variables seteadas en el manfiesto y las que tiene el pod por otros mecanismos.
Podemos ver un listado ordenado de los pods por el uso de memoria y de CPU
```shell
kubectl top pods -A
```
Y podemos ordenarlos con `--sort-by`
```shell
kubectl top pods -A --sort-by='memory'
```
--- ---
Puedes seguir con la guía [02 Clústers](02-clusters.md). Puedes seguir con la guía [02 Clústers](02-clusters.md).