第4章 IBM へのワークロードのデプロイ


OpenShift Sandboxed Containers のワークロードを IBM Z® および IBM® LinuxONE にデプロイできます。

重要

IBM Z® および IBM® LinuxONE への OpenShift サンドボックスコンテナーワークロードのデプロイは、テクノロジープレビュー機能としてのみ提供されています。テクノロジープレビュー機能は、Red Hat 製品サポートのサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではない場合があります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

クラスターの前提条件

  • Red Hat OpenShift Container Platform 4.14 以降がインストールされている。
  • クラスターには 3 つのコントロールノードと 2 つのワーカーノードがある。

デプロイメントフロー

このドキュメントは IBM Z® のみを対象としていますが、すべての手順は IBM® LinuxONE にも適用されます。

次の手順を実行して、OpenShift Sandboxed Containers のワークロードをデプロイします。

  1. KVM ホストで libvirt ボリュームを設定します。
  2. KVM ゲストイメージを作成し、libvirt ボリュームにアップロードします。
  3. ピア Pod 仮想マシンイメージを作成し、libvirt ボリュームにアップロードします。
  4. libvirt プロバイダーのシークレットを作成します。
  5. libvirt プロバイダーの config map を作成します。
  6. KVM ホストの SSH キーシークレットを作成します。
  7. KataConfig CR を作成します。
  8. オプション: ノードごとのピア Pod 仮想マシン制限を変更します。
  9. kata-remote ランタイムクラスを使用するようにワークロードオブジェクトを設定します。
注記
  • クラスターノードとピア Pod は、同じ IBM Z® KVM ホスト論理パーティション (LPAR) 内に存在する必要があります。
  • クラスターノードとピア Pod は同じサブネットに接続されている必要があります。

4.1. 環境の準備

環境を準備するには、以下の手順を実行します。

  1. クラスターに十分なリソースがあることを確認します。
  2. OpenShift Sandboxed Containers Operator を再インストールします。

4.1.1. リソース要件

ピア Pod 仮想マシン (VM) には、次の 2 つの場所にリソースが必要です。

  • ワーカーノード。ワーカーノードは、メタデータ、Kata shim リソース (containerd-shim-kata-v2)、リモートハイパーバイザーリソース (cloud-api-adaptor)、およびワーカーノードとピア Pod VM 間のトンネル設定を保存します。
  • クラウドインスタンス。これは、クラウド内で実行されている実際のピア Pod VM です。

Kubernetes ワーカーノードで使用される CPU およびメモリーリソースは、ピア Pod の作成に使用される RuntimeClass (kata-remote) 定義に含まれる Pod オーバーヘッド によって処理されます。

クラウド内で実行されているピア Pod VM の合計数は、Kubernetes ノード拡張リソースとして定義されます。この制限はノードごとであり、peerpodConfig カスタムリソース (CR) の limit 属性によって設定されます。

peerpodconfig-openshift という名前の peerpodConfig CR は、kataConfig CR を作成してピア Pod を有効にするときに作成され、openshift-sandboxed-containers-operator namespace に配置されます。

次の peerpodConfig CR の例は、デフォルトの spec 値を示しています。

apiVersion: confidentialcontainers.org/v1alpha1
kind: PeerPodConfig
metadata:
  name: peerpodconfig-openshift
  namespace: openshift-sandboxed-containers-operator
spec:
  cloudSecretName: peer-pods-secret
  configMapName: peer-pods-cm
  limit: "10" 
1

  nodeSelector:
    node-role.kubernetes.io/kata-oc: ""
Copy to Clipboard Toggle word wrap
1
デフォルトの制限は、ノードごとに 10 VM です。

拡張リソースの名前は kata.peerpods.io/vm で、Kubernetes スケジューラーが容量の追跡とアカウンティングを処理できるようにします。

ご使用の環境の要件に基づいて、ノードごとの制限を編集できます。詳細は、「ピア Pod のノードごとの VM 制限の変更」を参照してください。

mutating Webhook により、拡張リソース kata.peerpods.io/vm が Pod 仕様に追加されます。また、リソース固有のエントリーが存在する場合は、Pod 仕様から削除されます。こうすることで、Kubernetes スケジューラーがこれらの拡張リソースを考慮できるようになり、リソースが利用可能な場合にのみピア Pod がスケジュールされるようになります。

