Middle
Kubernetes-də Deployment və DaemonSet arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Deployment Podların ehtiyac olunan sayını təmin edən və avtomatik miqyaslandırma ilə idarə edən bir qrupunu idarə edir. Əksər stateless tətbiqlər üçün uyğundur.
DaemonSet, klasterdəki hər bir nodda (və ya selektor əsasında müəyyən edilmiş nodların alt qismində) Podun nüsxəsinin işlədiyini təmin edir. Bu, arxa plan tapşırıqları üçün, məsələn, logların toplanması və ya monitorinq üçün istifadə olunur.
Əsas fərqlər bunlardır:
| Xüsusiyyət | Deployment | DaemonSet |
|---|---|---|
| Məqsəd | Təyin olunmuş Pod nüsxələrinin saxlanması | Hər nodda (və ya alt qismində) bir Pod işlətmək |
| Pod sayı | replicas parametri ilə idarə olunur |
Nodeların sayı ilə müəyyən edilir |
| Miqyaslandırma | Üfüqi, tələb əsasında | Nodeların əlavə və ya silinməsi ilə əlaqəli |
| İstifadə nümunələri | Veb serverlər, mikroservislər | Log toplayıcılar, monitorinq agentləri, şəbəkə demonları |
| Yeniləmə | Yavaş-yavaş (dövr edən yeniləmə) və ya əvəzləmə | Lazım olduqda, nodlarda avtomatik yenilənir |
Deployment üçün nümunə manifest:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3 # 3 nüsxə Pod işə salın
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
DaemonSet üçün nümunə manifest:
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: fluentbit-daemonset
spec:
selector:
matchLabels:
name: fluentbit # Pod seçici etiketi
template:
metadata:
labels:
name: fluentbit
spec:
containers:
- name: fluentbit
image: fluent/fluent-bit:1.8 # Log toplayıcı imici
# Əlavə konfiqurasiyalar log fayllarına giriş üçün və s.
tolerations:
# Master nodlarda işləmək üçün tez-tez lazımdır
- key: node-role.kubernetes.io/master
effect: NoSchedule