2.7. 拡張機能の RHCOS への追加
RHCOS はコンテナー指向の最小限の RHEL オペレーティングシステムであり、すべてのプラットフォームで OpenShift Container Platform クラスターに共通の機能セットを提供するように設計されています。RHCOS システムにソフトウェアパッケージを追加することは、一般的には推奨されません。ただし、MCO が提供する extensions
機能を使用すると、RHCOS ノードに最小限の機能セットを追加できます。
現時点で、以下の拡張機能が利用可能です。
-
usbguard:
usbguard
拡張機能は、侵入型の USB デバイスによる攻撃から RHCOS システムを保護します。詳細は、USBGuard を参照してください。 -
kerberos:
kerberos
拡張機能は、ユーザーとマシンの両方がネットワークに対して自分自身を識別し、管理者が設定した領域とサービスへの定義済みの制限付きアクセスを取得できるメカニズムを提供します。Kerberos クライアントの設定方法や Kerberos 化された NFS 共有のマウント方法などの詳細は、Kerberos の使用 を参照してください。 -
sandboxed-containers:
sandboxed-containers
拡張機能には、Kata、QEMU、およびその依存関係の RPM が含まれています。詳細は、OpenShift Sandboxed Containers を参照してください。 -
ipsec:
ipsec
拡張機能には、libreswan および NetworkManager-libreswan の RPM が含まれています。 -
wasm:
wasm
拡張機能は、WASM 対応ワークロードを使用するユーザー向けに、OpenShift Container Platform の開発者プレビュー機能を有効にします。 -
sysstat:
sysstat
拡張機能を追加すると、OpenShift Container Platform ノードのパフォーマンスモニタリングが強化され、system activity reporter (sar
) コマンドを使用して情報の収集と報告が行えるようになります。 -
kernel-devel:
kernel-devel
拡張機能は、カーネルパッケージに対してモジュールを構築するのに十分なカーネルヘッダーと makefile を提供します。
以下の手順では、マシン設定を使用して 1 つ以上の拡張機能を RHCOS ノードに追加する方法を説明します。
前提条件
- OpenShift Container Platform クラスター (バージョン 4.6 以降) が実行中である。
- 管理者権限を持つユーザーとしてクラスターにログインしている。
手順
拡張機能のマシン設定を作成します。
MachineConfig
extensions
オブジェクトが含まれる YAML ファイル (例:80-extensions.yaml
) を作成します。この例では、クラスターに対してusbguard
拡張機能を追加するように指示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow マシン設定をクラスターに追加します。以下を入力してマシン設定をクラスターに追加します。
oc create -f 80-extensions.yaml
$ oc create -f 80-extensions.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、すべてのワーカーノードで
usbguard
の rpm パッケージがインストールされるように設定できます。拡張機能が適用されていることを確認します。
oc get machineconfig 80-worker-extensions
$ oc get machineconfig 80-worker-extensions
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME GENERATEDBYCONTROLLER IGNITIONVERSION AGE 80-worker-extensions 3.5.0 57s
NAME GENERATEDBYCONTROLLER IGNITIONVERSION AGE 80-worker-extensions 3.5.0 57s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいマシン設定が適用され、ノードが degraded 状態になっていないことを確認します。これには数分の時間がかかる場合があります。各マシンで新規マシン設定が正常に適用されるため、ワーカープールには更新が進行中であることが表示されます。
oc get machineconfigpool
$ oc get machineconfigpool
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-35 True False False 3 3 3 0 34m worker rendered-worker-d8 False True False 3 1 1 0 34m
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-35 True False False 3 3 3 0 34m worker rendered-worker-d8 False True False 3 1 1 0 34m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 拡張機能を確認します。拡張機能が適用されたことを確認するには、以下を実行します。
oc get node | grep worker
$ oc get node | grep worker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME STATUS ROLES AGE VERSION ip-10-0-169-2.us-east-2.compute.internal Ready worker 102m v1.32.3
NAME STATUS ROLES AGE VERSION ip-10-0-169-2.us-east-2.compute.internal Ready worker 102m v1.32.3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc debug node/ip-10-0-169-2.us-east-2.compute.internal
$ oc debug node/ip-10-0-169-2.us-east-2.compute.internal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
... To use host binaries, run `chroot /host` sh-4.4# chroot /host sh-4.4# rpm -q usbguard usbguard-0.7.4-4.el8.x86_64.rpm
... To use host binaries, run `chroot /host` sh-4.4# chroot /host sh-4.4# rpm -q usbguard usbguard-0.7.4-4.el8.x86_64.rpm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow