【RocketChat】Kubernetes上にRocketChatをインストールしたらハマったことのメモ

構成
Kubernetes: 1.33
ワーカーノードのOS:Ubuntu24
rocketchatのHelm Version:6.25.2
https://artifacthub.io/packages/helm/rocketchat-server/rocketchat
1つ目。ArgoCD経由でhelm installしようとすると、pre-check用のPodの処理が終わらずに他のリソースが作成されない
https://github.com/RocketChat/Rocket.Chat/issues/30602
結局、helm installコマンドを打つことにした
2つ目。MongoDBのPodでcpuのavxが見当たらないということで落ちる
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
mongodb 04:53:12.85 INFO ==> Advertised Hostname: rocketchat-mongodb-0.rocketchat-mongodb-headless.rocketchat.svc.cluster.local mongodb 04:53:12.85 INFO ==> Advertised Port: 27017 mongodb 04:53:12.85 INFO ==> Data dir empty, checking if the replica set already exists MongoNetworkError: connect ECONNREFUSED 10.244.4.123:27017 mongodb 04:53:13.33 INFO ==> Pod name matches initial primary pod name, configuring node as a primary mongodb 04:53:13.35 mongodb 04:53:13.35 Welcome to the Bitnami mongodb container mongodb 04:53:13.35 Subscribe to project updates by watching https://github.com/bitnami/containers mongodb 04:53:13.36 Submit issues and feature requests at https://github.com/bitnami/containers/issues mongodb 04:53:13.36 mongodb 04:53:13.36 INFO ==> ** Starting MongoDB setup ** mongodb 04:53:13.38 INFO ==> Validating settings in MONGODB_* env vars... mongodb 04:53:13.61 INFO ==> Initializing MongoDB... mongodb 04:53:13.71 INFO ==> Writing keyfile for replica set authentication... mongodb 04:53:13.74 INFO ==> Deploying MongoDB from scratch... /opt/bitnami/scripts/libos.sh: line 346: 82 Illegal instruction (core dumped) "$@" > /dev/null 2>&1 stream closed EOF for rocketchat/rocketchat-mongodb-0 (mongodb) |
Podが動いているマシンでavxが対応している必要がある。
ぼくの環境の場合は、Proxmox上にワーカーノードを作っていてCPUアーキテクチャをx86-64-v2で指定していた。
x86-64-v4で指定し直したら行けた。 Node上でlscpu | grep avxでヒットすればいけるはず。
3つ目。LDAP認証して、email verificationは完了しているていで設定したい場合には、Mark Email for External Accounts Verifiedが有効でなければならない。
ちなみに、LDAP設定をした後に動機をすると、RocketChat側にユーザーが作成される。そのユーザーのEmailが認証済みとなっていればいい。
あと、なるべくベースDNは絞ったほうがいい。というのはフィルター設定のデフォルトが(objectclass=*)となっており、ユーザーオブジェクトでなくても何でもかんでもを同期してしまうのでRocketChat側のユーザーリストがすごいことになってしまうため。objectclassを正しく指定すればそれでもいい。
おまけ。values.yaml一式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
mongodb: enabled: true auth: passwords: - rocketchat rootPassword: rocketchatroot persistence: storageClass: cephfs # accessMode: ReadWriteMany size: 20Gi persistence: storageClass: cephfs # accessMode: ReadWriteMany size: 30Gi microservices: enabled: false host: rocketchat.vamdemic.net ingress: enabled: true ingressClassName: nginx annotations: # cert-manager.io/cluster-issuer: production-cert-issuer # Replace with your ClusterIssuer name tls: - secretName: nextcloud-tls-secret hosts: - rocketchat.vamdemic.net # Replace with your Rocket.Chat domain |