3.3. Leader Worker Set Operator による分散ワークロードの管理


Leader Worker Set Operator を使用すると、分散推論ワークロードを管理し、大規模な推論リクエストを効率的に処理できます。

3.3.1. Leader Worker Set Operator のインストール

Leader Worker Set Operator は Web コンソールを使用してインストールできます。

前提条件

  • cluster-admin 権限でクラスターにアクセスできる。
  • OpenShift Container Platform Web コンソールにアクセスできる。
  • cert-manager Operator for Red Hat OpenShift がインストールされている。

手順

  1. OpenShift Container Platform Web コンソールにログインします。
  2. cert-manager Operator for Red Hat OpenShift がインストールされていることを確認します。
  3. Leader Worker Set Operator をインストールします。

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

      1. Update channelstable-v1.0 に設定します。これにより、Leader Worker Set Operator 1.0 の最新の安定版リリースがインストールされます。
      2. Installation mode で、A specific namespace on the cluster を選択します。
      3. Installed Namespace の下で、Operator recommended Namespace: openshift-lws-operator を選択します。
      4. Update approval で、次のいずれかの更新ストラテジーを選択します。

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

    1. Installed Operators Leader Worker Set Operator に移動します。
    2. Provided APIs の下にある LeaderWorkerSetOperator ペインで Create instance をクリックします。
    3. Create をクリックします。

3.3.2. リーダーワーカーセットのデプロイ

Leader Worker Set Operator を使用すると、リーダーワーカーセットをデプロイして、複数のノード間で分散されるワークロードの管理を支援できます。

前提条件

  • Leader Worker Set Operator をインストールした。

手順

  1. 次のコマンドを実行して新しいプロジェクトを作成します。

    $ oc new-project my-namespace
    Copy to Clipboard Toggle word wrap
  2. leader-worker-set.yaml という名前のファイルを作成します。

    apiVersion: leaderworkerset.x-k8s.io/v1
    kind: LeaderWorkerSet
    metadata:
      generation: 1
      name: my-lws 
    1
    
      namespace: my-namespace 
    2
    
    spec:
      leaderWorkerTemplate:
        leaderTemplate: 
    3
    
          metadata: {}
          spec:
            containers:
            - image: nginxinc/nginx-unprivileged:1.27
              name: leader
              resources: {}
        restartPolicy: RecreateGroupOnPodRestart 
    4
    
        size: 3 
    5
    
        workerTemplate: 
    6
    
          metadata: {}
          spec:
            containers:
            - image: nginxinc/nginx-unprivileged:1.27
              name: worker
              ports:
              - containerPort: 8080
                protocol: TCP
              resources: {}
      networkConfig:
        subdomainPolicy: Shared 
    7
    
      replicas: 2 
    8
    
      rolloutStrategy:
        rollingUpdateConfiguration:
          maxSurge: 1 
    9
    
          maxUnavailable: 1
        type: RollingUpdate
      startupPolicy: LeaderCreated
    Copy to Clipboard Toggle word wrap
    1
    リーダーワーカーセットのリソースの名前を指定します。
    2
    リーダーワーカーセットが実行される namespace を指定します。
    3
    リーダー Pod の Pod テンプレートを指定します。
    4
    Pod 障害が発生した場合の再起動ポリシーを指定します。使用できる値は、グループ全体を再起動する RecreateGroupOnPodRestart か、グループを再起動しない None です。
    5
    リーダー Pod を含む、各グループに作成する Pod の数を指定します。たとえば、値が 3 の場合、リーダー Pod 1 個とワーカー Pod 2 個が作成されます。デフォルト値は 1 です。
    6
    ワーカー Pod の Pod テンプレートを指定します。
    7
    ヘッドレスサービスを作成するときに使用するポリシーを指定します。使用できる値は UniquePerReplica または Shared です。デフォルト値は Shared です。
    8
    レプリカの数、つまりリーダーワーカーグループの数を指定します。デフォルト値は 1 です。
    9
    ローリング更新中に replicas 値を超えてスケジュールできるレプリカの最大数を指定します。値は整数またはパーセンテージで指定できます。

    設定可能なすべてのフィールドの詳細は、LeaderWorkerSet API のアップストリームドキュメントを参照してください。

  3. 次のコマンドを実行して、リーダーワーカーセットの設定を適用します。

    $ oc apply -f leader-worker-set.yaml
    Copy to Clipboard Toggle word wrap

検証

  1. 次のコマンドを実行して、Pod が作成されたことを確認します。

    $ oc get pods -n my-namespace
    Copy to Clipboard Toggle word wrap

    出力例

    NAME         READY   STATUS    RESTARTS   AGE
    my-lws-0     1/1     Running   0          4s 
    1
    
    my-lws-0-1   1/1     Running   0          3s
    my-lws-0-2   1/1     Running   0          3s
    my-lws-1     1/1     Running   0          7s 
    2
    
    my-lws-1-1   1/1     Running   0          6s
    my-lws-1-2   1/1     Running   0          6s
    Copy to Clipboard Toggle word wrap

    1
    最初のグループのリーダー Pod。
    2
    2 番目のグループのリーダー Pod。
  2. 次のコマンドを実行して、ステートフルセットを確認します。

    $ oc get statefulsets
    Copy to Clipboard Toggle word wrap

    出力例

    NAME       READY   AGE
    my-lws     4/4     111s 
    1
    
    my-lws-0   2/2     57s 
    2
    
    my-lws-1   2/2     60s 
    3
    Copy to Clipboard Toggle word wrap

    1
    すべてのリーダーワーカーグループのリーダーステートフルセット。
    2
    最初のグループのワーカーステートフルセット。
    3
    2 番目のグループのワーカーステートフルセット。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat