Middle
Kāda ir atšķirība starp Deployment un DaemonSet Kubernetes?
sobes.tech AI
Atbilde no AI
Deployment pārvalda Pod kopiju kopumu, nodrošinot to nepieciešamo skaitu un automātisko mērogošanu. Tas ir piemērots lielākajai daļai stateless lietojumprogrammu.
DaemonSet nodrošina, ka katrā mezglā (vai mezglu apakškopā, kas noteikts ar selektoru) tiks palaists Pod kopija. To izmanto fonu uzdevumiem, piemēram, žurnālu vākšanai vai uzraudzībai.
Šeit ir galvenās atšķirības:
| Raksturlielums | Deployment | DaemonSet |
|---|---|---|
| Mērķis | Saglabāt noteiktu Pod repliku skaitu | Palaist vienu Pod katrā mezglā (vai apakškopā) |
| Pod skaits | Kontrolē ar replicas parametru |
Nosaka mezglu skaits |
| Mērogošana | Horizontāla, pēc pieprasījuma | Saistīta ar mezglu pievienošanu/noņemšanu |
| Piemēri lietošanai | Tīmekļa serveri, mikrosistēmas | Žurnālu vācēji, uzraudzības aģenti, tīkla demoni |
| Atjaunināšana | Pakāpeniska (rolling update) vai aizvietošana | Automātiski atjauninās mezglos pēc nepieciešamības |
Deployment piemēra manifests:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3 # Palaist 3 kopijas Pod
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
DaemonSet piemēra manifests:
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: fluentbit-daemonset
spec:
selector:
matchLabels:
name: fluentbit # Pod selektora marķējums
template:
metadata:
labels:
name: fluentbit
spec:
containers:
- name: fluentbit
image: fluent/fluent-bit:1.8 # Žurnālu vācēja attēls
# Papildu iestatījumi piekļuvei pie žurnālu failiem un citi
tolerations:
# Bieži nepieciešams darbam ar galveno mezglu
- key: node-role.kubernetes.io/master
effect: NoSchedule