Problem description:
I was following the instruction of https://github.com/cetic/helm-zabbix/tree/3.1.1#installation to install zabbix with helm in k8s with below commands but failed to visit the web page of zabbix with the error shown in the below pic
helm repo add cetic https://cetic.github.io/helm-charts
helm repo update
helm show values cetic/zabbix > /Users/xiaojueguan/code/AMD/workplace/docs/infra/zabbix/zabbix_values.yaml
helm upgrade --install zabbix cetic/zabbix \
--dependency-update \
--create-namespace \
-f /Users/xiaojueguan/code/AMD/workplace/docs/infra/zabbix/zabbix_values.yaml -n monitoring --debug
kubectl get pods -n monitoring
Things I tried
login into the postgresql server and set the mandatory db version to 6000000 but failed
k get secrets zabbixdb-pguser-zabbix --template={{.data.password}} | base64 -D
psql -h 10.244.0.151 -U zabbix
use zabbix
update dbversion set mandatory=6030000
flush privileges
change the version of postgresql from 14.4 to 13.8 but no luck
Add some update
In the logic of below, we can see that version is found in the db and the other is defined in the code. As the code side we can not change, maybe we can work on the db side.
- maybe the field can be changed
- maybe we need use postgresq with certain version
https://github1s.com/zabbix/zabbix/blob/release/6.2/ui/include/classes/db/DbBackend.php#L117-L139
/**
* Check if connected database version matches with frontend version.
*
* @return bool
*/
public function checkDbVersion() {
if (!$this->checkDbVersionTable()) {
return false;
}
$version = DBfetch(DBselect('SELECT dv.mandatory FROM dbversion dv'));
if ($version['mandatory'] != ZABBIX_DB_VERSION) {
$this->setError(_s('The Zabbix database version does not match current requirements. Your database version: %1$s. Required version: %2$s. Please contact your system administrator.',
$version['mandatory'], ZABBIX_DB_VERSION
));
return false;
}
return true;
}
https://github1s.com/zabbix/zabbix/blob/release/6.2/ui/include/defines.inc.php#L25
define('ZABBIX_DB_VERSION', 6020000);
