検索

3.2. Web コンソールでピア Pod を使用した OpenShift Sandboxed Containers ワークロードのデプロイ

download PDF

Web コンソールから OpenShift Sandboxed Containers のワークロードをデプロイできます。まず、OpenShift Sandboxed Containers Operator をインストールし、次にシークレットオブジェクト、VM イメージ、およびピア Pod ConfigMap を作成する必要があります。シークレットオブジェクトと ConfigMap は一意です。クラウドプロバイダーに応じて指定します。最後に、KataConfig カスタムリソース (CR) を作成する必要があります。Sandboxed Containers にワークロードをデプロイする準備ができたら、kata-remote-cc をruntimeClassName としてワークロード YAML ファイルに手動で追加する必要があります。

3.2.1. Web コンソールを使用した OpenShift Sandboxed Containers Operator のインストール

OpenShift Sandboxed Containers Operator は、Red Hat OpenShift Web コンソールからインストールできます。

前提条件

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

手順

  1. Web コンソールの Administrator パースペクティブで、Operators OperatorHub に移動します。
  2. Filter by keyword フィールドに OpenShift sandboxed containers と入力します。
  3. OpenShift sandboxed containers タイルを選択します。
  4. Operator についての情報を確認してから、Install をクリックします。
  5. Install Operator ページで以下を行います。

    1. 選択可能な Update Channel オプションの一覧から stable を選択します。
    2. Installed NamespaceOperator recommend Namespace が選択されていることを確認します。これにより、Operator が必須の openshift-sandboxed-containers-operator namespace にインストールされます。この namespace がまだ存在しない場合は、自動的に作成されます。

      注記

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

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

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

検証

  1. Web コンソールの Administrator パースペクティブで、Operators Installed Operators に移動します。
  2. OpenShift Sandboxed Containers Operator がインストール済みの Operator リストに表示されていることを確認します。

3.2.2. Web コンソールを使用した AWS のピア Pod パラメーターの設定

AWS 上のピア Pod を使用して OpenShift Sandboxed Containers をデプロイするには、シークレットオブジェクトと ConfigMap を作成する必要があります。

シークレットオブジェクトを作成した後も、ピア Pod を使用して OpenShift Sandboxed Containers をデプロイするために KataConfig カスタムリソース (CR) を作成する必要があります。

前提条件

  • クラスターに Red Hat OpenShift 4.14 がインストールされている。
  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • OpenShift Sandboxed Containers Operator をインストールしている。

3.2.2.1. Web コンソールを使用した AWS のシークレットオブジェクトの作成

AWS アクセスキーを指定してシークレットオブジェクトでネットワークを設定します。シークレットオブジェクトを使用して Pod VM イメージの作成に使用し、このオブジェクトはピア Pod によって使用されます。

AWS のシークレットオブジェクトを作成するときは、特定の環境値を設定する必要があります。シークレットオブジェクトを作成する前に、これらの値の一部を取得できます。CLI を使用してこれらの値を取得する必要があります。詳細は、CLI を使用した AWS のシークレットオブジェクトの作成 を参照してください。

さらに、AWS Web コンソールで次の値を見つけて準備する必要があります。

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

手順

  1. Web コンソールの Administrator パースペクティブで、Operators Installed Operators に移動します。
  2. Operator のリストから OpenShift Sandboxed Containers Operator を選択します。
  3. 右上隅にあるインポートアイコン (+) をクリックします。
  4. Import YAML ウィンドウに、次の YAML マニフェストを貼り付けます。

    apiVersion: v1
    kind: Secret
    metadata:
      name: peer-pods-secret
      namespace: openshift-sandboxed-containers-operator
    type: Opaque
    stringData:
      AWS_ACCESS_KEY_ID: "<enter value>" 1
      AWS_SECRET_ACCESS_KEY: "<enter value>" 2
      AWS_REGION: "<enter value>" 3
      AWS_SUBNET_ID: "<enter value>" 4
      AWS_VPC_ID: "<enter value>" 5
      AWS_SG_IDS: "<enter value>" 6
    1
    開始する前に準備した AWS_ACCESS_KEY_ID 値を入力します。
    2
    開始する前に準備した AWS_SECRET_ACCESS_KEY 値を入力します。
    3
    取得した AWS_REGION 値を入力します。
    4
    取得した AWS_SUBNET_ID 値を入力します。
    5
    取得した AWS_VPC_ID 値を入力します。
    6
    取得した AWS_SG_IDS 値を入力します。
  5. Create をクリックします。

