[ZBX-21407] Problem with Image Container Zabbix for deploy in Kubernetes Created: 2022 Jul 28  Updated: 2022 Aug 17

Status: Need info
Project: ZABBIX BUGS AND ISSUES
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Incident report Priority: Trivial
Reporter: CTL Information Technology Assignee: Zabbix Support Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File deploy-zabbixv2.yml    

 Comments   
Comment by Alexey Pustovalov [ 2022 Jul 28 ]

what is the problem?

Comment by CTL Information Technology [ 2022 Jul 29 ]

 
This is what I keep getting:

CrashLoopBackOff

{{}}

the problem is when trying to deploy.{}

{{}}

{{}}

 

Comment by Alexey Pustovalov [ 2022 Jul 29 ]

what is the reason of CrashLoopBackOff? Please share full technical information.

Comment by CTL Information Technology [ 2022 Aug 03 ]

The environment is being created to provide all the error information.

In the meantime, could you provide Zabbix implementation documentation in Kuberntes by yaml file?

Comment by Alexey Pustovalov [ 2022 Aug 03 ]

We do not have such documentation. Only this one: https://github.com/zabbix/zabbix-docker/blob/6.2/kubernetes.yaml as example.

Comment by CTL Information Technology [ 2022 Aug 03 ]

If that we use as a base to create the following file that I attach, so you can review it.

And if necessary we make a call.

Thanks.

deploy-zabbixv2.yml

Comment by Alexey Pustovalov [ 2022 Aug 03 ]

I just want to know what event was reason of CrashLoopBackOff Could you share it?

Comment by CTL Information Technology [ 2022 Aug 05 ]

kind: Event
apiVersion: v1
metadata:
name: zabbix-db-vmwqj.17085185f359d2bf
namespace: default
uid: 4d39a881-efdc-4b1e-b2a4-6215af4055eb
resourceVersion: '13660609'
creationTimestamp: '2022-08-05T02:21:38Z'
managedFields:

  • manager: kubelet
    operation: Update
    apiVersion: v1
    time: '2022-08-05T02:21:38Z'
    fieldsType: FieldsV1
    fieldsV1:
    f:count: {}
    f:firstTimestamp: {}
    f:involvedObject: {}
    f:lastTimestamp: {}
    f:message: {}
    f:reason: {}
    f:source:
    f:component: {}
    f:host: {}
    f:type: {}
    involvedObject:
    kind: Pod
    namespace: default
    name: zabbix-db-vmwqj
    uid: bea8b60a-39c5-4278-b904-daa1f5e1cadc
    apiVersion: v1
    resourceVersion: '13503212'
    fieldPath: spec.containers{zabbix-db}
    reason: BackOff
    message: Back-off restarting failed container
    source:
    component: kubelet
    host: aks-agentpool-15178827-vmss00000b
    firstTimestamp: '2022-08-05T02:21:38Z'
    lastTimestamp: '2022-08-05T13:15:53Z'
    count: 3015
    type: Warning
    eventTime: null
    reportingComponent: ''
    reportingInstance: ''
Comment by CTL Information Technology [ 2022 Aug 05 ]

I send the event of the error

Comment by Alexey Pustovalov [ 2022 Aug 11 ]

Attached information does not contain any info about the reason. Please share the exact event about the reason: https://www.containiq.com/post/kubernetes-crashloopbackoff

Comment by CTL Information Technology [ 2022 Aug 11 ]

We don't have any other events related to the crashloopbackoff.

I would like to make a call to review the cluster live.

Comment by Alexey Pustovalov [ 2022 Aug 11 ]

I shared you link how to find the event caused crash loopback event, if you can not find it I have to close the issue as required commercial support.

Comment by CTL Information Technology [ 2022 Aug 11 ]

Soon I will be sharing the .

Tks!

Comment by CTL Information Technology [ 2022 Aug 11 ]
PS /home/mariano> kubectl get pods
NAME                  READY   STATUS             RESTARTS          AGE
zabbix-db-vmwqj       0/1     CrashLoopBackOff   1878 (2m9s ago)   6d15h
zabbix-server-ct6qp   1/1     Running            0                 6d15h
zabbix-web-d5fgt      1/1     Running            0                 6d15h
zabbix-web-gltzb      1/1     Running            0                 6d15h
zabbix-web-nmqd4      1/1     Running            0                 6d15h
PS /home/mariano> kubectl describe pod zabbix-db-vmwqj
Name:         zabbix-db-vmwqj
Namespace:    default
Priority:     0
Node:         aks-agentpool-15178827-vmss00000b/10.241.0.4
Start Time:   Fri, 05 Aug 2022 02:20:40 +0000
Labels:       app=zabbix
              name=zabbix-db
              tier=zabbix-db
