2.12. Run Once Duration Override Operator


2.12.1. Run once Duration Override Operator の概要

Run Once Duration Override Operator を使用して、1 回実行 Pod をアクティブにできる最大時間制限を指定できます。

2.12.1.1. Run Once Duration Override Operator について

OpenShift Container Platform は 1 回実行 (run-once) Pod を使用して Pod のデプロイやビルドの実行などのタスクを実行します。1 回実行 (run-once) Pod は、RestartPolicyNever または OnFailure の Pod です。

クラスター管理者は Run Once Duration Override Operator を使用して、1 回実行 Pod がアクティブになる時間を強制的に制限できます。期限が切れると、クラスターはそれらの Pod をアクティブに終了しようとします。このような制限を設ける主な理由は、ビルドなどのタスクが長い時間にわたって実行されることを防ぐことにあります。

Run Once Duration Override Operator から run-once duration override を 1 回実行 (run-once) Pod に適用するには、該当する各 namespace でそれを有効にする必要があります。

1 回実行 Pod と Run Once Duration Override Operator の両方に activeDeadlineSeconds 値が設定されている場合、2 つの値のうち小さい方が使用されます。

2.12.2. Run Once Duration Override Operator のリリースノート

クラスター管理者は Run Once Duration Override Operator を使用して、1 回実行 Pod がアクティブになる時間を強制的に制限できます。制限時間が経過すると、クラスターは 1 回実行 Pod を終了しようとします。このような制限を設ける主な理由は、ビルドなどのタスクが長い時間にわたって実行されることを防ぐことにあります。

Run Once Duration Override Operator から run-once duration override を 1 回実行 (run-once) Pod に適用するには、該当する各 namespace でそれを有効にする必要があります。

これらのリリースノートでは、OpenShift Container Platform の Run Once Duration Override Operator の開発を追跡します。

Run Once Duration Override Operator の概要は、Run Once Duration Override Operator について を参照してください。

2.12.2.1. Run Once Duration Override Operator 1.2.0

発行日: 2024 年 11 月 20 日

Run Once Duration Override Operator 1.1.0 については、以下のアドバイザリーが利用できます。

2.12.2.1.1. バグ修正
  • Run Once Duration Override Operator のこのリリースでは、いくつかの Common Vulnerabilities and Exposures (CVE) に対処しています。

2.12.2.2. Run Once Duration Override Operator 1.0.1

発行日: 2023 年 10 月 31 日

次のアドバイザリーは、Run Once Duration Override Operator 1.0.1 に対して利用可能です。

2.12.2.2.1. バグ修正
  • Run Once Duration Override Operator のこのリリースでは、いくつかの Common Vulnerabilities and Exposures (CVE) に対処しています。

2.12.2.3. Run Once Duration Override Operator 1.0.0

発行日: 2024 年 5 月 16 日

次のアドバイザリーは、Run Once Duration Override Operator 1.0.0 に対して利用可能です。

2.12.2.3.1. 新機能および機能拡張

2.12.3. 1 回実行 Pod のアクティブな期限をオーバーライドする

Run Once Duration Override Operator を使用して、1 回実行 Pod をアクティブにできる最大時間制限を指定できます。namespace で Run Once Duration Override Operator を有効にすると、その namespace で今後作成または更新されるすべての 1 回実行 (run-once) Pod の activeDeadlineSeconds フィールドが、Run Once Duration Override Operator で指定された値に設定されます。

注記

1 回実行 Pod と Run Once Duration Override Operator の両方に activeDeadlineSeconds 値が設定されている場合、2 つの値のうち小さい方が使用されます。

2.12.3.1. Run Once Duration Override Operator のインストール

Web コンソールを使用して、Run Once Period Override Operator をインストールできます。

前提条件

  • cluster-admin 権限でクラスターにアクセスできる。
  • OpenShift Container Platform Web コンソールにアクセスできる。

