## nameOverride -- Override name of app nameOverride: "" ## fullnameOverride -- Override the full qualified app name fullnameOverride: "" ## kube-state-metrics.enabled -- If true, deploys the kube-state-metrics deployment kube-state-metrics: enabled: true ## Service account for Kubernetes API rbac: ## rbac.create Specifies whether the RBAC resources should be created create: true additionalRulesForClusterRole: [] ## - apiGroups: [ "" ] ## resources: ## - nodes/proxy ## verbs: [ "get", "list", "watch" ] serviceAccount: ## serviceAccount.create Specifies whether a service account should be created create: true ## serviceAccount.name The name of the service account to use. If not set, the name is generated using the fullname template name: zabbix-service-account ## **Zabbix proxy** configurations zabbixProxy: ## Enable use of **Zabbix proxy** enabled: true containerSecurityContext: {} ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container resources: {} image: ## Zabbix proxy Docker image name repository: zabbix/zabbix-proxy-sqlite3 ## Tag of Docker image of Zabbix proxy tag: alpine-7.2.10 pullPolicy: IfNotPresent ## List of dockerconfig secrets names to use when pulling images. Secrets must be manually created in the namespace. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ## https://kubernetes.io/docs/concepts/containers/images/#using-a-private-registry pullSecrets: [] env: ## The variable allows to switch Zabbix proxy mode. By default, value is 0 - active proxy. Allowed values are 0 and 1. - name: ZBX_PROXYMODE value: 0 ## Zabbix proxy hostname - name: ZBX_HOSTNAME value: zabbix-proxy ## Zabbix server host ## If ProxyMode is set to active mode: ## IP address or DNS name of Zabbix server to get configuration data from and send data to. ## If ProxyMode is set to passive mode: ## List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix server. Incoming connections will be accepted only from the addresses listed here. If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally and '::/0' will allow any IPv4 or IPv6 address. '0.0.0.0/0' can be used to allow any IPv4 address. ## Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com ## Note that since version 6.0 the variable ZBX_SERVER_PORT is not supported anymore. Instead, add a colon (:) followed by the port number to the end of ZBX_SERVER_HOST value. - name: ZBX_SERVER_HOST value: "127.0.0.1" ## The variable is used to specify debug level. By default, value is 3 - name: ZBX_DEBUGLEVEL value: 3 ## Cache size - name: ZBX_CACHESIZE value: 128M ## This variable enables communication with Zabbix Java gateway to collect Java related checks. By default, the value is false. If zabbixJavaGateway enable value is true. - name: ZBX_JAVAGATEWAY_ENABLE value: false ## This variable is specified amount of pre-forked instances of Java pollers. By default, value is 0. If zabbixJavaGateway enable value is 5. - name: ZBX_STARTJAVAPOLLERS value: 0 ## How often the proxy retrieves configuration data from Zabbix server in seconds. Active proxy parameter. Ignored for passive proxies. - name: ZBX_PROXYCONFIGFREQUENCY value: 10 ## List can be extended with other environment variables listed here: https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/proxy-sqlite3#other-variables ## For example: ## The variable is list of comma separated loadable Zabbix modules. ## - name: ZBX_LOADMODULE ## value : dummy1.so,dummy2.so ## The startupProbe, livenessProbe, readinessProbe variables ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ livenessProbe: enabled: true tcpSocket: port: zabbix-proxy initialDelaySeconds: 10 timeoutSeconds: 3 failureThreshold: 3 periodSeconds: 10 successThreshold: 1 readinessProbe: enabled: false tcpSocket: port: zabbix-proxy initialDelaySeconds: 10 timeoutSeconds: 3 failureThreshold: 3 periodSeconds: 10 successThreshold: 1 startupProbe: enabled: true tcpSocket: port: zabbix-proxy initialDelaySeconds: 30 timeoutSeconds: 3 failureThreshold: 5 periodSeconds: 10 successThreshold: 1 service: annotations: {} labels: {} ## Type of service for Zabbix proxy type: ClusterIP ## Port to expose service port: 10051 ## Port of application pod targetPort: 10051 ## Zabbix proxy Ingress externalIPs with optional path ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips ## Must be provided if ProxyMode is set to passive mode externalIPs: [] ## Loadbalancer IP ## Only use if service.type is "LoadBalancer" loadBalancerIP: "" loadBalancerSourceRanges: [] ## Node selector for Zabbix proxy nodeSelector: {} ## Tolerations configuration for Zabbix proxy tolerations: {} ## Affinity configuration for Zabbix proxy affinity: {} persistentVolume: ## If true, Zabbix proxy will create/use a Persistent Volume Claim ## enabled: false ## Zabbix proxy data Persistent Volume access modes ## Must match those of existing PV or dynamic provisioner ## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ ## accessModes: - ReadWriteOnce ## Zabbix proxy data Persistent Volume Claim annotations ## annotations: {} ## Zabbix proxy data Persistent Volume existing claim name ## Requires zabbixProxy.persistentVolume.enabled: true ## If defined, PVC must be created manually before volume will be bound existingClaim: "" ## Zabbix proxy data Persistent Volume mount root path ## mountPath: /data ## Zabbix proxy data Persistent Volume size ## size: 2Gi ## Zabbix proxy data Persistent Volume Storage Class ## If defined, storageClassName: ## If set to "-", storageClassName: "", which disables dynamic provisioning ## If undefined (the default) or set to null, no storageClassName spec is ## set, choosing the default provisioner. (gp2 on AWS, standard on ## GKE, AWS & OpenStack) ## storageClass: "-" ## Zabbix proxy data Persistent Volume Binding Mode ## If defined, volumeBindingMode: ## If undefined (the default) or set to null, no volumeBindingMode spec is ## set, choosing the default mode. ## volumeBindingMode: "" ## Subdirectory of Zabbix proxy data Persistent Volume to mount ## Useful if the volume's root directory is not empty ## subPath: "" ## **Zabbix agent** configurations zabbixAgent: ## Enable use of Zabbix agent enabled: true ## Set resource requests/limits for Zabbix agents resources: {} ## requests: ## cpu: 100m ## memory: 54Mi ## limits: ## cpu: 100m ## memory: 54Mi securityContext: {} # fsGroup: 65534 # runAsGroup: 65534 # runAsNonRoot: true # runAsUser: 65534 containerSecurityContext: {} ## capabilities: ## add: ## - SYS_TIME ## Expose the service to the host network hostNetwork: true # Specify dns configuration options for agent containers e.g ndots ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config dnsConfig: {} # options: # - name: ndots # value: "1" ## Share the host process ID namespace hostPID: true ## If true, agent pods mounts host / at /host/root ## hostRootFsMount: true extraHostVolumeMounts: [] ## - name: ## hostPath: ## mountPath: ## readOnly: true|false ## mountPropagation: None|HostToContainer|Bidirectional image: ## Zabbix agent Docker image name repository: zabbix/zabbix-agent2 ## Tag of Docker image of Zabbix agent tag: alpine-7.2.10 pullPolicy: IfNotPresent ## List of dockerconfig secrets names to use when pulling images. Secrets must be manually created in the namespace. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ## https://kubernetes.io/docs/concepts/containers/images/#using-a-private-registry pullSecrets: [] env: ## Zabbix server host - name: ZBX_SERVER_HOST value: 0.0.0.0/0 ## Zabbix server port - name: ZBX_SERVER_PORT value: 10051 ## This variable is boolean (true or false) and enables or disables feature of passive checks. By default, value is true - name: ZBX_PASSIVE_ALLOW value: true ## This variable is boolean (true or false) and enables or disables feature of active checks - name: ZBX_ACTIVE_ALLOW value: false ## The variable is used to specify debug level, from 0 to 5 - name: ZBX_DEBUGLEVEL value: 3 ## The variable is used to specify timeout for processing checks. By default, value is 4. - name: ZBX_TIMEOUT value: 4 ## List can be extended with other environment variables listed here: https://github.com/zabbix/zabbix-docker/tree/trunk/Dockerfiles/agent2/alpine#other-variables ## For example: ## The variable is comma separated list of allowed Zabbix server or proxy hosts for connections to Zabbix agent 2 container. You may specify port of Zabbix server or Zabbix proxy in such syntax: zabbix-server:10061,zabbix-proxy:10072 ## - name: ZBX_ACTIVESERVERS ## value: '' ## The variable is comma separated list of allowed Zabbix server or proxy hosts for connections to Zabbix agent 2 container. ## - name: ZBX_PASSIVESERVERS ## value: 0.0.0.0/0 ## The variable is list of comma separated loadable Zabbix modules. It works with volume /var/lib/zabbix/modules. ## - name: ZBX_LOADMODULE ## value: '' ## The startupProbe, livenessProbe, readinessProbe variables ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ livenessProbe: enabled: true tcpSocket: port: zabbix-agent initialDelaySeconds: 10 timeoutSeconds: 3 failureThreshold: 3 periodSeconds: 10 successThreshold: 1 readinessProbe: enabled: false tcpSocket: port: zabbix-agent initialDelaySeconds: 10 timeoutSeconds: 3 failureThreshold: 3 periodSeconds: 10 successThreshold: 1 startupProbe: enabled: true tcpSocket: port: zabbix-agent initialDelaySeconds: 10 periodSeconds: 5 timeoutSeconds: 3 failureThreshold: 5 ## Node selector for Agent. Only supports Linux. nodeSelector: kubernetes.io/os: linux ## Tolerations configuration tolerations: - effect: NoSchedule key: node-role.kubernetes.io/control-plane ## Affinity configuration affinity: {} serviceAccount: ## Specifies whether a ServiceAccount should be created create: true ## The name of the ServiceAccount to use. ## If not set and create is true, a name is generated using the fullname template name: zabbix-agent-service-account annotations: {} imagePullSecrets: [] automountServiceAccountToken: false service: type: ClusterIP port: 10050 targetPort: 10050 nodePort: 10050 portName: zabbix-agent listenOnAllInterfaces: true annotations: agent.zabbix/monitor: "true" rbac: ## If true, create & use RBAC resources ## create: true ## If true, create & use Pod Security Policy resources ## https://kubernetes.io/docs/concepts/policy/pod-security-policy/ ## PodSecurityPolicies disabled by default because they are deprecated in Kubernetes 1.21 and will be removed in Kubernetes 1.25. ## If you are using PodSecurityPolicies you can enable the previous behaviour by setting `rbac.pspEnabled: true` pspEnabled: false pspAnnotations: {} ## **Zabbix Java Gateway** configurations zabbixJavaGateway: ## Enable use of **Zabbix Java Gateway** enabled: false containerSecurityContext: {} ## Resource management for Pods and Containers. ## More details: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers resources: {} image: ## Zabbix Java Gateway Docker image name. repository: zabbix/zabbix-java-gateway ## Tag of Docker image of Zabbix Java Gateway Docker tag: alpine-7.2.10 pullPolicy: IfNotPresent ## List of dockerconfig secrets names to use when pulling images. Secrets must be manually created in the namespace. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ## https://kubernetes.io/docs/concepts/containers/images/#using-a-private-registry pullSecrets: [] env: ## This variable is specified amount of pollers. By default, value is 5 - name: ZBX_START_POLLERS value: 5 ## This variable is used to specify timeout for outgoing connections. By default, value is 3 - name: ZBX_TIMEOUT value: 3 ## This variable is used to specify log level. By default, value is info. Possible values: trace, debug, info, warn, error, all, off - name: ZBX_DEBUGLEVEL value: info ## List can be extended with other environment variables listed here: https://github.com/zabbix/zabbix-docker/tree/7.2/Dockerfiles/java-gateway/alpine ## The startupProbe, livenessProbe, readinessProbe variables ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ livenessProbe: enabled: true tcpSocket: port: zabbix-jmx initialDelaySeconds: 10 timeoutSeconds: 3 failureThreshold: 3 periodSeconds: 10 successThreshold: 1 readinessProbe: enabled: false tcpSocket: port: zabbix-jmx initialDelaySeconds: 10 timeoutSeconds: 3 failureThreshold: 3 periodSeconds: 10 successThreshold: 1 startupProbe: enabled: true tcpSocket: port: zabbix-jmx initialDelaySeconds: 30 timeoutSeconds: 3 failureThreshold: 5 periodSeconds: 10 successThreshold: 1 service: annotations: {} labels: {} ## Type of service for Zabbix Java Gateway type: ClusterIP ## Port to expose service port: 10052 externalIPs: [] ## Loadbalancer IP ## Only use if service.type is "LoadBalancer" loadBalancerIP: "" loadBalancerSourceRanges: [] loadBalancerClass: "" sessionAffinity: None ## Node selector for Zabbix Java Gateway nodeSelector: {} ## Tolerations configurations for Zabbix Java Gateway tolerations: {} ## Affinity configurations for Zabbix Java Gateway affinity: {}