90 lines
2.8 KiB
YAML
90 lines
2.8 KiB
YAML
# Applique aussi beszel-namespace.yml et beszel-agent-secret.yml (avant celui-ci).
|
|
apiVersion: apps/v1
|
|
kind: DaemonSet
|
|
metadata:
|
|
name: beszel-agent
|
|
namespace: monitoring
|
|
labels:
|
|
app: beszel-agent
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: beszel-agent
|
|
updateStrategy:
|
|
type: RollingUpdate
|
|
rollingUpdate:
|
|
maxUnavailable: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: beszel-agent
|
|
spec:
|
|
hostNetwork: true
|
|
dnsPolicy: ClusterFirstWithHostNet
|
|
tolerations:
|
|
- effect: NoSchedule
|
|
key: node-role.kubernetes.io/master
|
|
operator: Exists
|
|
- effect: NoSchedule
|
|
key: node-role.kubernetes.io/control-plane
|
|
operator: Exists
|
|
# Niveau pod : s'applique à tous les containers (ici un seul).
|
|
securityContext:
|
|
runAsNonRoot: true
|
|
runAsUser: 101
|
|
runAsGroup: 101
|
|
fsGroup: 101
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
containers:
|
|
- name: beszel-agent
|
|
image: henrygd/beszel-agent:latest
|
|
imagePullPolicy: Always
|
|
envFrom:
|
|
- secretRef:
|
|
name: beszel-agent-hub
|
|
env:
|
|
- name: LISTEN
|
|
value: "10002"
|
|
- name: SYSTEM_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.nodeName
|
|
volumeMounts:
|
|
- name: data
|
|
mountPath: /var/lib/beszel-agent
|
|
# Filet de sécurité pour readOnlyRootFilesystem : couvre d'éventuelles
|
|
# écritures temporaires (non documentées) sans réouvrir tout le rootfs.
|
|
- name: tmp
|
|
mountPath: /tmp
|
|
resources:
|
|
requests:
|
|
cpu: 10m
|
|
memory: 16Mi
|
|
limits:
|
|
cpu: 50m
|
|
memory: 32Mi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop: [ALL]
|
|
# Inféré (pas de doc officielle confirmant l'absence d'écriture
|
|
# ailleurs) : le seul chemin persistant documenté par le projet
|
|
# est /var/lib/beszel-agent (déjà monté ci-dessous), ce qui
|
|
# suggère que c'est le seul état écrit sur disque (ex. clé hôte
|
|
# SSH). À VÉRIFIER après rollout (kubectl logs -n monitoring
|
|
# -l app=beszel-agent) — si le pod crash-loop ou que le Hub ne
|
|
# voit plus l'agent, repasser cette valeur à false.
|
|
readOnlyRootFilesystem: true
|
|
volumes:
|
|
- name: data
|
|
hostPath:
|
|
path: /var/lib/beszel-agent
|
|
type: DirectoryOrCreate
|
|
- name: tmp
|
|
emptyDir: {}
|
|
# - name: docker-sock
|
|
# hostPath:
|
|
# path: /var/run/docker.sock
|
|
# type: Socket
|