Apple Silicon搭載MacにシングルノードOpenShiftをインストールする(支援付きインストーラー編)

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で行います。

構成図

Single Node OpenShift on ARM Mac(Assisted Installer)のアーキテクチャー
Single Node OpenShift on ARM Mac(Assisted Installer)のアーキテクチャー

構成の特徴、前提条件、パラメーター一覧

構成の特徴、前提条件、パラメーター一覧はUPI編の記事を参照してください。

インストール方法

参照する製品ドキュメントは2つあります。1. は支援付きインストーラーの単体のドキュメント、2.はOpenShiftのインストールドキュメントの単一ノードの章です。2.の方は簡略化した内容しか載っていないため、1. を基本的には読むことになります。

  1. OpenShift Container Platform の支援付きインストーラー Assisted Installer for OpenShift Container Platform 2022 | Red Hat Customer Portal
  2. 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

Cluster details
Cluster details

(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

Network-wide configrations
Network-wide configrations

次の画面でOpenShiftノードのMACアドレスとIPアドレスを入力します。 下記のパラメーターを入力後、「Next」を押します。

項目 サンプル値 説明
MAC Address 6a:75:4d:0c:7e:a5 仮想環境アプリで確認します
IP address(IPv4) 192.168.1.40

Host specific configrations
Host specific configrations

(3) Operators

Operatorはクラスター導入後に追加できます。 ここでは何も選択せず、「Next」を押します。

Operators
Operators

(4) Host discovery

ここではインストールに必要な設定が入力済みのDiscovery ISOファイルを作成し、ダウンロードします。 「Add host」を選択します。

Host discovery
Host discovery

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 チェック無し

Generate Discovery ISO
Generate Discovery ISO

ブラウザ用のリンクと、CLI用のリンクが表示されるのでお好みの方法でDiscovery ISOをダウンロードします。

タイミングによってはダウンロードに30分以上かかる場合があるので、時間に余裕を持って作業を行いましょう

Download Discovery ISO
Download Discovery ISO

Discovery ISOのダウンロード完了後、仮想環境アプリでISOを指定しVMを起動します。 正常にVMの起動後、数分するとHost Inventory上に起動したOpenShiftノードが自動で表示されます。

起動したノードが自動で登録される
起動したノードが自動で登録される

ホスト名の左側を展開すると、ホストの詳細が確認できます。CPUアーキテクチャーやハードウェアの情報が確認できます。

ホストの詳細
ホストの詳細

インストールに必要な条件を満たすと、StatusがReadyになり「Next」が選択できます。

ノードの登録直後はNTP statusがエラーになっていることがあります。しばらくすると自動でNTPの同期が行われ「Synced」になります。

詳細の確認後、「Next」を押します。

(5) Storage

ISOの起動ディスクとは別に、インストール先のディスクが登録されていることを確認します。 確認後「Next」を押します。

Storage
Storage

  • インストール先ディスクの容量が実際の容量(100GB)よりも多いのはSwap領域も含めての数字となっていると思われます。正常な動作です。

(6) Networking

最初に入力したネットワーク情報が正しく反映されているか確認します。 詳細の確認後、「Next」を押します。

Networking
Networking

(7) Review and create

ここまででインストールに必要な情報の入力、ノードのチェックは完了しています。 「Install cluster」を押してインストールを開始します。

Review and create
Review and create

2. インストールのモニタリング

インストールの開始後は自動で作業が進行します。またインストール中に必要な2回の再起動も自動で行われます。 インストール先のマシン性能にもよりますが、インストール完了までに30分以上は時間がかかります(手元のM1 Maxで確認)。

インストールデモ動画(100倍速)
インストールデモ動画(100倍速)

インストールの完了後、Webコンソールのログインに必要なkubeadminのパスワードが入手できます。また、「Download kubeconfig」ボタンを押してkubeconfigをダウンロードすることができます。なお、kubeconfigファイルは20日間後に自動で消去されるため、正常にクラスターのインストールが完了したら確実に入手しておきましょう。

インストールの完了
インストールの完了

トラブルシュート

支援付きインストールではクラスターのインストールが完了するまでkubeconfigは入手できません。そのため他のインストール方法で可能なopenshift-installコマンドを用いたインストールの進捗確認はできません(その代わりにGUI上で確認ができるのですが)。インストール中に発生するイベントは「View Cluster Events」ボタンを押すことで確認ができます。

Cluster Events
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

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。