手順

  1. OpenShift Container Platform Web コンソールにログインします。
  2. Run Once Duration Override Operator に必要な namespace を作成します。

    1. Administration Namespaces に移動し、Create Namespace をクリックします。
    2. Name フィールドに openshift-run-once-duration-override-operator と入力し、Create をクリックします。
  3. Run Once Duration Override Operator をインストールします。

    1. Operators OperatorHub に移動します。
    2. フィルターボックスに Run Once Duration Override Operator と入力します。
    3. Run Once Duration Override Operator を選択し、Install をクリックします。
    4. Install Operator ページで以下を行います。

      1. Update channelstable に設定されており、これにより、Run Once Duration Override Operator の最新の安定リリースがインストールされます。
      2. A specific namespace on the cluster を選択します。
      3. openshift-run-once-duration-override-operator の下のドロップダウンメニューから openshift-run-once-duration-override-operator を選択します。
      4. Update approval strategy を選択します。

        • Automatic ストラテジーにより、Operator Lifecycle Manager (OLM) は新規バージョンが利用可能になると Operator を自動的に更新できます。
        • Manual ストラテジーには、Operator の更新を承認するための適切な認証情報を持つユーザーが必要です。
      5. Install をクリックします。
  4. RunOnceDurationOverride インスタンスを作成します。

    1. Operators Installed Operators ページから、Run Once Duration Override Operator をクリックします。
    2. Run Once Duration Override タブを選択し、Create RunOnceDurationOverride をクリックします。
    3. 必要に応じて設定を編集します。

      runOnceDurationOverride セクションで、必要に応じて spec.activeDeadlineSeconds 値を更新できます。事前定義された値は 3600 秒、つまり 1 時間です。

    4. Create をクリックします。

検証

  1. OpenShift CLI にログインします。
  2. すべての Pod が作成され、適切に実行されていることを確認します。

    $ oc get pods -n openshift-run-once-duration-override-operator

    出力例

    NAME                                                   READY   STATUS    RESTARTS   AGE
    run-once-duration-override-operator-7b88c676f6-lcxgc   1/1     Running   0          7m46s
    runoncedurationoverride-62blp                          1/1     Running   0          41s
    runoncedurationoverride-h8h8b                          1/1     Running   0          41s
    runoncedurationoverride-tdsqk                          1/1     Running   0          41s

2.12.3.2. namespace での run-once duration override の有効化

Run Once Duration Override Operator から run-once duration override を 1 回実行 (run-once) Pod に適用するには、該当する各 namespace でそれを有効にする必要があります。

前提条件

  • Run Once Duration Override Operator がインストールされます。

手順

  1. OpenShift CLI にログインします。
  2. ラベルを追加して、run-once duration override を有効にします。

    $ oc label namespace <namespace> \ 1
        runoncedurationoverrides.admission.runoncedurationoverride.openshift.io/enabled=true
    1
    run-once duration override を有効にする namespace を指定します。

この namespace で run-once duration override を有効にすると、今後この namespace で作成される 1 回実行 Pod の activeDeadlineSeconds フィールドが、Run Once Duration Override Operator からのオーバーライド値に設定されます。この namespace の既存 Pod には、次の更新時に activeDeadlineSeconds 値も設定されます。

検証

  1. run-once duration override を有効にした namespace に、1 回実行 Pod を作成します。

    apiVersion: v1
    kind: Pod
    metadata:
      name: example
      namespace: <namespace>                 1
    spec:
      restartPolicy: Never                   2
      containers:
        - name: busybox
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop: ["ALL"]
            runAsNonRoot:
              true
            seccompProfile:
              type: "RuntimeDefault"
          image: busybox:1.25
          command:
            - /bin/sh
            - -ec
            - |
              while sleep 5; do date; done
    1
    <namespace> を namespace の名前に置き換えます。
    2
    1 回実行 (run-once) Pod には、restartPolicyNever または OnFailure である必要があります。
  2. Pod に activeDeadlineSeconds フィールドが設定されていることを確認します。

    $ oc get pods -n <namespace> -o yaml | grep activeDeadlineSeconds

    出力例

        activeDeadlineSeconds: 3600

2.12.3.3. run-once active deadline override 値の更新

Run Once Duration Override Operator が 1 回実行 Pod (run-once Pod) に適用されるオーバーライド値をカスタマイズできます。事前定義された値は 3600 秒、つまり 1 時間です。

前提条件

  • cluster-admin 権限でクラスターにアクセスできる。
  • Run Once Duration Override Operator をインストールしました。

