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-configCopy 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 NoneCopy 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 developerCopy 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.213Copy 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 2048Copy 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.cnfCopy 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.cnfCopy 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.yamlCopy 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=trueCopy 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 アドレスが変更される場合は、この一覧を更新する必要があります。