Saltar al contenido principal

Kubectl y Manifiestos de Kubernetes

Por debajo de todas las acciones de kubernetes, lo que el motor entiende, son archivos manifiesto que definen el tipo de cada elemento.

Cuando se coge cierta experiencia se dejan de usar comandos para usar manifiestos y poder aplicar varios a la vez, haciendo el proceso menos tedioso.

Definir un pod en un manifiesto

Creamos la definición de un pod de prueba que escribirá “Hello world” cada hora:

apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
labels:
app: myapp
spec:
containers:
- name: myapp-container
image: busybox
command: ['sh', '-c', 'echo Hello World!; sleep 3600']

Luego podríamos crear el elemento con el comando:

kubectl apply -f pods.yaml

También podríamos eliminarlo usando el manifiesto con el comando:

kubectl deletec-f pods.yaml

Obtener el manifiesto de un pod

kubectl get pods <nombre pod> -o <formato>

Existen varios formatos de salida pero los más comunes son yaml (el usado nativamente por kubernetes), json, name, go-template (para customizaciones)... https://kubernetes.io/docs/reference/kubectl/overview/#custom-columns

Labels

Podemos usar etiquetas para filtrar recursos en proyectos de cierto tamaño. Por ejemplo, separando frontend de backend:

apiVersion: v1
kind: Pod
metadata:
name: podtest2
labels:
app: front
env: dev
spec:
containers:
- name: cont1
image: nginx:alpine

Volver al índice

X

Graph View