#chiroito ’s blog

Java を中心とした趣味の技術について

OpenShift のクラスタモニタリングスタックを Infra ノードで動かす

OpenShift のクラスタモニタリングスタックの設定を変更するには、クラスタモニタリングの ConfigMap を変更する必要があります。この ConfigMap が存在しない場合は、参考の URL にあるマニュアルにある通り作成します。

設定をする前にまずはクラスタモニタリングスタックの設定を確認してみます。

$ oc -n openshift-monitoring get configmap cluster-monitoring-config -o yaml
apiVersion: v1
kind: ConfigMap
metadata:
  creationTimestamp: "2020-04-23T06:47:21Z"
  name: cluster-monitoring-config
  namespace: openshift-monitoring
  resourceVersion: "368857"
  selfLink: /api/v1/namespaces/openshift-monitoring/configmaps/cluster-monitoring-config
  uid: 619c4ac8-c623-4bbc-a47b-bc158b64e5d0

以下のコマンドを使用してクラウドモニタリングスタックの ConfigMap を編集します。

$ oc -n openshift-monitoring edit configmap cluster-monitoring-config

今回は、各スタックを Infra ノードで動かすため、以下を追加します。

data:
  config.yaml: |
    prometheusOperator:
      nodeSelector:
        node-role.kubernetes.io/infra: ""
    prometheusK8s:
      nodeSelector:
        node-role.kubernetes.io/infra: ""
    alertmanagerMain:
      nodeSelector:
        node-role.kubernetes.io/infra: ""
    kubeStateMetrics:
      nodeSelector:
        node-role.kubernetes.io/infra: ""
    grafana:
      nodeSelector:
        node-role.kubernetes.io/infra: ""
    auth:
      nodeSelector:
        node-role.kubernetes.io/infra: ""

以下の様になれば大丈夫です。

$ oc -n openshift-monitoring get configmap cluster-monitoring-config -o yaml
apiVersion: v1
kind: ConfigMap
metadata:
  creationTimestamp: "2020-04-23T06:47:21Z"
  name: cluster-monitoring-config
  namespace: openshift-monitoring
  resourceVersion: "368857"
  selfLink: /api/v1/namespaces/openshift-monitoring/configmaps/cluster-monitoring-config
  uid: 619c4ac8-c623-4bbc-a47b-bc158b64e5d0
data:
  config.yaml: |
    prometheusOperator:
      nodeSelector:
        node-role.kubernetes.io/infra: ""
    prometheusK8s:
      nodeSelector:
        node-role.kubernetes.io/infra: ""
    alertmanagerMain:
      nodeSelector:
        node-role.kubernetes.io/infra: ""
    kubeStateMetrics:
      nodeSelector:
        node-role.kubernetes.io/infra: ""
    grafana:
      nodeSelector:
        node-role.kubernetes.io/infra: ""
    auth:
      nodeSelector:
        node-role.kubernetes.io/infra: ""

参考