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 がインストールされている。
手順
- OpenShift Container Platform Web コンソールにログインします。
- cert-manager Operator for Red Hat OpenShift がインストールされていることを確認します。
Leader Worker Set Operator をインストールします。
-
Operators
OperatorHub に移動します。 - フィルターボックスに Leader Worker Set Operator と入力します。
- Leader Worker Set Operator を選択し、Install をクリックします。
Install Operator ページで以下を行います。
- Update channel を stable-v1.0 に設定します。これにより、Leader Worker Set Operator 1.0 の最新の安定版リリースがインストールされます。
- Installation mode で、A specific namespace on the cluster を選択します。
- Installed Namespace の下で、Operator recommended Namespace: openshift-lws-operator を選択します。
Update approval で、次のいずれかの更新ストラテジーを選択します。
- Automatic ストラテジーを使用すると、新しいバージョンが利用可能になったときに、Operator Lifecycle Manager (OLM) によって Operator を自動的に更新できます。
- Manual ストラテジーには、Operator の更新を承認するための適切な認証情報を持つユーザーが必要です。
- Install をクリックします。
-
Operators
Leader Worker Set Operator のカスタムリソース (CR) を作成します。
-
Installed Operators
Leader Worker Set Operator に移動します。 - Provided APIs の下にある LeaderWorkerSetOperator ペインで Create instance をクリックします。
- Create をクリックします。
-
Installed Operators
3.3.2. リーダーワーカーセットのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Leader Worker Set Operator を使用すると、リーダーワーカーセットをデプロイして、複数のノード間で分散されるワークロードの管理を支援できます。
前提条件
- Leader Worker Set Operator をインストールした。
手順
次のコマンドを実行して新しいプロジェクトを作成します。
oc new-project my-namespace
$ oc new-project my-namespace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow leader-worker-set.yaml
という名前のファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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 のアップストリームドキュメントを参照してください。
次のコマンドを実行して、リーダーワーカーセットの設定を適用します。
oc apply -f leader-worker-set.yaml
$ oc apply -f leader-worker-set.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、Pod が作成されたことを確認します。
oc get pods -n my-namespace
$ oc get pods -n my-namespace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、ステートフルセットを確認します。
oc get statefulsets
$ oc get statefulsets
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY AGE my-lws 4/4 111s my-lws-0 2/2 57s my-lws-1 2/2 60s
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 Copied! Toggle word wrap Toggle overflow