シークレットオブジェクトが作成されます。Workloads Secrets の下に表示されていることが確認できます。

3.2.2.2. Web コンソールを使用した AWS VM イメージ (AMI) の作成

AWS 上のピア Pod を使用して OpenShift Sandboxed Containers を実行するには、まず AWS アカウントとリソースを使用して RHEL AMI を作成する必要があります。

手順

  1. Web コンソールの Administrator パースペクティブから、Workloads Jobs に移動します。
  2. Jobs ウィンドウの左上隅で、openshift-sandboxed-containers-operator プロジェクトにいることを確認します。
  3. Create Job をクリックします。
  4. Create Job ウィンドウに、この完全な YAML マニフェスト を貼り付けます。
  5. Create をクリックします。

イメージが作成されます。

注記

このイメージは、OpenShift Sandboxed Containers では管理されません。必要に応じて、AWS Web コンソールまたは AWS CLI ツールを使用して削除できます。

イメージが作成されたら、ピア Pod ConfigMap を使用してイメージを設定する必要があります。

3.2.2.3. Web コンソールを使用した AWS 用のピア Pod ConfigMap の作成

AWS の ConfigMap を作成するときは、AMI ID を設定する必要があります。この値は、ConfigMap を作成する前に取得できます。この値の取得は、CLI を使用して行う必要があります。詳細は、CLI を使用した AWS のピア Pod ConfigMap の作成 を参照してください。

手順

  1. Web コンソールの Administrator パースペクティブで、Operators Installed Operators に移動します。
  2. Operator のリストから OpenShift Sandboxed Containers Operator を選択します。
  3. 右上隅にあるインポートアイコン (+) をクリックします。
  4. Import YAML ウィンドウに、次の YAML マニフェストを貼り付けます。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: peer-pods-cm
      namespace: openshift-sandboxed-containers-operator
    data:
      CLOUD_PROVIDER: "aws"
      VXLAN_PORT: "9000"
      PODVM_INSTANCE_TYPE: "t3.medium"
      PROXY_TIMEOUT: "5m"
      PODVM_AMI_ID: "<enter value>" 1
    1
    取得した PODVM_AMI_ID 値を入力します。
  5. Create をクリックします。

ConfigMap オブジェクトが作成されます。Workloads ConfigMaps の下に表示されていることが確認できます。

KataConfig CR を作成すると、AWS 上のピア Pod を使用して OpenShift Sandboxed Containers を実行できます。

3.2.3. Web コンソールを使用した Azure のピア Pod パラメーターの設定

Microsoft Azure 上のピア Pod を使用して OpenShift Sandboxed Containers をデプロイするには、シークレットオブジェクトと ConfigMap を作成する必要があります。

シークレットオブジェクトを作成した後も、ピア Pod を使用して OpenShift Sandboxed Containers をデプロイするために KataConfig カスタムリソース (CR) を作成する必要があります。

前提条件

  • クラスターに Red Hat OpenShift 4.14 がインストールされている。
  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • OpenShift Sandboxed Containers Operator をインストールしている。

3.2.3.1. Web コンソールを使用した Azure のシークレットオブジェクトの作成

Azure アクセスキーを設定し、シークレットオブジェクトでネットワークを設定します。シークレットオブジェクトを使用して Pod VM イメージの作成に使用し、このオブジェクトはピア Pod によって使用されます。

Azure のシークレットオブジェクトを作成するときは、特定の環境値を設定する必要があります。シークレットオブジェクトを作成する前に、これらの値の一部を取得できます。CLI を使用してこれらの値を取得する必要があります。詳細は、CLI を使用した Azure のシークレットオブジェクトの作成 を参照してください。

さらに、Azure Web コンソールで、次の値を見つけて準備する必要があります。

  • AZURE_CLIENT_ID
  • AZURE_CLIENT_SECRET
  • AZURE_TENANT_ID

手順

  1. Web コンソールの Administrator パースペクティブで、Operators Installed Operators に移動します。
  2. Operator のリストから OpenShift Sandboxed Containers Operator を選択します。
  3. 右上隅にあるインポートアイコン (+) をクリックします。
  4. Import YAML ウィンドウに、次の YAML マニフェストを貼り付けます。

    apiVersion: v1
    kind: Secret
    metadata:
      name: peer-pods-secret
      namespace: openshift-sandboxed-containers-operator
    type: Opaque
    stringData:
      AZURE_CLIENT_ID: "<enter value>" 1
      AZURE_CLIENT_SECRET: "<enter value>" 2
      AZURE_TENANT_ID: "<enter value>" 3
      AZURE_SUBSCRIPTION_ID: "<enter value>" 4
      AZURE_REGION: "<enter value>" 5
      AZURE_RESOURCE_GROUP: "<enter value>" 6
    1
    開始する前に準備した AZURE_CLIENT_ID 値を入力します。
    2
    開始する前に準備した AZURE_CLIENT_SECRET 値を入力します。
    3
    開始する前に準備した AZURE_TENANT_ID 値を入力します。
    4
    取得した AZURE_SUBSCRIPTION_ID 値を入力します。
    5
    取得した AZURE_REGION 値を入力します。
    6
    取得した AZURE_RESOURCE_GROUP 値を入力します。
  5. Create をクリックします。

シークレットオブジェクトが作成されます。Workloads Secrets の下に表示されていることが確認できます。

3.2.3.2. Web コンソールを使用した Azure VM イメージの作成

Azure 上のピア Pod を使用して OpenShift Sandboxed Containers を実行するには、まず Azure アカウントとリソースを使用して Azure 用の RHEL イメージを作成する必要があります。

手順

  1. Web コンソールの Administrator パースペクティブから、Workloads Jobs に移動します。
  2. Jobs ウィンドウの左上隅で、openshift-sandboxed-containers-operator プロジェクトにいることを確認します。
  3. Create Job をクリックします。
  4. Create Job ウィンドウに、この完全な YAML マニフェスト を貼り付けます。
  5. Create をクリックします。

イメージが作成されます。

注記

このイメージは、OpenShift Sandboxed Containers では管理されません。必要に応じて、Azure Web コンソールまたは Azure CLI ツールを使用して削除できます。

イメージが作成されたら、ピア Pod ConfigMap を使用してイメージを設定する必要があります。

3.2.3.3. Web コンソールを使用した Azure のピア Pod ConfigMap の作成

Azure の ConfigMap を作成するときは、特定の設定値を指定する必要があります。CLI を使用してこれらの値を取得する必要があります。詳細は、CLI を使用した Azure のピア Pod ConfigMap の作成 を参照してください。

手順

  1. Web コンソールの Administrator パースペクティブで、Operators Installed Operators に移動します。
  2. Operator のリストから OpenShift Sandboxed Containers Operator を選択します。
  3. 右上隅にあるインポートアイコン (+) をクリックします。
  4. Import YAML ウィンドウに、次の YAML マニフェストを貼り付けます。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: peer-pods-cm
      namespace: openshift-sandboxed-containers-operator
    data:
      CLOUD_PROVIDER: "azure"
      VXLAN_PORT: "9000"
      AZURE_INSTANCE_SIZE: "Standard_B2als_v2"
      AZURE_SUBNET_ID: "<enter value>" 1
      AZURE_NSG_ID: "<enter value>" 2
      AZURE_IMAGE_ID: "<enter value>" 3
      PROXY_TIMEOUT: "5m"
      DISABLECVM: "true"
    1
    取得した AZURE_SUBNET_ID 値を入力します。
    2
    取得した AZURE_NSG_ID 値を入力します。
    3
    取得した AZURE_IMAGE_ID 値を入力します。
  5. Create をクリックします。

ConfigMap オブジェクトが作成されます。Workloads ConfigMaps の下に表示されていることが確認できます。

3.2.3.4. Web コンソールを使用した Azure の SSH キーシークレットオブジェクトの作成

Azure でピア Pod を使用するには、SSH キーシークレットオブジェクトを作成する必要があります。オブジェクトの作成用の SSH 鍵がない場合は、CLI を使用して SSH 鍵を生成する必要があります。詳細は、以下を参照してください。

手順

  1. Web コンソールの Administrator パースペクティブから、Workloads Secrets に移動します。
  2. Secrets ウィンドウの左上隅で、openshift-sandboxed-containers-operator プロジェクトにいることを確認します。
  3. Create をクリックし、リストから Key/value secret を選択します。
  4. Secret name フィールドに ssh-key-secret と入力します。
  5. Key フィールドに id_rsa.pub と入力します。
  6. Value フィールドに、公開 SSH 鍵を貼り付けます。
  7. Create をクリックします。

SSH 鍵のシークレットオブジェクトが作成されます。Workloads Secrets の下に表示されていることが確認できます。

KataConfig CR を作成すると、Azure 上のピア Pod を使用して OpenShift Sandboxed Containers を実行できます。

3.2.4. Web コンソールでの KataConfig カスタムリソースの作成

kata-remote-cc をクラスターノードに RuntimeClass としてインストールできるようにするには、KataConfig カスタムリソース (CR) を 1 つ作成する必要があります。

重要

KataConfig CR を作成すると、ワーカーノードが自動的に再起動します。再起動には 10 分から 60 分以上かかる場合があります。再起動時間を妨げる要因は次のとおりです。

  • Red Hat OpenShift デプロイメントが大規模で、ワーカーノードの数が多い。
  • BIOS および診断ユーティリティーが有効である。
  • SSD ではなくハードディスクドライブにデプロイしている。
  • 仮想ノードではなく、ベアメタルなどの物理ノードにデプロイしている。
  • CPU とネットワークが遅い。

前提条件

  • クラスターに Red Hat OpenShift 4.14 がインストールされている。
  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • OpenShift Sandboxed Containers Operator をインストールしている。
注記

ピア Pod の Kata は、デフォルトですべてのワーカーノードにインストールされます。kata-remote-ccを 特定のノードにのみ RuntimeClass としてインストールする場合は、それらのノードにラベルを追加し、作成時に KataConfig CR でラベルを定義できます。