手順

  1. OpenShift CLI にログインします。
  2. RunOnceDurationOverride リソースを編集します。

    $ oc edit runoncedurationoverride cluster
  3. activeDeadlineSeconds フィールドを更新します。

    apiVersion: operator.openshift.io/v1
    kind: RunOnceDurationOverride
    metadata:
    # ...
    spec:
      runOnceDurationOverride:
        spec:
          activeDeadlineSeconds: 1800 1
    # ...
    1
    activeDeadlineSeconds フィールドを必要な値に設定します (秒単位)。
  4. 変更を適用するためにファイルを保存します。

run-once duration override が有効になっている namespace で今後作成される 1 回実行 Pod では、activeDeadlineSeconds フィールドがこの新しい値に設定されます。これらの namespace 内の既存の 1 回実行 Pod は、更新時にこの新しい値を受け取ります。

2.12.4. Run Once Duration Override Operator のアンインストール

Operator をアンインストールし、その関連リソースを削除することで、OpenShift Container Platform から Run Once Duration Override Operator を削除できます。

2.12.4.1. Run Once Duration Override Operator のアンインストール

Web コンソールを使用して、Run Once Period Override Operator をアンインストールできます。Run Once Duration Override Operator をアンインストールしても、1 回実行 (run-once) Pod の activeDeadlineSeconds フィールドの設定が解除されませんが、上書き値は今後の 1 回実行 (run-once) Pod に適用されなくなります。

前提条件

  • cluster-admin 権限でクラスターにアクセスできる。
  • OpenShift Container Platform Web コンソールにアクセスできる。
  • Run Once Duration Override Operator をインストールしました。

手順

  1. OpenShift Container Platform Web コンソールにログインします。
  2. Operators Installed Operators に移動します。
  3. Project ドロップダウンリストから openshift-run-once-duration-override-operator を選択します。
  4. RunOnceDurationOverride インスタンスを削除します。

    1. Run Once Duration Override Operator をクリックし、Run Once Duration Override タブを選択します。
    2. クラスター エントリーの横にある Options メニュー kebab をクリックし、Delete RunOnceDurationOverride を選択します。
    3. 確認ダイアログで Delete をクリックします。
  5. Run Once Duration Override Operator Operator をアンインストールします。

    1. Operators Installed Operators に移動します。
    2. Run Once Duration Override Operator エントリーの横にある Options メニュー kebab をクリックし、Uninstall Operator をクリックします。
    3. 確認ダイアログで、Uninstall をクリックします。

2.12.4.2. Run Once Duration Override Operator リソースのアンインストール

必要に応じて、Run Once Duration Override Operator をアンインストールした後、その関連リソースをクラスターから削除できます。

前提条件

  • cluster-admin 権限でクラスターにアクセスできる。
  • OpenShift Container Platform Web コンソールにアクセスできる。
  • Run Once Duration Override Operator をアンインストールしている。

手順

  1. OpenShift Container Platform Web コンソールにログインします。
  2. Run Once Duration Override Operator のインストール時に作成された CRD を削除します。

    1. Administration CustomResourceDefinitions に移動します。
    2. Name フィールドに RunOnceDurationOverride を入力し、CRD をフィルタリングします。
    3. RunOnceDurationOverride CRD の横にある Options メニュー kebab をクリックし、Delete CustomResourceDefinition を選択します。
    4. 確認ダイアログで Delete をクリックします。
  3. openshift-run-once-duration-override-operator namespace を削除します。

    1. Administration Namespaces に移動します。
    2. openshift-run-once-duration-override-operator をフィルターボックスに入力します。
    3. openshift-run-once-duration-override-operator エントリーの横にある Options メニュー kebab をクリックし、Delete Namespace を選択します。
    4. 確認ダイアログで、openshift-run-once-duration-override-operator を入力し、Delete をクリックします。
  4. 有効にされた namespace から run-once duration override ラベルを削除します。

    1. Administration Namespaces に移動します。
    2. namespace を選択します。
    3. Labels フィールドの横にある Edit をクリックします。
    4. runoncedurationoverrides.admission.runoncedurationoverride.openshift.io/enabled=true ラベルを削除し、Save をクリックします。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.