第7章 RHCOS イメージのレイヤー化
Red Hat Enterprise Linux CoreOS (RHCOS) イメージのレイヤー化を使用すると、ベースイメージの上に追加のイメージを 重ねる ことで、ベース RHCOS イメージの機能を簡単に拡張できます。この階層化は、RHCOS のベースイメージを変更しません。代わりに、すべての RHCOS 機能を含む カスタムレイヤーイメージ を作成し、クラスター内の特定のノードに追加機能を追加します。
7.1. RHCOS イメージのレイヤー化について
イメージのレイヤー化を使用すると、クラスターワーカーノードの基盤となるノードオペレーティングシステムをカスタマイズできます。これにより、ノードのオペレーティングシステムや特殊なソフトウェアなどのカスタマイズの追加を含め、すべてを最新の状態に保つことができます。
Containerfile を使用してカスタムレイヤーイメージを作成し、カスタムオブジェクトを使用してそれをノードに適用します。カスタムレイヤーイメージは、カスタムオブジェクトを削除することでいつでも削除できます。
RHCOS イメージのレイヤー化を使用すると、RPM を基本イメージにインストールでき、カスタムコンテンツが RHCOS と一緒に起動されます。Machine Config Operator (MCO) は、デフォルトの RHCOS イメージの場合と同じ方法で、これらのカスタムレイヤーイメージをロールアウトし、これらのカスタムコンテナーを監視できます。RHCOS イメージのレイヤー化により、RHCOS ノードの管理方法がより柔軟になります。
リアルタイムカーネルと拡張機能の RPM をカスタムレイヤードコンテンツとしてインストールすることは推奨しません。これは、これらの RPM が、マシン設定を使用してインストールされた RPM と競合する可能性があるためです。競合がある場合、MCO がマシン設定 RPM をインストールしようとすると、degraded
状態になります。続行する前に、競合する拡張機能をマシン設定から削除する必要があります。
カスタムレイヤーイメージをクラスターに適用するとすぐに、カスタムレイヤーイメージとそれらのノードの 所有権 を効率的に取得できます。Red Hat は引き続き標準ノード上の RHCOS の基本イメージの維持と更新を担当しますが、カスタムレイヤーイメージを使用するノードのイメージの維持と更新はお客様の責任となります。カスタムレイヤーイメージで適用したパッケージと、パッケージで発生する可能性のある問題は、お客様が責任を負うものとします。
カスタムレイヤーイメージをノードにデプロイする方法には、次の 2 つのものがあります。
- クラスター上でのレイヤー化
クラスター上でのレイヤー化 では、
MachineOSConfig
オブジェクトを作成し、そのオブジェクトに Containerfile やその他のパラメーターを追加します。ビルドはクラスター上で実行します。作成されるカスタムレイヤーイメージは、リポジトリーに自動的にプッシュされ、MachineOSConfig
オブジェクトで指定したマシン設定プールに適用されます。プロセス全体がクラスター内で完全に実行されます。重要クラスター上でのイメージレイヤー化は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
- クラスター外でのレイヤー化
-
クラスター外でのレイヤー化 では、OpenShift Container Platform イメージと適用する RPM を参照する Containerfile を作成して、独自の環境でレイヤーイメージをビルドし、そのイメージをリポジトリーにプッシュします。その後、クラスターで、新しいイメージを参照する対象ノードプールの
MachineConfig
オブジェクトを作成します。Machine Config Operator は、関連付けられたマシン設定のosImageURL
値で指定されているように、RHCOS の基本イメージをオーバーライドし、新しいイメージを起動します。
どちらの方法でも、クラスターの残りの部分にインストールされている同じベース RHCOS イメージを使用します。クラスターで使用されるベースイメージを取得するには、oc adm release info --image-for rhel-coreos
コマンドを使用します。