手順

  1. Web コンソールの Administrator パースペクティブで、Operators Installed Operators に移動します。
  2. Operator のリストから OpenShift Sandboxed Containers Operator を選択します。
  3. KataConfig タブで、Create KataConfig をクリックします。
  4. Create KataConfig ページで、次の詳細を入力します。

    • Name: KataConfig リソースの名前を入力します。デフォルトでは、名前は example-kataconfig として定義されています。
    • Labels (オプション): 関連する識別属性を KataConfig リソースに入力します。各ラベルはキーと値のペアを表します。
    • checkNodeEligibility (オプション、ピア Pod には該当しない): kataRuntimeClass として実行するノードの適格性を、Node Feature Discovery Operator (NFD) を使用して検出するには、このチェックボックスを選択します。詳細は、「クラスターノードが OpenShift Sandboxed Containers を実行する資格があるかどうかを確認する」を参照してください。
    • EnablePeerPods (ピア Pod の場合): ピア Pod を有効にし、パブリッククラウド環境で OpenShift Sandboxed Containers を使用するには、このチェックボックスをオンにします。
    • kataConfigPoolSelector: デフォルトでは、kata-remote-cc はすべてのノードに RuntimeClass としてインストールされます。選択したノードにのみ kata-remote-ccRuntimeClass としてインストールする場合は、matchExpression を追加する必要があります。

      1. kataConfigPoolSelector エリアを展開します。
      2. kataConfigPoolSelector で、matchExpressions を展開します。これは、ラベルセレクターの要件のリストです。
      3. Add matchExpressions をクリックします。
      4. key フィールドに、セレクターの適用先のラベルキーを追加します。
      5. operator フィールドに、ラベル値に対するキーの関係を追加します。有効な演算子は、InNotInExistsDoesNotExist です。
      6. values エリアを展開し、Add value をクリックします。
      7. Value フィールドで、true または falsekey ラベル値として入力します。
    • logLevel:kata-remote-ccRuntimeClass として実行しているノードに対して取得するログデータのレベルを定義します。詳細は、「OpenShift Sandboxed Containers データの収集」を参照してください。
  5. Create をクリックします。

新しい KataConfig CR が作成され、ワーカーノードに RuntimeClass として kata-remote-cc をインストールし始めます。インストールが完了してワーカーノードが再起動するまで待ってから、次の手順に進みます。

重要

OpenShift Sandboxed Containers は、kata-remote-cc をプライマリーランタイムとしてではなく、クラスター上のセカンダリーオプションのランタイムとしてのみインストールします。

検証

  1. KataConfig タブで、新しい KataConfig CR を選択します。
  2. KataConfig ページで、YAML タブを選択します。
  3. ステータスの installationStatus フィールドをモニターします。

    更新があるたびにメッセージが表示されます。リロード をクリックして、更新された KataConfig CR を表示します。

    Completed nodes の値がワーカーまたはラベル付けされたノードの数と等しくなると、インストールは完了です。ステータスには、インストールが完了したノードのリストも含まれます。

3.2.5. Web コンソールを使用したピア Pod を含むワークロードの Sandboxed Containers へのデプロイ

OpenShift Sandboxed Containers は、Kata をプライマリーランタイムとしてではなく、クラスターでセカンダリーオプションのランタイムとしてインストールします。

Sandboxed Containers 内のピア Pod を使用して Pod テンプレート化されたワークロードをデプロイするには、kata-remote-ccruntimeClassName としてワークロード YAML ファイルに手動で追加する必要があります。

前提条件

  • クラスターに Red Hat OpenShift 4.14 がインストールされている。
  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • OpenShift Sandboxed Containers Operator をインストールしている。
  • クラウドプロバイダーに固有のシークレットオブジェクトとピア Podconfig map を作成している。
  • KataConfig カスタムリソース (CR) を作成している。

手順

  1. Web コンソールの Administrator パースペクティブから、Workloads をデプロイメントし、作成するワークロードのタイプを選択します。
  2. ワークロードページで、をクリックしてワークロードを作成します。
  3. ワークロードの YAML ファイルで、コンテナーがリストされている spec フィールドに runtimeClassName: kata-remote-cc を追加します。

    Pod オブジェクトの例

    apiVersion: v1
    kind: Pod
    metadata:
      name: hello-openshift
      labels:
        app: hello-openshift
    spec:
      runtimeClassName: kata-remote-cc
      containers:
        - name: hello-openshift
          image: quay.io/openshift/origin-hello-openshift
          ports:
            - containerPort: 8888
          securityContext:
            privileged: false
            allowPrivilegeEscalation: false
            runAsNonRoot: true
            runAsUser: 1001
            capabilities:
              drop:
                - ALL
            seccompProfile:
              type: RuntimeDefault

  4. Save をクリックします。

Red Hat OpenShift はワークロードを作成し、スケジュールを開始します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.