Junior
Селектор чист?
sobes.tech AI
Ҷавоб аз AI
Селектор дар контексти Kubernetes (ва танҳо) — ин тамға (ё гурӯҳи тамғаҳо), ки барои интихоби (филтр кардан) баъзе захираҳо истифода мешавад. Он имкон медиҳад, ки захираҳоро бар асоси метаданашон пайваст кардан мумкин бошад.
Истифодаи селекторҳо дар Kubernetes:
- Pod Selector дар Deployment/ReplicaSet: муайян мекунад, ки кадом подҳо бо назорати ин контролер идора мешаванд.
- Service Selector: нишон медиҳад, ки кадом подҳо ба трафик, ки ба хизмат меравад, ҷавобгӯ хоҳанд буд.
- Node Selector дар Pod Specification: муайян мекунад, ки кадом нодҳо метавонанд подро дар он ҷо оғоз кунанд.
- NetworkPolicy Selector: барои татбиқи сиёсати шабакавӣ ба баъзе подҳо ё фазоҳои ном истифода мешавад.
- ResourceQuota Scope Selector: метавонад квотҳои захираҳоро барои объектҳои муайян маҳдуд кунад.
Масали Pod Selector дар YAML барои Service:
// Тартиби хизмат
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app // Селектор: хизматрасонӣ трафикро ба подҳо бо тамғаи app: my-app равона мекунад
ports:
- protocol: TCP
port: 80
targetPort: 8080
Масали подҳо бо тамғаҳои мувофиқ:
// Тартиби под 1
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod-1
labels: // Подҳо бо ин тамғаҳо интихоб мешаванд
app: my-app
version: v1
spec:
containers:
- name: my-container
image: my-image
// Тартиби под 2 (ҳам интихоб мешавад)
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod-2
labels:
app: my-app
env: production
spec:
containers:
- name: my-container
image: my-image
Селекторҳо ду навъ ҳастанд:
- Баробарӣ (Equality-based): асос ёфта дар мувофиқати дақиқи калид ва/ё арзиш. Намудҳои операторҳо:
=,==,!=. - Бар асоси маҷмӯъ (Set-based): истифода мебаранд маҷмӯъҳои арзишҳо. Намудҳои операторҳо:
in,notin,exists(санҷиши мавҷудияти калид),!exists(санҷиши нобудии калид).
Масали селектори Set-based:
// Интихоб кардани подҳо бо тамғаи "environment" бо арзиши "production" ё "staging"
selector:
matchLabels:
app: frontend
matchExpressions: // Ифодаи асоси маҷмӯъ
- key: environment
operator: In
values:
- production
- staging
// Интихоб кардани подҳо, ки тамғаи "beta" надоранд
selector:
matchExpressions:
- key: beta
operator: DoesNotExist
Аз ин рӯ, селекторҳо асосии механизм дар Kubernetes барои таъмин кардани пайвандҳо ва идоракунии захираҳо бар асоси метаданашон мебошанд.