mutating Webhook は、次のように Kubernetes Pod を変更します。

  • mutating Webhook は、TARGET_RUNTIME_CLASS 環境変数で指定された RuntimeClassName の想定値であるか、Pod をチェックします。Pod 仕様の値が TARGET_RUNTIME_CLASS の値と一致しない場合、Webhook は Pod を変更せずに終了します。
  • RuntimeClassName の値が一致する場合、Webhook は Pod 仕様に次の変更を加えます。

    1. この Webhook は、Pod 内のすべてのコンテナーおよび初期化コンテナーの resources フィールドからすべてのリソース仕様を削除します。
    2. Webhook は、Pod 内の最初のコンテナーのリソースフィールドを変更して、拡張リソース (kata.peerpods.io/vm) を仕様に追加します。拡張リソース kata.peerpods.io/vm は Kubernetes スケジューラーによってアカウンティング目的で使用されます。
注記

mutating Webhook は、OpenShift Container Platform の特定のシステム namespace が変更されないように除外します。これらのシステム namespace でピア Pod が作成された場合、Pod の仕様に拡張リソースが含まれていない限り、Kubernetes 拡張リソースを使用したリソースアカウンティングは機能しません。

ベストプラクティスとして、特定の namespace でのみピア Pod の作成を許可するクラスター全体のポリシーを定義します。

4.1.2. OpenShift Sandboxed Containers Operator のインストール

OpenShift Container Platform Web コンソールまたはコマンドラインインターフェイス (CLI) を使用して、OpenShift sandboxed containers Operator をインストールできます。

4.1.2.1. Web コンソールを使用した Operator のインストール

Red Hat OpenShift Container Platform Web コンソールを使用して、OpenShift sandboxed containers Operator をインストールできます。

前提条件

  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。

手順

  1. OpenShift Container Platform Web コンソールで、Operators OperatorHub ページに移動します。
  2. Filter by keyword フィールドに OpenShift sandboxed containers と入力します。
  3. OpenShift sandboxed containers Operator タイルを選択し、Install をクリックします。
  4. Install Operator ページで、利用可能な Update Channel オプションの一覧から stable を選択します。
  5. Installed NamespaceOperator recommend Namespace が選択されていることを確認します。これにより、Operator が必須の openshift-sandboxed-containers-operator namespace にインストールされます。この namespace がまだ存在しない場合は、自動的に作成されます。

    注記

    OpenShift Sandboxed Containers Operator を openshift-sandboxed-containers-operator 以外の namespace にインストールしようとすると、インストールに失敗します。

  6. Approval StrategyAutomatic が選択されていることを確認します。Automatic がデフォルト値であり、新しい z-stream リリースが利用可能になると、OpenShift Sandboxed Containers への自動更新が有効になります。
  7. Install をクリックします。

これで、OpenShift Sandboxed Containers Operator がクラスターにインストールされました。

検証

  1. Operators Installed Operators に移動します。
  2. OpenShift Sandboxed Containers Operator が表示されることを確認します。

4.1.2.2. CLI を使用した Operator のインストール

CLI を使用して、OpenShift Sandboxed Containers Operator をインストールできます。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。

手順

  1. Namespace.yaml マニフェストファイルを作成します。

    apiVersion: v1
    kind: Namespace
    metadata:
      name: openshift-sandboxed-containers-operator
    Copy to Clipboard Toggle word wrap
  2. 以下のコマンドを実行して namespace を作成します。

    $ oc create -f Namespace.yaml
    Copy to Clipboard Toggle word wrap
  3. OperatorGroup.yaml マニフェストファイルを作成します。

    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: openshift-sandboxed-containers-operator
      namespace: openshift-sandboxed-containers-operator
    spec:
      targetNamespaces:
      - openshift-sandboxed-containers-operator
    Copy to Clipboard Toggle word wrap
  4. 以下のコマンドを実行して Operator グループを作成します。

    $ oc create -f OperatorGroup.yaml
    Copy to Clipboard Toggle word wrap
  5. Subscription.yaml マニフェストファイルを作成します。

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: openshift-sandboxed-containers-operator
      namespace: openshift-sandboxed-containers-operator
    spec:
      channel: stable
      installPlanApproval: Automatic
      name: sandboxed-containers-operator
      source: redhat-operators
      sourceNamespace: openshift-marketplace
      startingCSV: sandboxed-containers-operator.v1.6.0
    Copy to Clipboard Toggle word wrap
  6. 次のコマンドを実行して、サブスクリプションを作成します。

    $ oc create -f Subscription.yaml
    Copy to Clipboard Toggle word wrap

これで、OpenShift Sandboxed Containers Operator がクラスターにインストールされました。

検証

  • 次のコマンドを実行して、Operator が正常にインストールされていることを確認します。

    $ oc get csv -n openshift-sandboxed-containers-operator
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                             DISPLAY                                  VERSION             REPLACES                   PHASE
    openshift-sandboxed-containers   openshift-sandboxed-containers-operator  1.6.0    1.5.3        Succeeded
    Copy to Clipboard Toggle word wrap

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat