6.6.6. etcd クォーラムガードを再度有効化する


コントロールプレーンノードの交換が完了したら、etcd クォーラムガードを再度有効にして、クラスターの正常な動作を復元し、クラスターが正常な 3 メンバーの etcd 設定に戻ったことを確認してください。

手順

  1. 以下のコマンドを実行して、クォーラムガードを再度有効にします。

    $ oc patch etcd/cluster --type=merge -p '{"spec": {"unsupportedConfigOverrides": null}}'
  2. 以下のコマンドを実行して、unsupportedConfigOverrides セクションが削除されていることを確認してください。

    $ oc get etcd/cluster -oyaml
  3. シングルノードの OpenShift を使用している場合は、ノードを再起動してください。そうしないと、etcd クラスター Operator で次のエラーが発生する可能性があります。

    出力例

    EtcdCertSignerControllerDegraded: [Operation cannot be fulfilled on secrets "etcd-peer-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-metrics-sno-0": the object has been modified; please apply your changes to the latest version and try again]

検証

  1. 以下のコマンドを実行して、すべての etcdPod が実行されていることを確認してください。

    $ oc -n openshift-etcd get pods -l k8s-app=etcd

    出力例

    etcd-openshift-control-plane-0      5/5     Running     0     105m
    etcd-openshift-control-plane-1      5/5     Running     0     107m
    etcd-openshift-control-plane-3      5/5     Running     0     12m

    直前のコマンドの出力に 2 つの Pod のみがリスト表示される場合、etcd の再デプロイメントを手動で強制できます。クラスターにアクセスできるターミナルで、cluster-admin ユーザーとして以下のコマンドを実行します。

    $ oc patch etcd cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge

    forceRedeploymentReason 値は一意である必要があります。そのため、タイムスタンプが付加されます。

  2. 次のコマンドを実行して、実行中の etcd コンテナーに接続します。

    $ oc rsh -n openshift-etcd etcd-openshift-control-plane-0
  3. 以下のコマンドを実行してメンバーリストを表示します。

    sh-4.2# etcdctl member list -w table

    出力例

    +------------------+---------+--------------------+---------------------------+---------------------------+-----------------+
    |        ID        | STATUS  |        NAME        |        PEER ADDRS         |       CLIENT ADDRS        |    IS LEARNER    |
    +------------------+---------+--------------------+---------------------------+---------------------------+-----------------+
    | 8d5abe9669a39192 | started | openshift-control-plane-1 | https://192.168.10.10:2380 | https://192.168.10.10:2379 |   false |
    | cc3830a72fc357f9 | started | openshift-control-plane-0 | https://192.168.10.9:2380 | https://192.168.10.9:2379 |     false |
    | d4f6a4e8b2c91a3f | started | openshift-control-plane-3 | https://192.168.10.12:2380 | https://192.168.10.12:2379 |   false |
    +------------------+---------+--------------------+---------------------------+---------------------------+-----------------+

    etcd メンバーが正確に 3 つリストされていることを確認してください。

  4. 以下のコマンドを実行して、すべての etcd メンバーが正常であることを確認します。

    sh-4.2# etcdctl endpoint health --cluster

    出力例

    https://192.168.10.10:2379 is healthy: successfully committed proposal: took = 8.973065ms
    https://192.168.10.9:2379 is healthy: successfully committed proposal: took = 11.559829ms
    https://192.168.10.12:2379 is healthy: successfully committed proposal: took = 11.665203ms

  5. 以下のコマンドを実行して、rsh セッションを終了します。

    sh-4.2# exit
  6. 以下のコマンドを実行して、すべてのノードが最新のリビジョンになっていることを確認してください。

    $ oc get etcd -o=jsonpath='{range.items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'

    出力例

    AllNodesAtLatestRevision

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る