Open14

Zabbixをk8s上にHelmで上げる

k8shirok8shiro
 Warning  FailedScheduling  7m    default-scheduler  0/3 nodes are available: 3 pod has unbound immediate PersistentVolumeClaims

DB用にPersistentVolume用意しないと動かない。。。

k8shirok8shiro

nfs作る。クラスタ外にdockerでつくれるかやってみる。

k8shirok8shiro

external provisionersを用意すればよいのかと思っていたが違うのか?

https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner

で構築してみたけどうまくいかない

k8shirok8shiro

うまくいった

helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/

helm show values nfs-subdir-external-provisioner/nfs-subdir-external-provisioner > nfs-subdir-external-provisioner.yaml

で作ったyamlを以下のように編集(編集したとこだけ)

nfs:
  server: <nfsのIP> # **********ここ*****
  path: / # **********ここ*****
  mountOptions:
  volumeName: nfs-subdir-external-provisioner-root
  # Reclaim policy for the main nfs volume
  reclaimPolicy: Retain

storageClass:
  create: true

  # Set a provisioner name. If unset, a name will be generated.
  # provisionerName:

  # Set StorageClass as the default StorageClass
  # Ignored if storageClass.create is false
  defaultClass: true # **********ここ*****

インストール

helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner -f nfs-subdir-external-provisioner.yaml -n monitoring
k8shirok8shiro

あとはZabbixのHelmを適用すれば上がってくるはず。
一回失敗したときに作られたzabbixのpvcを手動で削除する必要があった。

Helmのvalueはwebのservice.typeをLoadBalancerに変更した。

k8shirok8shiro

zabbix-proxyをLoadBalancerにしてもLoadBalancerにならないでClusterIP のままだったので、enabled:falseに戻す。

zabbix-server をLoadBalancerに変更

k8shirok8shiro

zabbixのimageを6.0にする
上のnfs-subdir-external-provisioner.yamlのimageのtagを編集。

ubuntu-5.4.6のところをcentos-6.0-latestに変更

さらにpostgresqlの設定に以下を追加

postgresql:
  image:
    # -- Zabbix server Docker image name
    repository: postgres
    # -- Tag of Docker image of Zabbix server
    tag: 14.3

これはデフォルトで上がるpostgresのバージョンが古いため6.0でサポートしないらしくzabbix-serverが起動しないため。