Hatの福岡オフィスでソリューションアーキテクトをしている田中司恩です。9日目のエントリになります。*1今回と次回、2回に分けてOCP4/UPIインストールにおけるWorkerノードの追加について説明します。OCP4/UPIインストールについては下記記事を参照ください。rheb.hatenablog.com本記事の章立てはこのようになります。UPIにおけるWorkerノード追加の概要RHCOSノードの追加Workerノードの手動削除UPIにおけるWorkerノード追加の概要UPIインストールではインストールコンフィグ(install-config.yaml)にWorkerノードの台数を0と記載してインストールを行います。インストール時に起動したWorkerノードの台数が、初期クラスター構築時のWorkerノードの台数となります。クラスター構築時にWorkerノードに使用できるOSはRHCOSのみです。それに対し、IPIで構築したクラスターにおいてノードは、Machineというリソースとしてノードが管理されます。0個以上のMachineをグループ化したMachineSetにより、管理者はレプリカ数の増減によって容易にノードの追加/削除が行えます。UPIで作成したクラスターにはMachine/MachineSetはありませんので同じ方法は使えません*2。UPIクラスターにおいては手動作業でのWorkerノードの追加作業が必要となります。OCP4では追加のWorkerノードとして、RHCOSとRHELノードが選択できます。下記はRHCOSとRHELノードを使った場合の簡単な比較表です。OTAでアップデート。個別にパッチ適用必要。続いてRHCOSノードの追加方法について説明します。RHCOSノードの追加[図1]RHCOSノードの追加RHCOSのノードの追加方法について、実はドキュメントに該当する記載がありません*3。その代わり、下記のナレッジに関連する記載があります。Portal要約すると下記の通りです。Workerノードはマスターノードと同じ手順で追加できる(vSphere/ベアメタルのドキュメントに説明がある)新規のインストールと同様にworker.ignを使用してインストールを行う。Operator(MCO)と同期してクラスターに追加される(※注意※)vSphere/ベアメタルのインストールドキュメントに記載されているように、ノードのCSR(証明書署名要求)を手動で承認する必要がある(場合がある)。ナレッジにも「ドキュメントに書いてる通り」という表現がありますが、探してみてもRHCOSノードの追加を指している箇所はありません。現時点ではいくつかの情報を組み合わせるとなんとか上記のことが理解できます。やってみると手順は非常に簡単で、まとめると下記のようになります。起動処理が終わりクラスターと同期するとCSRの承認待ちになるCLIでCSRの承認を行うクラスターにノードが追加される実際にテストしてみます。構成はいつものUPI検証環境で、3ノードクラスターにRHCOSのWorkerノード:worker-2を追加する、というシナリオで実行します。*4検証環境の構成図は下記の通りです。[図2]検証環境ネットワーク構成図ここではWorkerノード:worker-2の起動処理が終わった後からの手順を紹介します。今回の手順そのものではないですが、CSRの承認に関連するドキュメントは下記にあります。PendingPendingのものが出てきました。v1.14.6+31a56cf75ノードは追加されているのですが、実は同時にCSRが追加されています*5。再度CSRの確認をします。Approved,Issued必要なCSRが承認され、無事にRHCOSのWorkerノード:worker-2がクラスターに追加されました。RHCOSノードの追加については以上となります。Workerノードの手動削除Workerノードの追加ができたので、今度は手動での削除を行います。手動削除に関するドキュメントは下記です。コンピュートマシンのノード名を指定します。コンピュートマシンのノード名を指定します。--ignore-daemonsets最後にノードを削除します。コンピュートマシンのノード名を指定します。<node_name>以上の手順でWorkerノードの手動削除が行えます。v1.14.6+31a56cf75Workerノードの削除については以上です。まとめOCP4/UPIクラスターにRHCOSノードを追加、削除する方法をご紹介しました。複雑な手順は無いので、UPI環境でも自由にWorkerノードの追加/削除が行えます。IPIと違い自動的なノードの追加/削除の機能はありませんが、UPIでは自分で工夫して環境に合わせたカスタマイズを行うことができる点がメリットです。次回は引き続き、RHELノードの追加方法について説明します。Ideas!*1:本来はOCP4でGPUを使う内容の予定でしたが、諸事情により変更になりました...。今後の記事にご期待ください。*2:UPIが管理者がノードを用意するという前提のため*3:2019年12月時点、v4.1/4.2において*4:3ノードクラスターについてはこちらの記事を参照。Hatでコンサルタントをしている織です。各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。