3.2. ノードのカスタマイズ
OpenShift Container Platform ノードへの直接の変更は推奨されませんが、必要とされる低レベルのセキュリティー、ネットワーク、またはパフォーマンス機能を実装することが必要になる場合があります。OpenShift Container Platform ノードへの直接の変更は、以下によって実行できます。
-
openshift-install
の実行時にクラスターを起動するためにマニフェストファイルに組み込まれるマシン設定を作成します。 - Machine Config Operator を使用して実行中の OpenShift Container Platform ノードに渡されるマシン設定を作成します。
以下のセクションでは、この方法でノード上で設定する必要が生じる可能性のある機能について説明します。
3.2.1. day-1 カーネル引数の追加
多くの場合、カーネル引数を day-2 アクティビティーとして変更することが推奨されますが、初期クラスターのインストール時にすべてのマスターまたはワーカーノードにカーネル引数を追加することができます。以下は、クラスターのインストール時にカーネル引数を追加して、システムの初回起動前に有効にする必要が生じる可能性のある理由です。
- SELinux などの機能を無効にし、初回起動時にシステムに影響を与えないようにする必要がある場合。
- システムの起動前に、低レベルのネットワーク設定を実行する必要がある場合。
カーネル引数をマスターまたはワーカーノードに追加するには、MachineConfig
オブジェクトを作成し、そのオブジェクトをクラスターのセットアップ時に Ignition が使用するマニフェストファイルのセットに挿入することができます。
起動時に RHEL 8 カーネルに渡すことのできる引数の一覧については、Kernel.org カーネルパラメーター を参照してください。カーネル引数が OpenShift Container Platform の初回インストールを完了するために必要な場合は、この手順でカーネル引数のみを追加することが推奨されます。
手順
クラスターの Kubernetes マニフェストを生成します。
$ ./openshift-install create manifests --dir=<installation_directory>
- カーネル引数をワーカーまたはマスターノードに追加するかどうかを決定します。
openshift
ディレクトリーでファイル (例:99-openshift-machineconfig-master-kargs.yaml
) を作成し、カーネル設定を追加するためにMachineConfig
オブジェクトを定義します。以下の例では、loglevel=7
カーネル引数をマスターノードに追加します。$ cat << EOF > 99-openshift-machineconfig-master-kargs.yaml apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: master name: 99-openshift-machineconfig-master-kargs spec: kernelArguments: - 'loglevel=7' EOF
カーネル引数をワーカーノードに追加する場合は、
master
をworker
に切り替えます。マスターおよびワーカーノードの両方に追加するために別々の YAML ファイルを作成します。
クラスターの作成を継続できます。