5.2. Web コンソールを使用した OpenShift Sandboxed Containers のデプロイ
OpenShift Container Platform Web コンソールを使用して次のタスクを実行することで、Google Cloud に OpenShift sandboxed containers をデプロイできます。
- OpenShift Sandboxed Containers Operator を再インストールします。
- オプション: ピア Pod との内部通信を許可するには、ポート 15150 を有効にします。
- オプション: OpenShift sandboxed containers Operator とともにインストールされる Cloud Credential Operator をアンインストールした場合は、ピア Pod シークレットを作成します。
- オプション: Kata エージェントポリシーをカスタマイズします。
- ピア Pod の config map を作成します。
- オプション: ピア Pod の仮想マシン (VM) イメージと仮想マシンイメージ config map を作成します。
-
KataConfig
カスタムリソースを作成します。 - OpenShift Sandboxed Containers のワークロードオブジェクトを設定します。
5.2.1. OpenShift Sandboxed Containers Operator のインストール
OpenShift Container Platform Web コンソールを使用して、OpenShift sandboxed containers Operator をインストールできます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。
手順
-
Web コンソールで、Operators
OperatorHub に移動します。 -
Filter by keyword フィールドに
OpenShift sandboxed containers
と入力します。 - OpenShift sandboxed containers Operator タイルを選択し、Install をクリックします。
- Install Operator ページで、利用可能な Update Channel オプションの一覧から stable を選択します。
Installed Namespace で Operator recommended Namespace が選択されていることを確認します。これにより、Operator が必須の
openshift-sandboxed-containers-operator
namespace にインストールされます。この namespace がまだ存在しない場合は、自動的に作成されます。注記OpenShift Sandboxed Containers Operator を
openshift-sandboxed-containers-operator
以外の namespace にインストールしようとすると、インストールに失敗します。- Approval Strategy で Automatic が選択されていることを確認します。Automatic がデフォルト値であり、新しい z-stream リリースが利用可能になると、OpenShift Sandboxed Containers への自動更新が有効になります。
- Install をクリックします。
-
Operator
Installed Operator に移動して、Operator がインストールされていることを確認します。
5.2.2. Google Cloud のポート 15150 の有効化
Compute Engine で実行されているピア Pod との内部通信を許可するには、OpenShift Container Platform でポート 15150 を有効にする必要があります。
前提条件
- Google Cloud コマンドラインインターフェイス (CLI) ツールがインストールされている。
-
roles/container.admin
ロールを持つユーザーとして OpenShift Container Platform クラスターにアクセスできる。
手順
次のコマンドを実行して、プロジェクト ID 変数を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow export GCP_PROJECT_ID="<project_id>"
$ export GCP_PROJECT_ID="<project_id>"
次のコマンドを実行して Google Cloud にログインします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud auth login
$ gcloud auth login
次のコマンドを実行して、Google Cloud プロジェクト ID を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud config set project ${GCP_PROJECT_ID}
$ gcloud config set project ${GCP_PROJECT_ID}
次のコマンドを実行してポート 15150 を開きます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud compute firewall-rules create allow-port-15150-restricted \ --project=${GCP_PROJECT_ID} \ --network=default \ --allow=tcp:15150 \ --source-ranges=<external_ip_cidr-1>[,<external_ip_cidr-2>,...]
$ gcloud compute firewall-rules create allow-port-15150-restricted \ --project=${GCP_PROJECT_ID} \ --network=default \ --allow=tcp:15150 \ --source-ranges=<external_ip_cidr-1>[,<external_ip_cidr-2>,...]
1 - 1
- 1 つ以上の IP アドレスまたは範囲を CIDR 形式でコンマで区切って指定します。たとえば、
203.0.113.5/32,198.51.100.0/24
です。
検証
次のコマンドを実行して、ポート 15150 が開いていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud compute firewall-rule list
$ gcloud compute firewall-rule list
5.2.3. ピア Pod シークレットの作成
ピア Pod のシークレットが空で、Cloud Credential Operator (CCO) がインストールされている場合、OpenShift sandboxed containers Operator は CCO を使用してシークレットを取得します。CCO をアンインストールした場合は、OpenShift sandboxed containers のピア Pod シークレットを手動で作成する必要があります。そうしないと、ピア Pod は動作しなくなります。
シークレットには、Pod 仮想マシン (VM) イメージとピア Pod インスタンスを作成するための認証情報が保存されます。
デフォルトでは、OpenShift Sandboxed Containers Operator はクラスターの作成に使用される認証情報に基づいてシークレットを作成します。ただし、異なる認証情報を使用するシークレットを手動で作成することはできます。
前提条件
-
コンピュート Engine リソースを管理するための、
roles/compute.instanceAdmin.v1
などの権限を持つ Google Cloud サービスアカウントを作成した。
手順
-
Google Cloud コンソールで IAM & Admin
Service Accounts Keys に移動し、キーを JSON ファイルとして保存します。 次のコマンドを実行して、JSON ファイルを 1 行の文字列に変換します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat <key_file>.json | jq -c .
$ cat <key_file>.json | jq -c .
-
OpenShift Container Platform Web コンソールで、Operators
Installed Operators に移動します。 - OpenShift sandboxed containers Operator タイルをクリックします。
- 右上隅のインポートアイコン (+) をクリックします。
Import YAML ウィンドウに、次の YAML マニフェストを貼り付けます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: v1 kind: Secret metadata: name: peer-pods-secret namespace: openshift-sandboxed-containers-operator type: Opaque stringData: GCP_CREDENTIALS: "<gc_service_account_key_json>"
apiVersion: v1 kind: Secret metadata: name: peer-pods-secret namespace: openshift-sandboxed-containers-operator type: Opaque stringData: GCP_CREDENTIALS: "<gc_service_account_key_json>"
1 - 1
<gc_service_account_key_json>
は、Google Cloud サービスアカウントキーの JSON ファイルから作成した 1 行の文字列に置き換えます。
- Save をクリックして変更を適用します。
-
Workloads
Secrets に移動して、ピア Pod シークレットを確認します。
5.2.4. ピア Pod config map の作成
OpenShift sandboxed containers のピア Pod config map を作成する必要があります。
手順
Compute Engine インスタンスにログインして、次の環境変数を設定します。
次のコマンドを実行してプロジェクト ID を取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow GCP_PROJECT_ID=$(gcloud config get-value project)
$ GCP_PROJECT_ID=$(gcloud config get-value project)
次のコマンドを実行してゾーンを取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow GCP_ZONE=$(gcloud config get-value compute/zone)
$ GCP_ZONE=$(gcloud config get-value compute/zone)
次のコマンドを実行して、ネットワーク名のリストを取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud compute networks list --format="value(name)"
$ gcloud compute networks list --format="value(name)"
次のコマンドを実行してネットワークを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow GCP_NETWORK=<network_name>
$ GCP_NETWORK=<network_name>
1 - 1
<network_name>
は、ネットワークの名前に置き換えます。
-
OpenShift Container Platform Web コンソールで、Operators
Installed Operators に移動します。 - Operator のリストから OpenShift Sandboxed Containers Operator を選択します。
- 右上隅にあるインポートアイコン (+) をクリックします。
Import YAML ウィンドウに、次の YAML マニフェストを貼り付けます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: v1 kind: ConfigMap metadata: name: peer-pods-cm namespace: openshift-sandboxed-containers-operator data: CLOUD_PROVIDER: "gcp" PROXY_TIMEOUT: "5m" GCP_PROJECT_ID: "<gcp_project_id>" GCP_ZONE: "<gcp_zone>" GCP_MACHINE_TYPE: "e2-medium" GCP_NETWORK: "<gcp_network>" PEERPODS_LIMIT_PER_NODE: "10" TAGS: "key1=value1,key2=value2" DISABLECVM: "true"
apiVersion: v1 kind: ConfigMap metadata: name: peer-pods-cm namespace: openshift-sandboxed-containers-operator data: CLOUD_PROVIDER: "gcp" PROXY_TIMEOUT: "5m" GCP_PROJECT_ID: "<gcp_project_id>"
1 GCP_ZONE: "<gcp_zone>"
2 GCP_MACHINE_TYPE: "e2-medium"
3 GCP_NETWORK: "<gcp_network>"
4 PEERPODS_LIMIT_PER_NODE: "10"
5 TAGS: "key1=value1,key2=value2"
6 DISABLECVM: "true"
- Save をクリックして変更を適用します。
-
新しい config map を表示するには、Workloads
ConfigMaps に移動します。
5.2.5. ピア Pod VM イメージの作成
QCOW2 ピア Pod 仮想マシン (VM) イメージを作成する必要があります。
前提条件
-
podman
がインストールされている。 - コンテナーレジストリーにアクセスできる。
手順
次のコマンドを実行して、OpenShift Sandboxed Containers リポジトリーのクローンを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow git clone https://github.com/openshift/sandboxed-containers-operator.git
$ git clone https://github.com/openshift/sandboxed-containers-operator.git
次のコマンドを実行して、
sandboxed-containers-operator/config/peerpods/podvm/bootc
に移動します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow cd sandboxed-containers-operator/config/peerpods/podvm/bootc
$ cd sandboxed-containers-operator/config/peerpods/podvm/bootc
次のコマンドを実行して、
registry.redhat.io
にログインします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman login registry.redhat.io
$ podman login registry.redhat.io
podman build
プロセスはレジストリーでホストされるContainerfile.rhel
コンテナーイメージにアクセスする必要があるため、registry.redhat.io
にログインする必要があります。次のコマンドを実行して、コンテナーレジストリーのイメージパスを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow IMG="<container_registry_url>/<username>/podvm-bootc:latest"
$ IMG="<container_registry_url>/<username>/podvm-bootc:latest"
次のコマンドを実行して、Pod 仮想マシン
bootc
イメージをビルドします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman build -t ${IMG} -f Containerfile.rhel .
$ podman build -t ${IMG} -f Containerfile.rhel .
次のコマンドを実行して、コンテナーレジストリーにログインします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman login <container_registry_url>
$ podman login <container_registry_url>
次のコマンドを実行して、イメージをコンテナーレジストリーにプッシュします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman push ${IMG}
$ podman push ${IMG}
テストや開発のために、イメージを公開できます。
次のコマンドを実行して、
podvm-bootc
イメージを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman images
$ podman images
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow REPOSITORY TAG IMAGE ID CREATED SIZE example.com/example_user/podvm-bootc latest 88ddab975a07 2 seconds ago 1.82 GB
REPOSITORY TAG IMAGE ID CREATED SIZE example.com/example_user/podvm-bootc latest 88ddab975a07 2 seconds ago 1.82 GB
5.2.6. ピア Pod 仮想マシンイメージ config map の作成
Pod 仮想マシン (VM) イメージの config map を作成します。
手順
-
OpenShift Container Platform Web コンソールで、Operators
Installed Operators に移動します。 - Operator のリストから OpenShift Sandboxed Containers Operator を選択します。
- 右上隅にあるインポートアイコン (+) をクリックします。
Import YAML ウィンドウに、次の YAML マニフェストを貼り付けます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: v1 kind: ConfigMap metadata: name: gc-podvm-image-cm namespace: openshift-sandboxed-containers-operator data: IMAGE_TYPE: pre-built PODVM_IMAGE_URI: <container_registry_url>/<username>/podvm-bootc:latest IMAGE_BASE_NAME: "podvm-image" IMAGE_VERSION: "0-0-0" INSTALL_PACKAGES: "no" DISABLE_CLOUD_CONFIG: "true" UPDATE_PEERPODS_CM: "yes" BOOT_FIPS: "no" BOOTC_BUILD_CONFIG: | [[customizations.user]] name = "peerpod" password = "peerpod" groups = ["wheel", "root"] [[customizations.filesystem]] mountpoint = "/" minsize = "5 GiB" [[customizations.filesystem]] mountpoint = "/var/kata-containers" minsize = "15 GiB"
apiVersion: v1 kind: ConfigMap metadata: name: gc-podvm-image-cm namespace: openshift-sandboxed-containers-operator data: IMAGE_TYPE: pre-built PODVM_IMAGE_URI: <container_registry_url>/<username>/podvm-bootc:latest IMAGE_BASE_NAME: "podvm-image" IMAGE_VERSION: "0-0-0" INSTALL_PACKAGES: "no" DISABLE_CLOUD_CONFIG: "true" UPDATE_PEERPODS_CM: "yes" BOOT_FIPS: "no" BOOTC_BUILD_CONFIG: | [[customizations.user]] name = "peerpod" password = "peerpod" groups = ["wheel", "root"] [[customizations.filesystem]] mountpoint = "/" minsize = "5 GiB" [[customizations.filesystem]] mountpoint = "/var/kata-containers" minsize = "15 GiB"
- Save をクリックして変更を適用します。
-
新しい config map を表示するには、Workloads
ConfigMaps に移動します。
5.2.7. Kata エージェントポリシーのカスタマイズ
Kata エージェントポリシーは、Kata ランタイムで実行されている Pod のエージェント API 要求を制御するセキュリティーメカニズムです。このポリシーは Rego で記述され、Pod 仮想マシン (VM) 内の Kata エージェントによって適用され、許可または拒否される操作を決定します。
セキュリティーが問題にならない開発やテストなどの特定のユースケースでは、デフォルトのポリシーをカスタムポリシーで上書きできます。たとえば、コントロールプレーンを信頼できる環境で実行する場合があります。カスタムポリシーは、複数の方法で適用できます。
- ポリシーを Pod VM イメージに組み込む。
- ピア Pod の config map にパッチを適用する。
- ワークロード Pod YAML にアノテーションを追加する。
実稼働システムの場合、initdata を使用して Kata エージェントポリシーをオーバーライドする方法が推奨されます。以下の手順では、io.katacontainers.config.agent.policy
アノテーションを使用してカスタムポリシーを個々の Pod に適用します。ポリシーは Base64 でエンコードされた Rego 形式で提供されます。このアプローチでは、Pod 仮想マシンイメージを変更せずに、Pod 作成時にデフォルトのポリシーをオーバーライドします。
カスタムポリシーは、デフォルトのポリシーを完全に置き換えます。特定の API のみを変更するには、完全なポリシーを含め、関連するルールを調整します。
手順
カスタムポリシーを含む
policy.rego
ファイルを作成します。次の例では、デモ用にexec
とlog
を有効にした、設定可能なすべての API を示しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow package agent_policy import future.keywords.in import input default CopyFileRequest := false default CreateContainerRequest := false default CreateSandboxRequest := true default DestroySandboxRequest := true default ExecProcessRequest := true # Enabled to allow exec API default GetOOMEventRequest := true default GuestDetailsRequest := true default OnlineCPUMemRequest := true default PullImageRequest := true default ReadStreamRequest := true # Enabled to allow log API default RemoveContainerRequest := true default RemoveStaleVirtiofsShareMountsRequest := true default SignalProcessRequest := true default StartContainerRequest := true default StatsContainerRequest := true default TtyWinResizeRequest := true default UpdateEphemeralMountsRequest := true default UpdateInterfaceRequest := true default UpdateRoutesRequest := true default WaitProcessRequest := true default WriteStreamRequest := false
package agent_policy import future.keywords.in import input default CopyFileRequest := false default CreateContainerRequest := false default CreateSandboxRequest := true default DestroySandboxRequest := true default ExecProcessRequest := true # Enabled to allow exec API default GetOOMEventRequest := true default GuestDetailsRequest := true default OnlineCPUMemRequest := true default PullImageRequest := true default ReadStreamRequest := true # Enabled to allow log API default RemoveContainerRequest := true default RemoveStaleVirtiofsShareMountsRequest := true default SignalProcessRequest := true default StartContainerRequest := true default StatsContainerRequest := true default TtyWinResizeRequest := true default UpdateEphemeralMountsRequest := true default UpdateInterfaceRequest := true default UpdateRoutesRequest := true default WaitProcessRequest := true default WriteStreamRequest := false
このポリシーは、
exec
(ExecProcessRequest
) およびlog
(ReadStreamRequest
) API を有効にします。必要に応じて、true
またはfalse
の値を調整してポリシーをさらにカスタマイズします。次のコマンドを実行して、
policy.rego
ファイルを Base64 でエンコードされた文字列に変換します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow base64 -w0 policy.rego
$ base64 -w0 policy.rego
yaml ファイルで使用するために出力を保存します。
-
OpenShift Container Platform Web コンソールで、Operators
Installed Operators に移動します。 - Operator のリストから OpenShift Sandboxed Containers Operator を選択します。
- 右上隅にあるインポートアイコン (+) をクリックします。
Import YAML ウィンドウで、次の YAML マニフェストを貼り付け、Base64 でエンコードされたポリシーを追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: v1 kind: Pod metadata: name: <pod_name> annotations: io.katacontainers.config.agent.policy: <base64_encoded_policy> spec: runtimeClassName: kata-remote containers: - name: <container_name> image: registry.access.redhat.com/ubi9/ubi:latest command: - sleep - "36000" securityContext: privileged: false seccompProfile: type: RuntimeDefault
apiVersion: v1 kind: Pod metadata: name: <pod_name> annotations: io.katacontainers.config.agent.policy: <base64_encoded_policy> spec: runtimeClassName: kata-remote containers: - name: <container_name> image: registry.access.redhat.com/ubi9/ubi:latest command: - sleep - "36000" securityContext: privileged: false seccompProfile: type: RuntimeDefault
- Save をクリックして変更を適用します。
5.2.8. KataConfig カスタムリソースの作成
ワーカーノードに kata-remote
を RuntimeClass
としてインストールするには、KataConfig
カスタムリソース (CR) を作成する必要があります。
kata-remote
ランタイムクラスは、デフォルトですべてのワーカーノードにインストールされます。kata-remote
を特定のノードにのみインストールする場合は、それらのノードにラベルを追加し、KataConfig
CR でラベルを定義できます。
OpenShift Sandboxed Containers は、kata-remote
をプライマリーランタイムとしてではなく、クラスター上の セカンダリーオプション のランタイムとしてインストールします。
KataConfig
CR を作成すると、ワーカーノードが自動的に再起動します。再起動には 10 分から 60 分以上かかる場合があります。次の要因により再起動時間が長くなる可能性があります。
- より多くのワーカーノードを持つ大規模な OpenShift Container Platform デプロイメント。
- BIOS および診断ユーティリティーが有効である。
- SSD ではなくハードディスクドライブにデプロイしている。
- 仮想ノードではなく、ベアメタルなどの物理ノードにデプロイしている。
- CPU とネットワークが遅い。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - オプション: ノードの適格性チェックを有効にする場合は、Node Feature Discovery Operator をインストールしておきます。
手順
-
OpenShift Container Platform Web コンソールで、Operators
Installed Operators に移動します。 - OpenShift sandboxed containers Operator を選択します。
- KataConfig タブで、Create KataConfig をクリックします。
以下の詳細を入力します。
-
Name: オプション: デフォルト名は
example-kataconfig
です。 -
Labels: オプション: 関連する識別属性を
KataConfig
リソースに入力します。各ラベルはキーと値のペアを表します。 - enablePeerPods: パブリッククラウド、IBM Z®、および IBM® LinuxONE デプロイメントの場合に選択します。
kataConfigPoolSelector。オプション: 選択したノードに
kata-remote
をインストールするには、選択したノードのラベルに一致する式を追加します。- kataConfigPoolSelector エリアを展開します。
- kataConfigPoolSelector エリアで、matchExpressions を展開します。これは、ラベルセレクターの要件のリストです。
- Add matchExpressions をクリックします。
- Key フィールドに、セレクターの適用先のラベルキーを入力します。
-
Operator フィールドに、キーとラベル値の関係を入力します。有効な演算子は、
In
、NotIn
、Exists
、DoesNotExist
です。 - Values エリアを展開し、Add value をクリックします。
-
Value フィールドで、
true
またはfalse
を key ラベル値として入力します。
-
logLevel: ランタイムクラスが
kata-remote
のノードに対して取得されるログデータのレベルを定義します。
-
Name: オプション: デフォルト名は
Create をクリックします。
KataConfig
CR が作成され、ワーカーノードにkata-remote
ランタイムクラスをインストールします。インストールを確認する前に、
kata-remote
のインストールが完了し、ワーカーノードが再起動するまで待ちます。
検証
-
KataConfig タブで、
KataConfig
CR をクリックして詳細を表示します。 YAML タブをクリックして
status
スタンザを表示します。status
スタンザには、conditions
およびkataNodes
キーが含まれています。status.kataNodes
の値はノード配列であり、各ノードにはkata-remote
インストールの特定の状態にあるノードがリストされます。更新があるたびにメッセージが表示されます。Reload をクリックして、YAML を更新します。
status.kataNodes
配列内のすべてのワーカーに、値installed
と、理由が指定されていないconditions.InProgress: False
が表示される場合、kata-remote
はクラスターにインストールされています。
関連情報
Pod VM イメージの確認
kata-remote
がクラスターにインストールされると、OpenShift sandboxed containers Operator は、ピア Pod の作成に使用される Pod 仮想マシンイメージを作成します。イメージがクラウドインスタンス上に作成されるため、このプロセスには時間がかかる場合があります。クラウドプロバイダー用に作成した config map を確認し、Pod 仮想マシンイメージが正常に作成されたことを確認できます。
手順
-
Workloads
ConfigMaps に移動します。 - プロバイダー config map をクリックすると、詳細が表示されます。
- YAML タブをクリックします。
YAML ファイルの
status
スタンザを確認します。PODVM_IMAGE_NAME
パラメーターが入力されている場合は、Pod 仮想マシンイメージが正常に作成されています。
トラブルシューティング
次のコマンドを実行してイベントログを取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get events -n openshift-sandboxed-containers-operator --field-selector involvedObject.name=osc-podvm-image-creation
$ oc get events -n openshift-sandboxed-containers-operator --field-selector involvedObject.name=osc-podvm-image-creation
次のコマンドを実行して、ジョブログを取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc logs -n openshift-sandboxed-containers-operator jobs/osc-podvm-image-creation
$ oc logs -n openshift-sandboxed-containers-operator jobs/osc-podvm-image-creation
問題を解決できない場合は、Red Hat サポートケースを送信し、両方のログの出力を添付してください。
5.2.9. ワークロードオブジェクトの設定
次の Pod テンプレートオブジェクトのランタイムクラスとして kata-remote
を設定して、OpenShift sandboxed containers のワークロードオブジェクトを設定する必要があります。
-
Pod
オブジェクト -
ReplicaSet
オブジェクト -
ReplicationController
オブジェクト -
StatefulSet
オブジェクト -
Deployment
オブジェクト -
DeploymentConfig
オブジェクト
Operator namespace にワークロードをデプロイしないでください。これらのリソース専用の namespace を作成します。
前提条件
-
KataConfig
カスタムリソース (CR) を作成している。
手順
次の例のように、各 Pod テンプレート化されたワークロードオブジェクトのマニフェストに
spec.runtimeClassName: kata-remote
を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: v1 kind: <object> # ... spec: runtimeClassName: kata-remote # ...
apiVersion: v1 kind: <object> # ... spec: runtimeClassName: kata-remote # ...
OpenShift Container Platform はワークロードオブジェクトを作成し、スケジュールを開始します。
検証
-
Pod テンプレートオブジェクトの
spec.runtimeClassName
フィールドを検査します。値がkata-remote
の場合、ワークロードはピア Pod を使用して OpenShift Sandboxed Containers で実行されています。