Sobes.tech
Junior

Ի՞նչ են լեյբլները։

sobes.tech AI

Պատասխան AI-ից

Kubernetes- ում Լեյբլները (Labels) բանալի/արժեք զույգեր են, որոնք կցվում են օբյեկտներին (օրինակ, 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