21 czerwca 2022
Konfiguracja zabbix-agent w Kubernetes
Udało mi się utworzyć działają konfiguracje poda zabbix agenta dla Kubernetesa. Oczywiście jest to bardzo indywidualny przypadek i na pewno nie do użycia 1:1 na innym środowisku. Jednak to działa i zostawiam dla inspiracji.
Mi najwięcej problemu przysporzyło użycie własnego pliku konfiguracyjnego. Okazało się ze oryginalny plik konfiguracyjny /etc/zabbix/zabbix_agentd.conf jest dynamicznie tworzony i nie było możliwości nadpisania go tym z volumenu, dlatego rozwiązaniem było wrzucenie swojego konfiga do includowanego podkatalogu /etc/zabbix/zabbix_agentd.d/
apiVersion: apps/v1 kind: DaemonSet metadata: name: zabbix-agent namespace: default spec: selector: matchLabels: app: zabbix-agent template: metadata: labels: app: zabbix-agent spec: tolerations: - key: node-role.kubernetes.io/gitops effect: NoSchedule operator: Exists hostNetwork: true hostPID: true containers: - name: zabbix-agent image: registry.gitlab.com/<moje>/devops/images/zabbix-agent:0.0.1 securityContext: privileged: true volumeMounts: - name: agent-conf mountPath: /etc/zabbix/zabbix_agentd.d readOnly: false imagePullSecrets: - name: zabbix-agent-secret volumes: - name: agent-conf configMap: name: zabbix-agent-config --- apiVersion: v1 kind: ConfigMap metadata: name: zabbix-agent-config namespace: default data: zabbix_agentd.conf: | LogFile=/dev/stdout LogFileSize=0 Server=10.10.0.0/16 Timeout=20