Red HatでOpenShiftのサポートをしているid:nekopです。OpenShift 全部俺 Advent Calendar 2018 - Qiitaの7日目のエントリです。12/7は保育園の保育参観で有給休暇だったので後追いで書いていきます。
OpenShift 3.11では今までのHawkular Metricsというメトリクススタックが非推奨となり、Prometheusに変わっています。
https://docs.openshift.com/container-platform/3.11/install_config/prometheus_cluster_monitoring.html
ドキュメントに構成が図解されていますが、もう少し詳しく見ていきましょう。
PrometheusはOperatorを利用したセットアップとなっていますが、OpenShift Container Platform Cluster Monitoring Operator (CMO)という親玉のOperatorが居て、このCMOがPrometheus Operator (PO)も管理する、という少し特徴的な多段Operator構成となっています。
- https://github.com/openshift/cluster-monitoring-operator/
- https://github.com/coreos/prometheus-operator/
とりあえずoc get deploy,deploymentconfig,statefulset,daemonset,pod
してみましょう。
$ oc get deploy,deploymentconfig,statefulset,daemonset,pod NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE deployment.extensions/cluster-monitoring-operator 1 1 1 1 43d deployment.extensions/grafana 1 1 1 1 43d deployment.extensions/kube-state-metrics 1 1 1 1 43d deployment.extensions/prometheus-operator 1 1 1 1 43d NAME DESIRED CURRENT AGE statefulset.apps/alertmanager-main 3 3 5d statefulset.apps/prometheus-k8s 2 2 5d NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.extensions/node-exporter 7 7 7 7 7 beta.kubernetes.io/os=linux 43d NAME READY STATUS RESTARTS AGE pod/alertmanager-main-0 3/3 Running 0 5d pod/alertmanager-main-1 3/3 Running 0 5d pod/alertmanager-main-2 3/3 Running 0 5d pod/cluster-monitoring-operator-7ccd78b775-2rwg8 1/1 Running 0 5d pod/grafana-55f5c54769-qrhtm 2/2 Running 0 5d pod/kube-state-metrics-58669f7d5-x926v 3/3 Running 0 5d pod/node-exporter-58sc2 2/2 Running 0 5d pod/node-exporter-bc4qv 2/2 Running 0 5d pod/node-exporter-dwqz7 2/2 Running 0 5d pod/node-exporter-jp6bn 2/2 Running 0 5d pod/node-exporter-pf6v2 2/2 Running 0 5d pod/node-exporter-pf7qx 2/2 Running 0 5d pod/node-exporter-rvxfx 2/2 Running 0 5d pod/prometheus-k8s-0 4/4 Running 0 5d pod/prometheus-k8s-1 4/4 Running 0 5d pod/prometheus-operator-5b789585d7-7676n 1/1 Running 0 5d
deployが4種、PrometheusのStatefulSetが2 pods, AlertManagerのStatefulSetが3 pods、node-exporterのDaemonSetという構成です。
ちなみにこういった初見でネームスペースのデプロイメントを調べる際にCRDなどを含むネームスペース内の全リソースをリストして眺めるには以下のコマンドが利用できますが、出力がとても長い、かつその中にさらっと重要な情報が一行、という感じになるので読むのにちょっと慣れが必要です。
oc api-resources --namespaced --no-headers | awk '{print $1}' | paste -sd, | xargs oc get 2>/dev/null
明日はOperatorの設定や動作ついてもう少し詳しく見ていきましょう。