Entrada

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

  1. Ejecutar los dos deployments
    1
    2
    
    $ kubectl apply -f deployment-app-one.yaml
    $ deployment-app-two.yaml
    
  2. obtener los despliegues del cliente poison
    1
    
    $ kubectl get deployments --selector client=poison
    
  3. 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.