Kubernetes etiquetas
Todo aquel que trabaja ya en la nube sabe que las etiquetas son parte fundamental de la administracion de la nube, aqui mostramos como trabajr con etiquetas en kubernetes
Requerimientos
Teber instalado y ejecutandose
- docker
- minikube
- kubectl
Configuracion
Para una mejor administración es podemos hacer el uso de etiquetas, consideremos los siguientes despliegues
deployment-app-one.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
apiVersion: apps/v1
kind: Deployment
metadata:
name: despliegue-etiquetas
annotations:
kubernetes.io/description: "App del curso de K8s"
a8r.io/owner: "alvarogonzalez"
labels:
app: aplicacion-etiquetas
environment: production
app.kubernetes.io/name: etiquetas
client: poison
spec:
replicas: 6
selector:
matchLabels:
app: aplicacion-etiquetas
environment: production
template:
metadata:
labels:
app: aplicacion-etiquetas
environment: production
spec:
containers:
- name: nginx
image: nginx:1.20-alpine
ports:
- containerPort: 80
minReadySeconds: 5
revisionHistoryLimit: 5
progressDeadlineSeconds: 100
deployment-app-two.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
apiVersion: apps/v1
kind: Deployment
metadata:
name: despliegue-etiquetas-dev
annotations:
kubernetes.io/description: "App del curso de K8s"
a8r.io/owner: "juanperez"
labels:
app: aplicacion-etiquetas
environment: development
app.kubernetes.io/name: etiquetas
client: poison
spec:
replicas: 1
selector:
matchLabels:
app: aplicacion-etiquetas
environment: development
template:
metadata:
labels:
app: aplicacion-etiquetas
environment: development
spec:
containers:
- name: nginx
image: nginx:1.20-alpine
ports:
- containerPort: 80
minReadySeconds: 5
revisionHistoryLimit: 5
progressDeadlineSeconds: 100
Ejecucion
- Ejecutar los dos deployments
1 2
$ kubectl apply -f deployment-app-one.yaml $ deployment-app-two.yaml
- obtener los despliegues del cliente poison
1
$ kubectl get deployments --selector client=poison
- Obtener los pods del entorno development
1
$ kubectl get pods --selector environment=development
Esta entrada está licenciada bajo
CC BY 4.0
por el autor.