第4章 ピア Pod を使用して IBM Z および IBM LinuxONE に機密コンテナーをデプロイする


ピア Pod を使用して、IBM Z® および IBM® LinuxONE 上で実行される Red Hat OpenShift Container Platform クラスターに機密コンテナーのワークロードをデプロイできます。

ピア Pod アプローチでは、libvirt をプロバイダーとして活用し、論理パーティション (LPAR) 上でピア Pod 仮想マシン (VM) を起動します。OpenShift Container Platform クラスターは、シングルノードまたは複数ノードのセットアップとして、すべてのノードが仮想マシン (ゲスト) として実行される同じ LPAR 上でホストされます。

このアプローチにより、仮想化環境での柔軟なリソース共有と分離が可能になり、専用のハードウェアを必要とせずに分離が必要な開発、テスト、またはワークロードに適しています。

重要

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

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

4.1. 準備

ピア Pod を使用して、機密コンテナーを IBM Z® および IBM® LinuxONE にデプロイする前に、これらの前提条件と概念を確認してください。

注記

IBM® Hyper Protect Confidential Container (HPCC) for Red Hat OpenShift Container Platform が実稼働対応になりました。HPCC は、マルチパーティー Hyper Protect Contract、デプロイメントアテステーション、コンテナーランタイムと OCI イメージの整合性の検証を提供することで、エンタープライズ規模での Confidential Computing テクノロジーを実現します。

HPCC は、IBM Z17® および IBM® LinuxONE Emperor 5 でサポートされています。詳細は、IBM HPCC のドキュメント を参照してください。

4.1.1. 前提条件

  • 機密コンテナーのワークロードを実行しているクラスターに、最新バージョンの Red Hat OpenShift Container Platform がインストールされている。
  • 信頼された環境にある OpenShift Container Platform クラスターに Red Hat build of Trustee をデプロイしている。詳細は、Red Hat build of Trustee のデプロイ を参照してください。
  • LinuxONE Emperor 4 以降を使用している。
  • 論理パーティション (LPAR) で Secure Unpack Facility を有効化している。これは、IBM Secure Execution に必要です。詳細は、Enabling the KVM host for IBM Secure Execution を参照してください。

4.1.2. ピア Pod のリソース要件

クラスターに十分なリソースがあることを確認する。

ピア 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 ノード拡張リソースとして定義されます。この制限はノードごとに設定され、peer-pods-cm config map の PEERPODS_LIMIT_PER_NODE 属性によって設定されます。

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

OpenShift sandboxed containers Operator のインストール後に、環境の要件に基づいてノードごとの制限を編集できます。

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

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

  • mutating Webhook は、TARGET_RUNTIMECLASS 環境変数で指定された期待される RuntimeClassName 値について Pod をチェックします。Pod 仕様の値が TARGET_RUNTIMECLASS の値と一致しない場合、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.3. Initdata

initdata 仕様は、実行時にワークロード固有のデータを使用して Pod を初期化する柔軟な方法を提供し、そのようなデータを仮想マシン (VM) イメージに埋め込む必要性を回避します。

このアプローチにより、機密情報の漏洩が減り、セキュリティーが強化され、カスタムイメージビルドがなくなることで柔軟性が向上します。たとえば、initdata には次の 3 つの設定を含めることができます。

  • セキュアな通信のための X.509 証明書。
  • 認証用の暗号化キー。
  • デフォルトの Kata Agent ポリシーをオーバーライドする際に実行時の動作を強制する任意の Kata Agent policy.rego ファイル。

initdata コンテンツは次のコンポーネントを設定します。

  • Attestation Agent (AA) は、アテステーションのためにエビデンスを送信することで、Pod の信頼性を検証します。
  • Confidential Data Hub (CDH) は、Pod 仮想マシン内の秘密とセキュアなデータアクセスを管理します。
  • Kata エージェントは、ランタイムポリシーを適用し、Pod 仮想マシン内のコンテナーのライフサイクルを管理します。

initdata.toml ファイルを作成し、それを gzip 形式の Base64 エンコード文字列に変換します。この initdata の文字列を、次のいずれかの方法でワークロードに適用します。

  • グローバル設定: ピア Pod の config map で INITDATA キーの値として initdata 文字列を追加して、すべてのピア Pod のデフォルト設定を作成します。
  • Pod 設定: initdata 文字列を Pod マニフェストにアノテーションとして追加します。これにより、個々のワークロードのカスタマイズが可能になります。

    注記

    Pod マニフェスト内の initdata アノテーションは、その特定の Pod に対して、ピア Pod の config map 内のグローバルな INITDATA 値をオーバーライドします。Kata ランタイムは、Pod の作成時にこの優先順位を自動的に処理します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat