Kubernetes theory
October 30, 2022
DaemonSet
Этот контроллер отвечает за размещение подов на каждой ноде кластера k8s. Ну или на те ноды, для которых выставлен нужный label.
Его удобно использовать для работы с логами на нодах кластера, мониторингом этих же нод, установки дополнительного ПО на ноды. Также довольно часто использется для создания подов-провизионеров для персистентных хранилищ.
cat <<EOF | kubectl apply -f -
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: fluentd-elasticsearch
namespace: kube-system
labels:
k8s-app: fluentd-logging
spec:
selector:
matchLabels:
name: fluentd-elasticsearch
template:
metadata:
labels:
name: fluentd-elasticsearch
spec:
tolerations:
# these tolerations are to have the daemonset runnable on control plane nodes
# remove them if your control plane nodes should not run pods
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule
- key: node-role.kubernetes.io/master
operator: Exists
effect: NoSchedule
containers:
- name: fluentd-elasticsearch
image: quay.io/fluentd_elasticsearch/fluentd:v2.5.2
resources:
limits:
memory: 200Mi
requests:
cpu: 100m
memory: 200Mi
volumeMounts:
- name: varlog
mountPath: /var/log
terminationGracePeriodSeconds: 30
volumes:
- name: varlog
hostPath:
path: /var/log
EOFkubectl get ds -A NAMESPACE NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE kube-system fluentd-elasticsearch 1 1 1 1 1 <none> 43m
Полезные ссылки.
https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
October 30, 2022, 09:26
0 views
0 reposts