zaki work log

作業ログやら生活ログやらなんやら

OpenShift Origin (OKD) 3.11 でHawkular Metricsがデプロイできました

zaki-hmkc.hatenablog.com

9月末にお手上げだったこの事象、解決してCassandra/Hawkular/Heapsterのデプロイができるようになってました。

bugzilla.redhat.com

朝起きてチェックしたらステータスがCLOSED CURRENTRELEASEになっていたので、もしかしてうまくいくか?と思って試したら、無事にRunningに。。

f:id:zaki-hmkc:20191122074349p:plain

中の人、ありがとうございますありがとうございます…

インベントリ

PVなし

NFSでPV作ろうとしたけど、なんかノード側でrpc-statd.serviceが起動できずにマウントできなかったので、とりあえずPV無し(emptydir)でやってみる。

[zaki@okd-master ~]$ sudo mount -t nfs -o rw okd-manager.esxi.jp-z.jp:/exports/nfs /mnt -v
mount.nfs: timeout set for Fri Nov 22 07:49:51 2019
mount.nfs: trying text-based options 'vers=4.1,addr=192.168.0.70,clientaddr=192.168.0.71'
mount.nfs: mount(2): No such file or directory
A dependency job for rpc-statd.service failed. See 'journalctl -xe' for details.

インベントリファイル(変更点)

emptydir用の設定サンプルは用意されてないけど、コメントに

If openshift_metrics_storage_kind is unset then metrics will be stored
in an EmptyDir volume and will be deleted when the cassandra pod terminates.

と、openshift_metrics_storage_kindをセットしなければemptydirになると書かれてるので、NFS設定の設定サンプルをベースにこれだけ無効にしておく。 (↓はNFSを使おうとしてた残骸が少し混ざってます)

[zaki@okd-manager ~]$ diff -u openshift-ansible.ini.installed-first openshift-ansible.ini
--- openshift-ansible.ini.installed-first       2019-10-20 09:25:07.434432751 +0900
+++ openshift-ansible.ini       2019-11-22 06:40:28.590786789 +0900
@@ -583,7 +583,7 @@
 # See: https://docs.openshift.com/container-platform/latest/install_config/cluster_metrics.html
 #
 # By default metrics are not automatically deployed, set this to enable them
-#openshift_metrics_install_metrics=true
+openshift_metrics_install_metrics=true
 #
 # metrics-server deployment
 # By default, metrics-server is not automatically deployed, unless metrics is also
@@ -619,12 +619,12 @@
 # is the name of the export served by the nfs server.  "metrics" is
 # the name of a directory inside of "/exports".
 #openshift_metrics_storage_kind=nfs
-#openshift_metrics_storage_access_modes=['ReadWriteOnce']
-#openshift_metrics_storage_host=nfs.example.com
-#openshift_metrics_storage_nfs_directory=/exports
-#openshift_metrics_storage_volume_name=metrics
-#openshift_metrics_storage_volume_size=10Gi
-#openshift_metrics_storage_labels={'storage': 'metrics'}
+openshift_metrics_storage_access_modes=['ReadWriteOnce']
+openshift_metrics_storage_host=okd-manager.esxi.jp-z.jp
+openshift_metrics_storage_nfs_directory=/exports/nfs
+openshift_metrics_storage_volume_name=metrics
+openshift_metrics_storage_volume_size=10Gi
+openshift_metrics_storage_labels={'storage': 'metrics'}
 #
 # Option C - Dynamic -- If openshift supports dynamic volume provisioning for
 # your cloud platform use this.
@@ -1107,4 +1107,4 @@

 # Enable unsupported configurations, things that will yield a partially
 # functioning cluster but would not be supported for production use
-#openshift_enable_unsupported_configurations=false
+openshift_enable_unsupported_configurations=true
[zaki@okd-manager ~]$

デプロイ

metricsのデプロイのみを行うプレイブックでansible-playbook実行。 (インベントリにopenshift_metrics_install_metrics=trueを書いているので、-eの指定は冗長)

[zaki@okd-manager openshift-ansible]$ time ansible-playbook -i ~/openshift-ansible.ini playbooks/openshift-metrics/config.yml -e openshift_metrics_install_metrics=true

:
:

PLAY RECAP *********************************************************************
localhost                  : ok=11   changed=0    unreachable=0    failed=0    skipped=5    rescued=0    ignored=0
okd-master.esxi.jp-z.jp    : ok=222  changed=47   unreachable=0    failed=0    skipped=61   rescued=0    ignored=0
okd-node1.esxi.jp-z.jp     : ok=11   changed=0    unreachable=0    failed=0    skipped=31   rescued=0    ignored=0
okd-node2.esxi.jp-z.jp     : ok=11   changed=0    unreachable=0    failed=0    skipped=31   rescued=0    ignored=0


INSTALLER STATUS ***************************************************************
Initialization   : Complete (0:00:08)
Metrics Install  : Complete (0:00:57)
Friday 22 November 2019  06:41:40 +0900 (0:00:00.025)       0:01:05.852 *******
===============================================================================
openshift_metrics : slurp ----------------------------------------------- 1.78s
openshift_metrics : Set serviceaccounts for hawkular metrics/cassandra --- 1.05s
openshift_metrics : read files for the hawkular-metrics secret ---------- 1.01s
openshift_metrics : Stop Heapster --------------------------------------- 0.97s
openshift_metrics : Start Heapster -------------------------------------- 0.86s
openshift_web_console : Update web console config map ------------------- 0.86s
openshift_metrics : Stop Hawkular Metrics ------------------------------- 0.85s
openshift_metrics : Start Hawkular Metrics ------------------------------ 0.83s
openshift_metrics : Start Hawkular Cassandra ---------------------------- 0.81s
openshift_metrics : Generate services for cassandra --------------------- 0.71s
openshift_metrics : copy local generated passwords to target ------------ 0.67s
openshift_metrics : generate hawkular-cassandra keys -------------------- 0.59s
openshift_metrics : generate hawkular-metrics keys ---------------------- 0.58s
openshift_metrics : Set hawkular cluster roles -------------------------- 0.56s
openshift_metrics : generate hawkular-metrics certificate --------------- 0.52s
openshift_metrics : remove Hawkular Agent (HOSA) components ------------- 0.48s
Gather Cluster facts ---------------------------------------------------- 0.47s
openshift_metrics : Applying /tmp/openshift-metrics-ansible-K85GTs/templates/hawkular-cassandra-rc1.yaml --- 0.46s
openshift_metrics : Generate service for hawkular-metrics --------------- 0.45s
openshift_web_console : Read the existing web console config map -------- 0.45s

real    1m6.732s
user    0m27.476s
sys     0m6.576s
[zaki@okd-manager openshift-ansible]$

これでしばらく待てば、Hawkular Metrics系のpodが起動します。
REST APIもちゃんと動く。(値の取得まではやってないけど、たぶん大丈夫でしょう。。)

f:id:zaki-hmkc:20191122075406p:plain

HawkularのREST APIはこのへんに載ってる

www.hawkular.org


そういえば、このBugzillaで管理してた不具合が、この事象の原因かどうかは、厳密には不明でしたね :)
(もしかしたら全然関係なくて、実はもっと以前から修正されてた可能性もある…)