Sobes.tech
Junior

Лейблҳо чистанд?

sobes.tech AI

Ҷавоб аз AI

Лейблҳо (Labels) дар Kubernetes ҷуфтҳои калид/қимат мебошанд, ки ба объектҳо (масалан, Podҳо, Serviceҳо, Deploymentҳо) пайваст карда мешаванд. Онҳо барои ташкил ва интихоби зергурӯҳҳои объектҳо истифода мешаванд. Лейблҳо маънои дохилӣ барои Kubernetes надоранд, аммо барои корбарон барои шенасоии ва гурӯҳбандӣ муҳим мебошанд.

Маслиҳатҳои истифода:

  • Таъйини муҳит: environment: production, environment: development
  • Шенасоии барнома: app: my-web-app
  • Таъйини версия: version: v1.2.3
  • Шенасоии сатҳи хизматрасонӣ: tier: frontend, tier: backend

Селекторҳои лейбл (Label Selectors) дар дархостҳои API барои интихоби гурӯҳҳои объектҳо бар асоси лейблҳои онҳо истифода мешаванд. Масалан, Service метавонад селектори лейблро барои равон кардани трафик танҳо ба Podҳо бо лейблҳои муайян истифода барад.

Маслиҳатҳои селектор:

  • environment=production: Ҳама объектҳоро интихоб мекунад, ки лейбли environment бо арзиши production доранд.
  • app in (my-web-app, another-app): Объектҳоро интихоб мекунад, ки лейбли app бо арзиши my-web-app ё another-app дорад.
  • !environment: Объектҳоро интихоб мекунад, ки лейбли environment надоранд.
apiVersion: v1
kind: Pod
metadata:
  name: my-app-pod
  labels: # Лейблҳо, ки ба Pod татбиқ шудаанд
    app: my-app
    tier: frontend
    environment: development
spec:
  containers:
  - name: my-app-container
    image: my-app-image:latest
apiVersion: v1
kind: Service
metadata:
  name: my-app-service
spec:
  selector: # Селектор лейбл барои интихоби Podҳо
    app: my-app
    tier: frontend
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8080