13.2. 単一ノードでの OpenShift のインストール
Web ベースの Assisted Installer と、Assisted Installer を使用して生成した検出 ISO を使用して、単一ノードの OpenShift をインストールできます。また、coreos-installer
を使用してインストール ISO を生成することにより、単一ノードの OpenShift をインストールすることもできます。
13.2.1. Assisted Installer を使用した単一ノード OpenShift のインストール
OpenShift Container Platform を単一ノードにインストールするには、Web ベースのアシステッドインストーラーウィザードのガイドに従い、インストールを管理します。
13.2.1.1. アシステッドインストーラーを使用したディスカバリー ISO の生成
OpenShift Container Platform を単一ノードにインストールするには、Assisted Installer が生成できる検出 ISO が必要です。
手順
- 管理ホストでブラウザーを開き、Red Hat OpenShift Cluster Manager に移動します。
- Create Cluster をクリックして新規クラスターを作成します。
- Cluster name フィールドにクラスターの名前を入力します。
Base domain フィールドにベースドメインを入力します。以下に例を示します。
example.com
すべての DNS レコードはこのベースドメインのサブドメインである必要があり、クラスター名が含まれる必要があります。以下に例を示します。
<cluster-name>.example.com
注記クラスターのインストール後にベースドメインまたはクラスター名を変更することはできません。
- Install single node OpenShift (SNO) を選択し、ウィザードの残りの手順を完了します。検出 ISO をダウンロードします。
- 仮想メディアを使用してインストールするための検出 ISO URL を書き留めておきます。
このプロセス中に OpenShift Virtualization を有効にする場合は、仮想マシン用に 50 GiB 以上の 2 つ目のローカルストレージデバイスが必要です。
13.2.1.2. Assisted Installer を使用した単一ノード OpenShift のインストール
Assisted Installer を使用して、単一ノードクラスターをインストールします。
手順
- RHCOS 検出 ISO をターゲットホストにアタッチします。
- サーバーの BIOS 設定で起動ドライブの順序を設定して、アタッチされた検出 ISO から起動し、サーバーを再起動します。
- 管理ホストで、ブラウザーに戻ります。ホストが、検出されたホストのリストに表示されるまで待ちます。必要に応じて、Assisted Clusters ページを再読み込みし、クラスター名を選択します。
- インストールウィザードの手順を完了します。使用可能なサブネットからのサブネットを含む、ネットワークの詳細を追加します。必要に応じて SSH 公開鍵を追加します。
- インストールの進捗を監視します。クラスターイベントを確認します。インストールプロセスがサーバーのハードディスクへのオペレーティングシステムイメージの書き込みを完了すると、サーバーが再起動します。
検出 ISO を削除し、インストールドライブから起動するようにサーバーをリセットします。
サーバーが自動的に数回再起動し、コントロールプレーンがデプロイされます。
13.2.2. 単一ノードの OpenShift を手動でインストールする
OpenShift Container Platform を単一ノードにインストールするには、最初にインストール ISO を生成してから、ISO からサーバーを起動します。openshift-install
インストールプログラムを使用して、インストールを監視できます。
13.2.2.1. coreos-installer によるインストール ISO の生成
OpenShift Container Platform を単一ノードにインストールするには、インストール ISO が必要です。これは、以下の手順で生成できます。
前提条件
-
podman
をインストールします。
手順
OpenShift Container Platform バージョンを設定します。
$ OCP_VERSION=<ocp_version> 1
- 1
<ocp_version>
を現在のバージョン (latest-4.12
など) に置き換えます。
ホストアーキテクチャーを設定します。
$ ARCH=<architecture> 1
- 1
<architecture>
をターゲットホストアーキテクチャー (aarch64
やx86_64
など) に置き換えます。
OpenShift Container Platform クライアント (
oc
) をダウンロードし、次のコマンドを入力して使用できるようにします。$ curl -k https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$OCP_VERSION/openshift-client-linux.tar.gz -o oc.tar.gz
$ tar zxf oc.tar.gz
$ chmod +x oc
OpenShift Container Platform インストーラーをダウンロードし、以下のコマンドを入力して使用できるようにします。
$ curl -k https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$OCP_VERSION/openshift-install-linux.tar.gz -o openshift-install-linux.tar.gz
$ tar zxvf openshift-install-linux.tar.gz
$ chmod +x openshift-install
次のコマンドを実行して、RHCOS ISO URL を取得します。
$ ISO_URL=$(./openshift-install coreos print-stream-json | grep location | grep $ARCH | grep iso | cut -d\" -f4)
RHCOS ISO をダウンロードします。
$ curl -L $ISO_URL -o rhcos-live.iso
install-config.yaml
ファイルを作成します。apiVersion: v1 baseDomain: <domain> 1 compute: - architecture: amd64 2 name: worker replicas: 0 3 controlPlane: architecture: amd64 name: master replicas: 1 4 metadata: name: <name> 5 networking: 6 clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineNetwork: - cidr: 10.0.0.0/16 7 networkType: OVNKubernetes serviceNetwork: - 172.30.0.0/16 platform: none: {} bootstrapInPlace: installationDisk: /dev/disk/by-id/<disk_id> 8 pullSecret: '<pull_secret>' 9 sshKey: | <ssh_key> 10
- 1
- クラスタードメイン名を追加します。
- 2
- アーキテクチャーを、64 ビット ARM の場合は
arm64
に、64 ビット x86 アーキテクチャーの場合はamd64
に設定します。これは、ターゲットホストアーキテクチャーに対して明示的に設定する必要があります。 - 3
compute
レプリカを0
に設定します。これにより、コントロールプレーンノードがスケジュール可能になります。- 4
controlPlane
レプリカを1
に設定します。この設定は、以前のcompute
設定と組み合わせて、クラスターが単一ノードで実行されるようにします。- 5
メタデータ
名をクラスター名に設定します。- 6
networking
の詳細を設定します。OVN-Kubernetes は、単一ノードクラスターで許可されている唯一のネットワークプラグインタイプです。- 7
- 単一ノードの OpenShift クラスターのサブネットと一致するように
cidr
値を設定します。 - 8
- インストールディスクドライブへのパスを設定します (例:
/dev/disk/by-id/wwn-0x64cd98f04fde100024684cf3034da5c2)
。 - 9
- Red Hat OpenShift Cluster Manager からプルシークレット をコピーし、その内容をこの設定に追加します。
- 10
- インストール後にクラスターにログインできるように、管理ホストから公開 SSH 鍵を追加します。
以下のコマンドを実行して、OpenShift Container Platform アセットを生成します。
$ mkdir ocp
$ cp install-config.yaml ocp
$ ./openshift-install --dir=ocp create single-node-ignition-config
以下のコマンドを実行して、Ignition データを RHCOS ISO に埋め込みます。
$ alias coreos-installer='podman run --privileged --pull always --rm \ -v /dev:/dev -v /run/udev:/run/udev -v $PWD:/data \ -w /data quay.io/coreos/coreos-installer:release'
$ coreos-installer iso ignition embed -fi ocp/bootstrap-in-place-for-live-iso.ign rhcos-live.iso
関連情報
- インストール前に無効にしたクラスター機能を有効にする方法の詳細は、クラスター機能の有効化 を参照してください。
- 各ケイパビリティーで提供される機能の詳細については、OpenShift Container Platform 4.12 のオプションのクラスター機能 を参照してください。
13.2.2.2. openshift-install を使用したクラスターのインストールの監視
openshift-install
を使用して、単一ノードクラスターのインストールの進行状況を監視します。
手順
- 変更した RHCOS インストール ISO をターゲットホストにアタッチします。
- サーバーの BIOS 設定で起動ドライブの順序を設定して、アタッチされた検出 ISO から起動し、サーバーを再起動します。
管理ホストで、次のコマンドを実行してインストールを監視します。
$ ./openshift-install --dir=ocp wait-for install-complete
コントロールプレーンのデプロイ中にサーバーが数回再起動します。
検証
インストールが完了したら、次のコマンドを実行して環境を確認します。
$ export KUBECONFIG=ocp/auth/kubeconfig
$ oc get nodes
出力例
NAME STATUS ROLES AGE VERSION control-plane.example.com Ready master,worker 10m v1.25.0
13.2.3. USB ドライブに起動可能な ISO イメージを作成する
ISO イメージを含む起動可能な USB ドライブを使用して、ソフトウェアをインストールできます。USB ドライブを使用してサーバーを起動すると、ソフトウェアをインストールするサーバーの準備が整います。
手順
- 管理ホストで、USB ドライブを USB ポートに挿入します。
起動可能な USB ドライブを作成します。以下に例を示します。
# dd if=<path_to_iso> of=<path_to_usb> status=progress
ここでは、以下のようになります。
- <path_to_iso>
-
rhcos-live.iso
など、ダウンロードした ISO ファイルへの相対パスです。 - <path_to_usb>
-
/dev/sdb
など、接続された USB ドライブの場所です。
ISO が USB ドライブにコピーされたら、USB ドライブを使用してサーバーにソフトウェアをインストールできます。
13.2.4. Redfish API を使用した HTTP ホスト ISO イメージからの起動
Redfish Baseboard Management Controller (BMC) API を使用してインストールした ISO を使用して、ネットワーク内のホストをプロビジョニングできます。
前提条件
- インストール Red Hat Enterprise Linux CoreOS (RHCOS) ISO をダウンロードしている。
手順
- ネットワークでアクセス可能な HTTP サーバーに ISO ファイルをコピーします。
ホストされている ISO ファイルからホストを起動します。以下に例を示します。
次のコマンドを実行して、redfish API を呼び出し、ホストされている ISO を
VirtualMedia
ブートメディアとして設定します。$ curl -k -u <bmc_username>:<bmc_password> -d '{"Image":"<hosted_iso_file>", "Inserted": true}' -H "Content-Type: application/json" -X POST <host_bmc_address>/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.InsertMedia
詳細は以下のようになります。
- <bmc_username>:<bmc_password>
- ターゲットホスト BMC のユーザー名とパスワードです。
- <hosted_iso_file>
-
ホストされたインストール ISO の URL です (例:
http://webserver.example.com/rhcos-live-minimal.iso
)。ISO は、ターゲットホストマシンからアクセスできる必要があります。 - <host_bmc_address>
- ターゲットホストマシンの BMC IP アドレスです。
次のコマンドを実行して、
VirtualMedia
デバイスから起動するようにホストを設定します。$ curl -k -u <bmc_username>:<bmc_password> -X PATCH -H 'Content-Type: application/json' -d '{"Boot": {"BootSourceOverrideTarget": "Cd", "BootSourceOverrideMode": "UEFI", "BootSourceOverrideEnabled": "Once"}}' <host_bmc_address>/redfish/v1/Systems/System.Embedded.1
ホストを再起動します。
$ curl -k -u <bmc_username>:<bmc_password> -d '{"ResetType": "ForceRestart"}' -H 'Content-type: application/json' -X POST <host_bmc_address>/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset
オプション: ホストの電源がオフになっている場合は、
{"ResetType": "On"}
スイッチを使用して起動できます。以下のコマンドを実行します。$ curl -k -u <bmc_username>:<bmc_password> -d '{"ResetType": "On"}' -H 'Content-type: application/json' -X POST <host_bmc_address>/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset
13.2.5. リモートサーバーアクセス用のカスタムライブ RHCOS ISO の作成
場合によっては、外部ディスクドライブをサーバーに接続することはできませんが、サーバーにリモートアクセスしてノードをプロビジョニングする必要があります。サーバーへの SSH アクセスを有効にすることを推奨します。起動後にサーバーにアクセスできるように、SSHd を有効にし、事前定義された認証情報を使用してライブ RHCOS ISO を作成できます。
前提条件
-
butane
ユーティリティーをインストールしました。
手順
-
coreos-installer
イメージ ミラー ページからcoreos-installer
バイナリーをダウンロードします。 - mirror.openshift.com から最新のライブ RHCOS ISO をダウンロードします。
butane
ユーティリティーが Ignition ファイルの作成に使用するembedded.yaml
ファイルを作成します。variant: openshift version: 4.12.0 metadata: name: sshd labels: machineconfiguration.openshift.io/role: worker passwd: users: - name: core 1 ssh_authorized_keys: - '<ssh_key>'
- 1
core
ユーザーには sudo 権限があります。
butane
ユーティリティーを実行し、以下のコマンドを使用して Ignition ファイルを作成します。$ butane -pr embedded.yaml -o embedded.ign
Ignition ファイルが作成されたら、
coreos-installer
ユーティリティーを使用して、rhcos-sshd-4.12.0-x86_64-live.x86_64.iso
という名前の新しいライブ RHCOS ISO に設定を含めることができます。$ coreos-installer iso ignition embed -i embedded.ign rhcos-4.12.0-x86_64-live.x86_64.iso -o rhcos-sshd-4.12.0-x86_64-live.x86_64.iso
検証
次のコマンドを実行して、カスタムライブ ISO を使用してサーバーを起動できることを確認します。
# coreos-installer iso ignition show rhcos-sshd-4.12.0-x86_64-live.x86_64.iso
出力例
{ "ignition": { "version": "3.2.0" }, "passwd": { "users": [ { "name": "core", "sshAuthorizedKeys": [ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZnG8AIzlDAhpyENpK2qKiTT8EbRWOrz7NXjRzopbPu215mocaJgjjwJjh1cYhgPhpAp6M/ttTk7I4OI7g4588Apx4bwJep6oWTU35LkY8ZxkGVPAJL8kVlTdKQviDv3XX12l4QfnDom4tm4gVbRH0gNT1wzhnLP+LKYm2Ohr9D7p9NBnAdro6k++XWgkDeijLRUTwdEyWunIdW1f8G0Mg8Y1Xzr13BUo3+8aey7HLKJMDtobkz/C8ESYA/f7HJc5FxF0XbapWWovSSDJrr9OmlL9f4TfE+cQk3s+eoKiz2bgNPRgEEwihVbGsCN4grA+RzLCAOpec+2dTJrQvFqsD alosadag@sonnelicht.local" ] } ] } }