5.4. etcd モニターリングの設定
etcd
サービスが正常に実行されない場合、OpenShift Container Platform クラスター全体の運用に支障が及ぶ可能性があります。そのため、etcd
のモニターリングを設定することができます。
以下の手順に従って etcd
モニターリングを設定します。
手順
モニターリングスタックが実行中であることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターモニターリングスタックの設定ファイルを開きます。
oc -n openshift-monitoring edit configmap cluster-monitoring-config
$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow config.yaml: |+
の下に、etcd
セクションを追加します。マスターノードの静的 Pod で
etcd
を実行する場合、セレクターを使用してetcd
ノードを指定できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 別のホストで
etcd
を実行する場合、IP アドレスを使用してノードを指定する必要があります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd
ノードの IP アドレスが変更される場合は、この一覧を更新する必要があります。
etcd
サービスモニターが実行されていることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
etcd
サービスモニター。
etcd
サービスモニターが起動するには 1 分程度の時間がかかる場合があります。これで、Web インターフェイスに移動して
etcd
モニターリングのステータスについての詳細を確認できます。URL を取得するには、以下を実行します。
oc -n openshift-monitoring get routes
$ oc -n openshift-monitoring get routes NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD ... prometheus-k8s prometheus-k8s-openshift-monitoring.apps.msvistun.origin-gce.dev.openshift.com prometheus-k8s web reencrypt None
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
https
を使用して、prometheus-k8s
について一覧表示されている URL に移動します。ログインします。
ユーザーが
cluster-monitoring-view
ロールに属することを確認します。このロールは、クラスターモニターリング UI を表示するためのアクセスを提供します。たとえば、ユーザー
developer
をcluster-monitoring-view
ロールに追加するには、以下を実行します。oc adm policy add-cluster-role-to-user cluster-monitoring-view developer
$ oc adm policy add-cluster-role-to-user cluster-monitoring-view developer
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Web インターフェイスで、
cluster-monitoring-view
ロールに属するユーザーとしてログインします。 Status をクリックしてから Targets をクリックします。
etcd
エントリーが表示される場合、etcd
はモニターされています。etcd
がモニターされていても、Prometheus はまだetcd
に対して認証できないため、メトリックスを収集できません。Prometheus 認証を
etcd
に対して設定するには、以下を実行します。/etc/etcd/ca/ca.crt
および/etc/etcd/ca/ca.key
認証情報ファイルをマスターノードからローカルマシンにコピーします。ssh -i gcp-dev/ssh-privatekey cloud-user@35.237.54.213
$ ssh -i gcp-dev/ssh-privatekey cloud-user@35.237.54.213
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の内容を含む
openssl.cnf
ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd.key
プライベートキーファイルを生成します。openssl genrsa -out etcd.key 2048
$ openssl genrsa -out etcd.key 2048
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd.csr
証明書署名要求ファイルを生成します。openssl req -new -key etcd.key -out etcd.csr -subj "/CN=etcd" -config openssl.cnf
$ openssl req -new -key etcd.key -out etcd.csr -subj "/CN=etcd" -config openssl.cnf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd.crt
証明書ファイルを生成します。openssl x509 -req -in etcd.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out etcd.crt -days 365 -extensions v3_req -extfile openssl.cnf
$ openssl x509 -req -in etcd.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out etcd.crt -days 365 -extensions v3_req -extfile openssl.cnf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 認証情報を OpenShift Container Platform で使用される形式で配置します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、etcd-cert-secret.yaml ファイルが作成されます。
認証情報ファイルをクラスターに適用します。
oc apply -f etcd-cert-secret.yaml
$ oc apply -f etcd-cert-secret.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
認証を設定してから、Web インターフェイスの Targets ページに再度アクセスします。
etcd
が正常にモニターされていることを確認します。変更が有効になるまでに数分の時間がかかる場合があります。OpenShift Container Platform の更新時に
etcd
モニターリングを自動的に更新する必要がある場合、Ansible インベントリーファイルのこの変数をtrue
に設定します。openshift_cluster_monitoring_operator_etcd_enabled=true
openshift_cluster_monitoring_operator_etcd_enabled=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 別のホストで
etcd
を実行する場合、この Ansible 変数を使用して IP アドレスでノードを指定します。openshift_cluster_monitoring_operator_etcd_hosts=[<address1>, <address2>, ...]
openshift_cluster_monitoring_operator_etcd_hosts=[<address1>, <address2>, ...]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow etcd
ノードの IP アドレスが変更される場合は、この一覧を更新する必要があります。