3.2. マシン設定の変更時にノードを再起動する動作を設定する


ノード停止ポリシーを作成すると、クラスターの停止を引き起こすマシン設定の変更と、引き起こさない変更を定義できます。

/var または /etc ディレクトリー内のファイル、systemd ユニット、SSH キー、および registries.conf ファイルの変更に対してノードがどのように反応するかを制御できます。

これらの変更のいずれかを行うと、ノード停止ポリシーによって、MCO が変更を実装するときに必要なアクションが次の中から決定されます。

  • Reboot: MCO はノードをドレインして再起動します。これがデフォルトの動作です。
  • None: MCO はノードのドレインも再起動も実行しません。MCO は、それ以上のアクションなしで変更を適用します。
  • Drain: MCO はノードのワークロードを遮断してドレインします。ワークロードは新しい設定で再起動します。
  • Reload: サービスの場合、MCO はサービスを再起動せずに指定されたサービスをリロードします。
  • Restart: サービスの場合、MCO は指定されたサービスを完全に再起動します。
  • DaemonReload: MCO は systemd マネージャー設定をリロードします。
  • Special: これは MCO 専用の内部アクションであり、ユーザーが設定することはできません。
注記
  • Reboot および None アクションを他のアクションと一緒に使用することはできません。Reboot および None アクションは、他のアクションをオーバーライドするためです。
  • アクションは、ノード停止ポリシーのリストに設定されている順序で適用されます。
  • ノードの再起動やその他の停止が必要となるその他のマシン設定の変更を行った場合、その再起動はノード停止ポリシーのアクションよりも優先されます。

前提条件

  • フィーチャーゲートを使用して TechPreviewNoUpgrade 機能セットを有効にしている。詳細は、「フィーチャーゲートを使用した機能の有効化」を参照してください。

    警告

    クラスターで TechPreviewNoUpgrade 機能セットを有効にすると、マイナーバージョンの更新ができなくなります。TechPreviewNoUpgrade 機能セットは無効にできません。実稼働クラスターではこの機能セットを有効にしないでください。

手順

  1. machineconfigurations.operator.openshift.io オブジェクトを編集して、ノード停止ポリシーを定義します。

    $ oc edit MachineConfiguration cluster -n openshift-machine-config-operator
  2. 次のようなノード停止ポリシーを追加します。

    apiVersion: operator.openshift.io/v1
    kind: MachineConfiguration
    metadata:
      name: cluster
    # ...
    spec:
      nodeDisruptionPolicy: 1
        files: 2
        - actions: 3
          - reload: 4
              serviceName: chronyd.service 5
            type: Reload
          path: /etc/chrony.conf 6
        sshkey: 7
          actions:
          - type: Drain
          - reload:
              serviceName: crio.service
            type: Reload
          - type: DaemonReload
          - restart:
              serviceName: crio.service
            type: Restart
        units: 8
        - actions:
          - type: Drain
          - reload:
              serviceName: crio.service
            type: Reload
          - type: DaemonReload
          - restart:
              serviceName: crio.service
            type: Restart
          name: test.service
    1
    ノード停止ポリシーを指定します。
    2
    マシン設定ファイルの定義と、それらのパスの変更に対して実行するアクションのリストを指定します。このリストは最大 50 個のエントリーをサポートします。
    3
    指定したファイルが変更されたときに実行する一連のアクションを指定します。アクションは、このリストに設定されている順序で適用されます。このリストは最大 10 個のエントリーをサポートします。
    4
    指定したファイルが変更されたときに、リストしたサービスをリロードすることを指定します。
    5
    アクションの対象となるサービスの完全な名前を指定します。
    6
    マシン設定によって管理されるファイルの場所を指定します。ポリシー内のアクションは、path 内のファイルが変更されたときに適用されます。
    7
    クラスター内の SSH キーが変更されたときに実行するサービス名とアクションのリストを指定します。
    8
    systemd ユニット名のリストと、これらのユニットが変更されたときに実行するアクションを指定します。

検証

  • 作成した MachineConfiguration オブジェクトファイルを表示します。

    $ oc get MachineConfiguration/cluster -o yaml

    出力例

    apiVersion: operator.openshift.io/v1
    kind: MachineConfiguration
    metadata:
      labels:
        machineconfiguration.openshift.io/role: worker
      name: cluster
    # ...
    status:
      nodeDisruptionPolicyStatus: 1
        clusterPolicies:
          files:
    # ...
          - actions:
            - reload:
                serviceName: chronyd.service
              type: Reload
            path: /etc/chrony.conf
          sshkey:
            actions:
            - type: Drain
            - reload:
                serviceName: crio.service
              type: Reload
            - type: DaemonReload
            - restart:
                serviceName: crio.service
              type: Restart
          units:
          - actions:
            - type: Drain
            - reload:
                serviceName: crio.service
              type: Reload
            - type: DaemonReload
            - restart:
                serviceName: crio.service
              type: Restart
            name: test.se
    # ...

    1
    現在のクラスター検証済みのポリシーを示します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

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

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

会社概要

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

© 2024 Red Hat, Inc.