第1章 ノードのカスタマイズ
OpenShift Container Platform は、Ignition を介してクラスター全体の設定とマシンごとの設定の両方をサポートしています。そのため、オペレーティングシステムに対する任意のパーティショニングとファイルコンテンツの変更が可能です。一般に、設定ファイルが Red Hat Enterprise Linux (RHEL) で文書化されている場合、Ignition を介した変更がサポートされます。
マシン設定の変更をデプロイするには 2 つの方法があります。
-
openshift-install
の実行時にクラスターを起動するためにマニフェストファイルに組み込まれるマシン設定を作成します。 - Machine Config Operator を使用して実行中の OpenShift Container Platform ノードに渡されるマシン設定を作成します。
さらに、ベアメタルノードのインストール時に coreos-installer
に渡される Ignition 設定などの参照設定を変更すると、マシンごとの設定が可能になります。現在、これらの変更はマシン設定オペレーターに表示されません。
以下のセクションでは、この方法でノード上で設定する必要が生じる可能性のある機能を説明します。
1.1. Butane でのマシン設定の作成
マシン設定は、ユーザーおよびファイルシステムの作成、ネットワークの設定、systemd ユニットのインストールなどを行う方法をマシンに指示することで、コントロールプレーンマシンおよびワーカーマシンを設定するために使用されます。
マシン設定の変更は困難である可能性があるため、Butane 設定を使用してマシン設定を作成することができます。これにより、ノードの設定がより容易になります。
1.1.1. Butane について
Butane は、OpenShift Container Platform が使用するコマンドラインユーティリティーで、マシン設定を作成するための便利で簡略化した構文を提供したり、マシン設定の追加検証を実行したりします。Butane が受け入れる Butane 設定ファイルの形式は、OpenShift Butane config spec で定義されています。
1.1.2. Butane のインストール
Butane ツール (butane
) をインストールして、コマンドラインインターフェイスから OpenShift Container Platform マシン設定を作成できます。対応するバイナリーファイルをダウンロードし、Linux、Windows、または macOS に butane
をインストールできます。
Butane リリースは、古いリリースと、Fedora CoreOS Config Transpiler (FCCT) との後方互換性があります。
手順
- Butane イメージのダウンロードページ (https://mirror.openshift.com/pub/openshift-v4/clients/butane/) に移動してください。
butane
バイナリーを取得します。最新バージョンの Butane の場合は、最新の
butane
イメージを現在のディレクトリーに保存します。$ curl https://mirror.openshift.com/pub/openshift-v4/clients/butane/latest/butane --output butane
オプション: aarch64 や ppc64le など、Butane をインストールする特定のタイプのアーキテクチャーの場合は、適切な URL を指定してください。以下に例を示します。
$ curl https://mirror.openshift.com/pub/openshift-v4/clients/butane/latest/butane-aarch64 --output butane
ダウンロード済みのバイナリーファイルを実行可能にします。
$ chmod +x butane
butane
バイナリーファイルをPATH
にあるディレクトリーに移動します。PATH
を確認するには、ターミナルを開き、以下のコマンドを実行します。$ echo $PATH
検証手順
butane
コマンドを実行して、Butane ツールを使用できるようになりました。$ butane <butane_file>
1.1.3. Butane を使用した MachineConfig オブジェクトの作成
Butane を使用して MachineConfig
オブジェクトを作成できるため、インストール時に、または Machine Config Operator を使用して、ワーカーノードまたはコントロールプレーンノードを設定できます。
前提条件
-
butane
ユーティリティーをインストールした。
手順
Butane 設定ファイルを作成します。以下の例では、
99-worker-custom.bu
という名前のファイルを作成します。このファイルは、カーネルデバッグメッセージを表示するようにシステムコンソールを設定し、chrony タイムサービスのカスタム設定を指定します。variant: openshift version: 4.14.0 metadata: name: 99-worker-custom labels: machineconfiguration.openshift.io/role: worker openshift: kernel_arguments: - loglevel=7 storage: files: - path: /etc/chrony.conf mode: 0644 overwrite: true contents: inline: | pool 0.rhel.pool.ntp.org iburst driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync logdir /var/log/chrony
注記99-worker-custom.bu
ファイルは、ワーカーノードのマシン設定を作成するように設定されます。コントロールプレーンノードにデプロイするには、ロールをworker
からmaster
に変更します。どちらの方法でも、デプロイメントの種類ごとに異なるファイル名を使用して手順全体を繰り返すことができます。直前の手順で作成したファイルを Butane に指定して
MachineConfig
オブジェクトを作成します。$ butane 99-worker-custom.bu -o ./99-worker-custom.yaml
MachineConfig
オブジェクト YAML ファイルは、マシンの設定を終了するために作成されます。-
将来的に
MachineConfig
オブジェクトを更新する必要がある場合に備えて、Butane 設定を保存します。 クラスターがまだ起動していない場合は、マニフェストファイルを生成し、
MachineConfig
オブジェクト YAML ファイルをopenshift
ディレクトリーに追加します。クラスターがすでに実行中の場合は、ファイルを以下のように適用します。$ oc create -f 99-worker-custom.yaml