カスタマイズされたRed Hat Enterprise Linux CoreOS (RHCOS) ISOイメージを使用して、エージェントベースのインストーラで作成されたOpenShiftクラスタにワーカー・ノードを追加します。
- マシン構成オペレータ・シークレットを読み取ることができるユーザーとして、
ocコマンドを使用してクラスタにアクセスします。
- ISOイメージの作成に使用するシステムに
coreos-installerをインストールします。
- 新しいノードがワーカーIgnition構成をダウンロードするためにアクセスできるWebサーバーを指定します。
- 新しい各ノードのターゲット・インストール・デバイスを特定します。このプロシージャでは、
/dev/sdaを例として使用します。
- レジストリ認証に使用できるプル・シークレットがあります。
このプロシージャは、Day 2 ISOイメージを作成し、そのカーネル引数をカスタマイズし、イメージを使用して新しいワーカー・ノードをプロビジョニングします。ノードは、インストール中に、指定されたWebサーバーからそのIgnition構成をダウンロードします。
ノート
Ignition構成のHTTP配信は、制御された環境でのみ使用してください。ネットワーク・セキュリティ・ルールにより、新しいノードがWebサーバーにアクセスできるようにしてください。
-
ISOイメージの作成に使用されたシステムで、作業ディレクトリを作成し、レジストリ認証ファイルを設定します。
export REGISTRY_AUTH_FILE=/home/opc/PullSecret.json
export DIR=day2
mkdir -p $DIR
cd $DIR
-
ワーカーのIgnition構成をクラスタからエクスポートします。
oc -n openshift-machine-config-operator get secret worker-user-data \
-o jsonpath='{.data.userData}' | base64 -d > worker.ign
-
ワーカーIgnition構成を、新しいノードがアクセスできるWebサーバー・ディレクトリにコピーします。
sudo mkdir -p /var/www/html/day2
sudo cp worker.ign /var/www/html/day2/worker.ign
sudo chmod 0644 /var/www/html/day2/worker.ign
-
WebサーバーがIgnition構成を提供でき、構成が有効なJSONであることを確認します。
curl -sS http://webserver/day2/worker.ign | head -n 2
curl -sS http://webserver/day2/worker.ign | jq -e . >/dev/null && echo OK
-
Day 2 ISOイメージを作成します。新しいノードのMACアドレスとターゲット・インストール・デバイスを指定します。
oc adm node-image create \
--mac-address=00:00:00:00:00:00 \
--root-device-hint=deviceName:/dev/sda
このコマンドは、node.x86_64.isoファイルを作成します。特定のホストのISOイメージを作成するときは、実際のMACアドレスを使用します。
-
コンソール、デバッグ、ライブ環境、install-device、およびIgnition URLカーネル引数を使用してISOイメージをカスタマイズします。
coreos-installer iso customize -f \
--live-karg-append console=tty0 \
--live-karg-append console=ttyS0,115200n8 \
--live-karg-append rd.debug \
--live-karg-append rd.live.ram=1 \
--live-karg-append rd.live.overlay=none \
--live-karg-append rd.luks=0 \
--live-karg-append rd.lvm=0 \
--live-karg-append rd.md=0 \
--live-karg-append rd.dm=0 \
--live-karg-append coreos.liveiso.fromram \
--live-karg-append coreos.inst.install_dev=/dev/sda \
--live-karg-append coreos.inst.ignition_url=http://webserver/day2/worker.ign \
-o rhcos-auto-worker-oci-ram-debug-DAY2-1.iso \
node.x86_64.iso
ノート
/dev/sdaおよびhttp://webserver/day2/worker.ignを、新しいノードおよび環境の値に置き換えます。
-
カスタマイズされたISOイメージに埋め込まれたカーネル引数を確認します。
coreos-installer iso kargs show rhcos-auto-worker-oci-ram-debug-DAY2-1.iso
-
カスタマイズされたISOイメージをオブジェクト・ストレージにアップロードし、OCIカスタム・イメージを作成し、カスタム・イメージを使用するワーカー・インスタンスを作成します。
-
新しいノードで、カーネル引数とインストール・ログを確認します。
cat /proc/cmdline
journalctl -b -u coreos-installer -u ignition-*
-
クラスタから、ノードのプロビジョニングおよび結合プロセスを監視します。
oc adm node-image monitor --ip-addresses <node_IP_address>
出力を使用して、Ignitionの取得、kubeletの起動、証明書署名リクエストの承認、または準備中にノードがブロックされるかどうかを識別します。