Annotations:  <none>
Status:       Running
IP:           10.241.0.11
IPs:
  IP:           10.241.0.11
Controlled By:  ReplicationController/zabbix-db
Containers:
  zabbix-db:
    Container ID:   containerd://6078db27ecc5b0afc3e70b3abe5135ac90c7b1cf24eb5736339a2102161736ce
    Image:          postgres:alpine3.16
    Image ID:       docker.io/library/postgres@sha256:4ea11d3110e47a360ace22bbca73b2ebaa6dd2eec289e0b6949e4d96e2d4ba4c
    Port:           3306/TCP
    Host Port:      0/TCP
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Thu, 11 Aug 2022 18:10:10 +0000
      Finished:     Thu, 11 Aug 2022 18:10:10 +0000
    Ready:          False
    Restart Count:  1878
    Environment:
      PGDB_USER:  zabbix
      PGDB_PASS:  my_password
    Mounts:
      /var/lib/pgsql from zabbix-db-storage (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-sf5j8 (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             False 
  ContainersReady   False 
  PodScheduled      True 
Volumes:
  zabbix-db-storage:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:     Memory
    SizeLimit:  <unset>
  kube-api-access-sf5j8:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason   Age                       From     Message
  ----     ------   ----                      ----     -------
  Warning  BackOff  106s (x44122 over 6d15h)  kubelet  Back-off restarting failed container
PS /home/mariano> 
Comment by Alexey Pustovalov [ 2022 Aug 11 ]

Thank you! The section about PostgreSQL database is not correct, looks like you just copied mysql and replaced with postgres:

      containers:
        - name: zabbix-db
          image: posgresql:14.2
          args:
           - postgresqld
           - --character-set-server=utf8
           - --collation-server=utf8_bin
           - --default-authentication-plugin=pssql_native_password
           - --require-secure-transport
           - --ssl-ca=/tmp/secrets/root-ca.pem
           - --ssl-cert=/tmp/secrets/server-cert.pem
           - --ssl-key=/tmp/secrets/server-key.pem
           - --tls-version=TLSv1.2,TLSv1.3
          ports:
          - containerPort: 3306
            name: mysql
          livenessProbe:
            exec:
              command: ["bash", "-c", "pssqladmin -u root -p$PSSQL_ROOT_PASSWORD ping"]
            timeoutSeconds: 3
            failureThreshold: 3
            periodSeconds: 10
          startupProbe:
            exec:
              command: ["bash", "-c", "pssql -u root -p$PSSQL_ROOT_PASSWORD -e 'SELECT 1'"]
            initialDelaySeconds: 5
            periodSeconds: 5
            timeoutSeconds: 3
            failureThreshold: 30
          env:
          - name: PGSQL_USER
            valueFrom:
             secretKeyRef:
              name: db-secret
              key: db-zbx-user
          - name: PGSQL_PASSWORD
            valueFrom:
             secretKeyRef:
              name: db-secret
              key: db-zbx-pass
          - name: PGSQL_ROOT_PASSWORD
            valueFrom:
             secretKeyRef:
              name: db-secret
              key: db-root-pass
          - name: PGSQL_DATABASE
            value: "zabbix"
          volumeMounts:
           - mountPath: "/var/lib/mysql"
             name: zabbix-mysql-data
             readOnly: false
           - mountPath: "/tmp/secrets"
             name: mysql-tls-certs
             readOnly: true

PostgreSQL config is completely different. For example, it does not use mysql-tls-certs at all...

Comment by CTL Information Technology [ 2022 Aug 17 ]

If a template is used that is mysql and is replaced by posgress.

I will be testing these modifications and I will tell you the results.

Thanks.

Comment by Alexey Pustovalov [ 2022 Aug 17 ]

Currently we do not have plans to provide the template for PostgreSQL. Please check official PostgreSQL recommendations regarding template.

Generated at Wed Apr 30 06:24:31 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.