2.2. Web コンソールを使用した OpenShift Sandboxed Containers ワークロードのデプロイ
Web コンソールから OpenShift Sandboxed Containers のワークロードをデプロイできます。まず、OpenShift Sandboxed Containers Operator をインストールしてから、KataConfig
カスタムリソース (CR) を作成する必要があります。Sandboxed Containers にワークロードをデプロイする準備ができたら、ワークロード YAML ファイルに kata
を runtimeClassName
として手動で追加する必要があります。
2.2.1. Web コンソールを使用した OpenShift Sandboxed Containers Operator のインストール
OpenShift Sandboxed Containers Operator は、Red Hat OpenShift Web コンソールからインストールできます。
前提条件
- Red Hat OpenShift 4.14 がインストールされている。
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。
手順
-
Web コンソールの Administrator パースペクティブで、Operators
OperatorHub に移動します。 -
Filter by keyword フィールドに
OpenShift sandboxed containers
と入力します。 - OpenShift sandboxed containers タイルを選択します。
- Operator についての情報を確認してから、Install をクリックします。
Install Operator ページで以下を行います。
- 選択可能な Update Channel オプションの一覧から stable を選択します。
Installed Namespace で Operator recommend 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 をクリックします。
これで、OpenShift Sandboxed Containers Operator がクラスターにインストールされました。
検証
-
Web コンソールの Administrator パースペクティブで、Operators
Installed Operators に移動します。 - OpenShift Sandboxed Containers Operator がインストール済みの Operator リストに表示されていることを確認します。
2.2.2. Web コンソールでの KataConfig カスタムリソースの作成
クラスターノードに kata
を RuntimeClass
としてインストールできるようにするには、1 つの KataConfig
カスタムリソース (CR) を作成する必要があります。
KataConfig
CR を作成すると、ワーカーノードが自動的に再起動します。再起動には 10 分から 60 分以上かかる場合があります。再起動時間を妨げる要因は次のとおりです。
- Red Hat OpenShift デプロイメントが大規模で、ワーカーノードの数が多い。
- BIOS および診断ユーティリティーが有効である。
- SSD ではなくハードディスクドライブにデプロイしている。
- 仮想ノードではなく、ベアメタルなどの物理ノードにデプロイしている。
- CPU とネットワークが遅い。
前提条件
- クラスターに Red Hat OpenShift 4.14 がインストールされている。
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - OpenShift Sandboxed Containers Operator をインストールしている。
Kata は、デフォルトですべてのワーカーノードにインストールされます。特定のノードにのみ kata
を RuntimeClass
としてインストールする場合は、それらのノードにラベルを追加し、作成時に KataConfig
CR でラベルを定義できます。
手順
-
Web コンソールの Administrator パースペクティブで、Operators
Installed Operators に移動します。 - Operator のリストから OpenShift Sandboxed Containers Operator を選択します。
- KataConfig タブで、Create KataConfig をクリックします。
Create KataConfig ページで、次の詳細を入力します。
-
Name:
KataConfig
リソースの名前を入力します。デフォルトでは、名前はexample-kataconfig
として定義されています。 -
Labels (オプション): 関連する識別属性を
KataConfig
リソースに入力します。各ラベルはキーと値のペアを表します。 -
checkNodeEligibility
(オプション、ピア Pod には該当しない):kata
をRuntimeClass
として実行するノードの適格性を、Node Feature Discovery Operator (NFD) を使用して検出するには、このチェックボックスを選択します。詳細は、「クラスターノードが OpenShift Sandboxed Containers を実行する資格があるかどうかを確認する」を参照してください。 -
EnablePeerPods
(ピア Pod の場合): ピア Pod を有効にし、パブリッククラウド環境で OpenShift Sandboxed Containers を使用するには、このチェックボックスをオンにします。 kataConfigPoolSelector
: デフォルトでは、kata
はすべてのノードにRuntimeClass
としてインストールされます。選択したノードにのみkata
をRuntimeClass
としてインストールする場合は、matchExpression を追加する必要があります。-
kataConfigPoolSelector
エリアを展開します。 -
kataConfigPoolSelector
で、matchExpressions を展開します。これは、ラベルセレクターの要件のリストです。 - Add matchExpressions をクリックします。
- key フィールドに、セレクターの適用先のラベルキーを追加します。
-
operator フィールドに、ラベル値に対するキーの関係を追加します。有効な演算子は、
In
、NotIn
、Exists
、DoesNotExist
です。 - values エリアを展開し、Add value をクリックします。
-
Value フィールドで、
true
またはfalse
を key ラベル値として入力します。
-
-
logLevel
:kata
をRuntimeClass
として実行しているノードに対して、取得するログデータのレベルを定義します。詳細は、「OpenShift Sandboxed Containers データの収集」を参照してください。
-
Name:
- Create をクリックします。
新しい KataConfig
CR が作成され、ワーカーノードに kata
を RuntimeClass
としてインストールし始めます。kata
のインストールが完了し、ワーカーノードが再起動するのを待ってから、次の手順に進みます。
OpenShift Sandboxed Containers は、kata
をプライマリーランタイムとしてではなく、クラスター上のセカンダリーオプションのランタイムとしてのみインストールします。
検証
-
KataConfig タブで、新しい
KataConfig
CR を選択します。 - KataConfig ページで、YAML タブを選択します。
ステータスの installationStatus フィールドをモニターします。
更新があるたびにメッセージが表示されます。リロード をクリックして、更新された
KataConfig
CR を表示します。Completed nodes の値がワーカーまたはラベル付けされたノードの数と等しくなると、インストールは完了です。ステータスには、インストールが完了したノードのリストも含まれます。
2.2.3. Web コンソールを使用した Sandboxed Containers へのワークロードのデプロイ
OpenShift Sandboxed Containers は、Kata をプライマリーランタイムとしてではなく、クラスターでセカンダリーオプションのランタイムとしてインストールします。
Pod テンプレート化されたワークロードを Sandboxed Containers にデプロイするには、kata
を runtimeClassName
としてワークロード YAML ファイルに手動で追加する必要があります。
前提条件
- クラスターに Red Hat OpenShift 4.14 がインストールされている。
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - OpenShift Sandboxed Containers Operator をインストールしている。
-
KataConfig
カスタムリソース (CR) を作成している。
手順
- Web コンソールの Administrator パースペクティブから、Workloads をデプロイメントし、作成するワークロードのタイプを選択します。
- ワークロードページで、をクリックしてワークロードを作成します。
ワークロードの YAML ファイルで、コンテナーがリストされている spec フィールドに、
runtimeClassName: kata
を追加します。Pod オブジェクトの例
apiVersion: v1 kind: Pod metadata: name: hello-openshift labels: app: hello-openshift spec: runtimeClassName: kata 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
- Save をクリックします。
Red Hat OpenShift はワークロードを作成し、スケジュールを開始します。