๐ŸŽฏ ืžื˜ืจืช ื”ืชืจื’ื•ืœ

ื‘ืžืขื‘ื“ื” ื–ื• ื ืขืžื™ืง ื‘ื”ื’ื“ืจืช Selectors ื‘ืชื•ืš Deployment, ื•ื ื‘ื™ืŸ:


ื—ืœืง 1 โ€” ื ื™ืงื•ื™ ืกื‘ื™ื‘ืช ื”ืขื‘ื•ื“ื”

ืœืคื ื™ ืฉืžืชื—ื™ืœื™ื, ื ื•ื•ื“ื ืฉืื™ืŸ ืžืฉืื‘ื™ื ืงื•ื“ืžื™ื ื‘ืชื™ืงื™ื™ื”:

kubectl delete -f .

ื›ืš ื ืชื—ื™ืœ ืžืžืฆื‘ ื ืงื™ ืœื—ืœื•ื˜ื™ืŸ.


ื—ืœืง 2 โ€” ื™ืฆื™ืจืช ืงื•ื‘ืฅ Deployment ื—ื“ืฉ

ื ื™ืฆื•ืจ ืงื•ื‘ืฅ ื—ื“ืฉ:

vi color-deploy.yaml

ืื ื—ื ื• ื”ื•ืœื›ื™ื ืœื”ื’ื“ื™ืจ Deployment ืฉื™ื ื”ืœ Pods ืขื Labels ืžืกื•ื™ืžื™ื โ€” ืื‘ืœ ื ื•ืกื™ืฃ ื’ื ืœื•ื’ื™ืงื” ืžืชืงื“ืžืช ื“ืจืš matchExpressions.


ื—ืœืง 3 โ€” ืงื•ื‘ืฅ ื”-Deployment ื”ืžืœื (ืขื ื“ื•ื’ืžืื•ืช ื›ื”ืขืจื•ืช)

ื”ื“ื‘ืง ืืช ื”ืงื•ื“ ื”ื‘ื:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: color-api-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: color-api
      environment: local
      tier: backend

    matchExpressions:
      # Active example:
      - key: managed
        operator: Exists

      # ============================
      # Additional examples (commented)
      # ============================

      # Example using NotIn:
      # - key: release
      #   operator: NotIn
      #   values:
      #     - canary

      # Example using In:
      # - key: tier
      #   operator: In
      #   values:
      #     - backend
      #     - cache

      # Example using DoesNotExist:
      # - key: deprecated
      #   operator: DoesNotExist

  template:
    metadata:
      labels:
        app: color-api
        environment: local
        tier: backend
        managed: deployment   # Required for the Exists operator to match
    spec:
      containers:
        - name: color-backend
          image: lironefitoussi/color-api:1.1.0
          ports:
            - containerPort: 80