Red Hatでソリューションアーキテクトをしている田中司恩(@tnk4on)です。
Apple Silicon搭載Mac(以下、ARM Mac)へのOpenShiftのインストール方法としてUPI編、エージェントベース編の2つをこれまでに紹介しました。今回はこれまでの2つよりも圧倒的に簡単にインストールできる「支援付きインストーラー」についてご紹介します。
(いつものお約束。本記事の内容は検証を目的としており、本番環境での使用や公式なサポートを保証するものではありません。)
[UPI編] 本記事でも度々参照しますので合わせて確認してください。 rheb.hatenablog.com
[エージェントベース編] UPIよりも柔軟なCLIベースでのインストール方法です。 rheb.hatenablog.com
-目次-
支援付きインストーラー
支援付きインストーラー(Assisted Installer)はRed Hat Hybrid Cloud Console(上のRed Hat OpenShift Cluster Manager)で提供されるGUIを使用したインストールソリューションです。OpenShift 4.10でGAになりました。現在ではベアメタル、vSphere、Nutanixがサポート対象のプラットフォームになっています。CLI操作不要でGUIを通じてOpenShiftのインストールに必要なインストーラーイメージ(Discovery ISO)を作成できます。インストール作業自体もインストーラーイメージを使ってノードを起動するだけで自動的にインストールが完了するお手軽仕様です。今回使用するシングルノード構成(以下、SNO)だけでなく、3ノードクラスター、複数のコンピュートノードを使用する可用性構成にも対応します。各ノードの固定IPアドレス設定もGUI上からできるので、小規模なOpenShiftのインストールでは今後推奨のインストール方法です。
SNO on ARM Mac(支援付きインストーラー)の構成概要
支援付きインストーラーではopenshift-install
の導入は不要です。SSHキーペアの作成を除き、インストールに必要な作業は全てGUIで行います。
構成図
構成の特徴、前提条件、パラメーター一覧
構成の特徴、前提条件、パラメーター一覧はUPI編の記事を参照してください。
インストール方法
参照する製品ドキュメントは2つあります。1. は支援付きインストーラーの単体のドキュメント、2.はOpenShiftのインストールドキュメントの単一ノードの章です。2.の方は簡略化した内容しか載っていないため、1. を基本的には読むことになります。
- OpenShift Container Platform の支援付きインストーラー Assisted Installer for OpenShift Container Platform 2022 | Red Hat Customer Portal
- 15.2. 単一ノードでの OpenShift のインストール OpenShift Container Platform 4.12 | Red Hat Customer Portal
0. 前提条件
(1) SSH公開鍵
下記を参考に、SSHキーペアを事前に準備します。
25.1.6. クラスターノードの SSH アクセス用のキーペアの生成
(2) OpenShiftノード
使用する仮想環境アプリでOpenShiftノード用の仮想マシンを作成します
(3) DNSサーバ
UPI編の記事を参照 - DNSサーバーの実行
1. クラスターの新規作成
ここからがインストール作業の本番開始です。GUIでの操作がメインなのでスクリーンショットが多めです。
Red Hat OpenShift Cluster Manager へアクセスします。
「Datacenter」タブへ切り替え、「Create cluster」を押します。
(1) Cluster details
まず初めにクラスターの詳細情報を入力します。 下記のパラメーターを入力し、「Next」を押します。
項目 | サンプル値 | 説明 |
---|---|---|
Cluster name | sno | |
Base domain | home.lab | |
OpenShift version | OpenShift 4.13.0-rc.7 | 要4.13.0-rc.6以降 |
CPU architecture | Arm64 | |
Install single node OpenShift(SNO) | チェック | 選択必須 |
Edit pull secret | チェック無し | |
Host's network configuration | Static IP,bridges and bonds | DHCPで固定IPアドレスの割り当てが可能なら DHCP only を選択 |
Encryption of installation disks | Disabled |
(2) Static network configurations
前項で静的IPアドレスの選択したので必要な情報を入力します。 下記のパラメーターを入力後、「Next」を押します。
項目 | サンプル値 | 説明 |
---|---|---|
Configure via | Form view | |
Networking stack type | IPv4 | |
Use VLAN | チェック無し | |
DNS | 192.168.1.150 | |
Machine network | 192.168.1.0/24 | |
Default gateway | 192.168.1.1 |
次の画面でOpenShiftノードのMACアドレスとIPアドレスを入力します。 下記のパラメーターを入力後、「Next」を押します。
項目 | サンプル値 | 説明 |
---|---|---|
MAC Address | 6a:75:4d:0c:7e:a5 | 仮想環境アプリで確認します |
IP address(IPv4) | 192.168.1.40 |
(3) Operators
Operatorはクラスター導入後に追加できます。 ここでは何も選択せず、「Next」を押します。
(4) Host discovery
ここではインストールに必要な設定が入力済みのDiscovery ISO
ファイルを作成し、ダウンロードします。
「Add host」を選択します。
Add host
下記のパラメーターを入力後、「Generate Discovery ISO」を押します。
項目 | サンプル値 | 説明 |
---|---|---|
Provisioning type | Full image file | |
SSH public key | <YOUR KEY> |
事前に作成済みのSSH公開鍵を入力します |
Configure cluster-wide proxy settings | チェック無し | |
Configure cluster-wide trusted certificates | チェック無し |
ブラウザ用のリンクと、CLI用のリンクが表示されるのでお好みの方法でDiscovery ISO
をダウンロードします。
タイミングによってはダウンロードに30分以上かかる場合があるので、時間に余裕を持って作業を行いましょう
Discovery ISO
のダウンロード完了後、仮想環境アプリでISOを指定しVMを起動します。
正常にVMの起動後、数分するとHost Inventory上に起動したOpenShiftノードが自動で表示されます。
ホスト名の左側を展開すると、ホストの詳細が確認できます。CPUアーキテクチャーやハードウェアの情報が確認できます。
インストールに必要な条件を満たすと、StatusがReady
になり「Next」が選択できます。
ノードの登録直後はNTP statusがエラーになっていることがあります。しばらくすると自動でNTPの同期が行われ「Synced」になります。
詳細の確認後、「Next」を押します。
(5) Storage
ISOの起動ディスクとは別に、インストール先のディスクが登録されていることを確認します。 確認後「Next」を押します。
- インストール先ディスクの容量が実際の容量(100GB)よりも多いのはSwap領域も含めての数字となっていると思われます。正常な動作です。
(6) Networking
最初に入力したネットワーク情報が正しく反映されているか確認します。 詳細の確認後、「Next」を押します。
(7) Review and create
ここまででインストールに必要な情報の入力、ノードのチェックは完了しています。 「Install cluster」を押してインストールを開始します。
2. インストールのモニタリング
インストールの開始後は自動で作業が進行します。またインストール中に必要な2回の再起動も自動で行われます。 インストール先のマシン性能にもよりますが、インストール完了までに30分以上は時間がかかります(手元のM1 Maxで確認)。
インストールの完了後、Webコンソールのログインに必要なkubeadmin
のパスワードが入手できます。また、「Download kubeconfig」ボタンを押してkubeconfig
をダウンロードすることができます。なお、kubeconfig
ファイルは20日間後に自動で消去されるため、正常にクラスターのインストールが完了したら確実に入手しておきましょう。
トラブルシュート
支援付きインストールではクラスターのインストールが完了するまでkubeconfig
は入手できません。そのため他のインストール方法で可能なopenshift-install
コマンドを用いたインストールの進捗確認はできません(その代わりにGUI上で確認ができるのですが)。インストール中に発生するイベントは「View Cluster Events」ボタンを押すことで確認ができます。
また、インストール中のOpenShiftノード(RHCOS)へのSSH接続は可能です。
export IP=192.168.1.40 sed -i -e "/${IP}/d" ~/.ssh/known_hosts ssh core@${IP} -o "StrictHostKeyChecking=no" journalctl -b -f
まとめ
UPIインストール、エージェントベースインストール、そして支援付きインストーラー、この3つのインストール方法でARM MacへのSNOのインストールが可能になりました。ようやく安定したインストール手法が確立できたばかりで実際にどう活用していくかはまだまだこれからです。x86_64に比べARMアーキテクチャーに対応したOperator Hub上のOperatorの種類もまだまだ少ないですが(現時点で1/10ほど)、OpenShift 4.13からARMアーキテクチャーもサポート対象となります*1。マルチアーキテクチャーがもはや当たり前の世の中で、ARM MacでSNOを使うことでOpenShift/Kubernetesにおけるマルチアーキテクチャーについて考える良い機会になるのではないでしょうか。
さあ3つのインストール方法を駆使しして、目指せポケモンマスターOpenShiftインストールマスター!
*1:What's New in OpenShift 4.13 [Technical Product Update] https://www.youtube.com/watch?v=KxvW_lVhsNo