シングルノードへのインストール
シングルノードへの OpenShift Container Platform のインストール
概要
第1章 単一ノードへのインストールの準備 リンクのコピーリンクがクリップボードにコピーされました!
1.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- OpenShift Container Platform のインストールおよび更新 プロセスの詳細を確認した。
- クラスターインストール方法の選択およびそのユーザー向けの準備 を確認した。
1.2. 単一ノードでの OpenShift について リンクのコピーリンクがクリップボードにコピーされました!
標準のインストール方法で単一ノードクラスターを作成できます。単一ノード上の OpenShift Container Platform は、特別な Ignition 設定 ISO の作成を必要とする特殊なインストールです。プライマリーユースケースは、断続的な接続、ポータブルクラウド、および 5G ラジオアクセスネットワーク (RAN) などのエッジコンピューティングのワークロード向けです。単一ノードでのインストールに関する主なトレードオフは、高可用性がないことです。
単一ノードの OpenShift での OpenShiftSDN の使用はサポートされていません。OVN-Kubernetes は、単一ノードの OpenShift デプロイメントのデフォルトのネットワークプラグインです。
1.3. 単一ノードに OpenShift をインストールするための要件 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform を単一ノードにインストールすると、高可用性および大規模なクラスターの一部の要件が軽減されます。ただし、以下の要件を満たす必要があります。
- 管理ホスト: ISO を準備して USB ブートドライブを作成し、インストールを監視するためのコンピューターが必要です。
-
CPU アーキテクチャー: OpenShift Container Platform をシングルノードにインストールすると、
x86_64およびarm64CPU アーキテクチャーがサポートされます。 サポートされているプラットフォーム: 単一ノードへの OpenShift Container Platform のインストールは、ベアメタルおよび 認定されたサードパーティーのハイパーバイザー でサポートされています。ほとんどの場合は、
install-config.yaml設定ファイルでplatform.none: {}パラメーターを指定する必要があります。次のリストは、install-config.yaml設定ファイルで指定する唯一の例外と対応するパラメーターを示しています。-
Amazon Web Services (AWS) では、
platform=awsを使用します。 -
Google Cloud (
platform=gcpを使用) -
Microsoft Azure (
platform=azureを使用)
-
Amazon Web Services (AWS) では、
実稼働環境グレードサーバー: OpenShift Container Platform を単一ノードにインストールし、OpenShift Container Platform サービスと実稼働のワークロードを実行するのに十分なリソースを持つサーバーが必要です。
Expand 表1.1 最小リソース要件 Profile コンピュート メモリー ストレージ 最低限
仮想 CPU 8 個
16 GB のメモリー
120 GB
注記通常、1 つの仮想 CPU は 1 つの物理コアに相当します。ただし、同時マルチスレッディング (SMT) またはハイパースレッディングを有効にすると、各 CPU スレッドは仮想 CPU としてカウントされます。
インストールプロセス中に Operator を追加すると、最小リソース要件が増加する可能性があります。
仮想メディアを使用して起動する場合は、サーバーには Baseboard Management Controller (BMC) が必要です。
ネットワーク: サーバーは、ルーティング可能なネットワークに接続されていない場合は、インターネットまたはローカルレジストリーにアクセスできるようにする必要があります。サーバーには、Kubernetes API、Ingress ルート、およびクラスターノードドメイン名の DHCP 予約または静的 IP アドレスが必要です。DNS が、以下の完全修飾ドメイン名 (FQDN) のそれぞれに IP アドレスを解決できるように設定する必要があります。
Expand 表1.2 必要な DNS レコード 使用法 FQDN 説明 Kubernetes API
api.<cluster_name>.<base_domain>DNS A/AAAA または CNAME レコードを追加します。このレコードは、クラスター外部のクライアントとクラスター内のクライアントの両方で解決可能である必要があります。
Internal API
api-int.<cluster_name>.<base_domain>ISO を手動で作成する場合は、DNS A/AAAA または CNAME レコードを追加します。このレコードは、クラスター内のノードにより解決可能である必要があります。
Ingress ルート
*.apps.<cluster_name>.<base_domain>ノードをターゲットにするワイルドカード DNS A/AAAA または CNAME レコードを追加します。このレコードは、クラスター外部のクライアントとクラスター内のクライアントの両方で解決可能である必要があります。
重要永続的な IP アドレスがない場合は、
apiserverとetcdの間の通信で失敗する可能性があります。
第2章 単一ノードでの OpenShift のインストール リンクのコピーリンクがクリップボードにコピーされました!
Web ベースの Assisted Installer または coreos-installer ツールを使用して検出 ISO イメージを生成することで、シングルノードの OpenShift をインストールできます。この検出 ISO イメージにより、Red Hat Enterprise Linux CoreOS (RHCOS) のシステム設定がターゲットのインストールディスクに書き込まれます。そのため、ニーズに合わせてシングルクラスターノードを実行できます。
テスト、トラブルシューティング、トレーニング、または小規模プロジェクトために、リソースが少ない環境や隔離環境でクラスターを実行する場合は、シングルノード OpenShift の使用を検討してください。
2.1. Assisted Installer を使用した単一ノード OpenShift のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform を単一ノードにインストールするには、Web ベースのアシステッドインストーラーウィザードのガイドに従い、インストールを管理します。
2.1.1. アシステッドインストーラーを使用したディスカバリー ISO の生成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform を単一ノードにインストールするには、Assisted Installer が生成できる検出 ISO が必要です。
手順
- 管理ホストでブラウザーを開き、Red Hat OpenShift Cluster Manager に移動します。
- Create New Cluster をクリックして新規クラスターを作成します。
- Cluster name フィールドにクラスターの名前を入力します。
Base domain フィールドにベースドメインを入力します。以下に例を示します。
example.comすべての DNS レコードはこのベースドメインのサブドメインである必要があり、クラスター名が含まれる必要があります。以下に例を示します。
<cluster_name>.example.com注記クラスターのインストール後にベースドメインまたはクラスター名を変更することはできません。
- Install single node OpenShift (SNO) を選択し、ウィザードの残りの手順を完了します。検出 ISO をダウンロードします。
Assisted Installer ウィザードの残りの手順を完了します。
重要仮想メディアを使用してインストールする場合は、検出 ISO の URL を必ずメモしておいてください。
このプロセス中に OpenShift Virtualization を有効にする場合は、仮想マシン用に 50 GiB 以上の 2 つ目のローカルストレージデバイスが必要です。
2.1.2. Assisted Installer を使用した単一ノード OpenShift のインストール リンクのコピーリンクがクリップボードにコピーされました!
Assisted Installer を使用して、単一ノードクラスターをインストールします。
前提条件
- サーバーの BIOS 設定のブートドライブの順序が、デフォルトでターゲットインストールディスクからサーバーを起動するように設定されていることを確認する。
手順
- 検出 ISO イメージをターゲットホストに接続します。
- 検出 ISO イメージからサーバーを起動します。検出 ISO イメージは、システム設定をターゲットのインストールディスクに書き込み、サーバーの再起動を自動的にトリガーします。
- 管理ホストで、ブラウザーに戻ります。ホストが、検出されたホストのリストに表示されるまで待ちます。必要に応じて、Assisted Clusters ページを再読み込みし、クラスター名を選択します。
- インストールウィザードの手順を完了します。使用可能なサブネットからのサブネットを含む、ネットワークの詳細を追加します。必要に応じて SSH 公開鍵を追加します。
- インストールの進捗を監視します。クラスターイベントを確認します。インストールプロセスがサーバーのハードディスクへのオペレーティングシステムイメージの書き込みを完了すると、サーバーが再起動します。
オプション: 検出 ISO イメージを削除します。
サーバーが自動的に数回再起動し、コントロールプレーンがデプロイされます。
2.2. 単一ノードの OpenShift を手動でインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform を単一ノードにインストールするには、最初にインストール ISO を生成してから、ISO からサーバーを起動します。openshift-install インストールプログラムを使用して、インストールを監視できます。
2.2.1. coreos-installer によるインストール ISO の生成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform を単一ノードにインストールするには、インストール ISO が必要です。これは、以下の手順で生成できます。
前提条件
-
podmanをインストールします。
DNS レコードを含むネットワーク要件は、「単一ノードに OpenShift をインストールするための要件」を参照してください。
手順
OpenShift Container Platform バージョンを設定します。
$ export OCP_VERSION=<ocp_version>1 - 1
<ocp_version>を現在のバージョン (latest-4.13など) に置き換えます。
ホストアーキテクチャーを設定します。
$ export 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 ocOpenShift 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 を取得します。
$ export 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.isoinstall-config.yamlファイルを作成します。apiVersion: v1 baseDomain: <domain>1 compute: - name: worker replicas: 02 controlPlane: name: master replicas: 13 metadata: name: <name>4 networking:5 clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineNetwork: - cidr: 10.0.0.0/166 networkType: OVNKubernetes serviceNetwork: - 172.30.0.0/16 platform: none: {} bootstrapInPlace: installationDisk: /dev/disk/by-id/<disk_id>7 pullSecret: '<pull_secret>'8 sshKey: | <ssh_key>9 - 1
- クラスタードメイン名を追加します。
- 2
computeレプリカを0に設定します。これにより、コントロールプレーンノードがスケジュール可能になります。- 3
controlPlaneレプリカを1に設定します。この設定は、以前のcompute設定と組み合わせて、クラスターが単一ノードで実行されるようにします。- 4
metadata名をクラスター名に設定します。- 5
networkingの詳細を設定します。OVN-Kubernetes は、単一ノードクラスターで許可されている唯一のネットワークプラグインタイプです。- 6
- 単一ノードの OpenShift クラスターのサブネットと一致するように
cidr値を設定します。 - 7
- インストールディスクドライブへのパスを設定します (例:
/dev/disk/by-id/wwn-0x64cd98f04fde100024684cf3034da5c2)。 - 8
- Red Hat OpenShift Cluster Manager からプルシークレット をコピーし、その内容をこの設定に追加します。
- 9
- インストール後にクラスターにログインできるように、管理ホストから公開 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
2.2.2. openshift-install を使用したクラスターのインストールの監視 リンクのコピーリンクがクリップボードにコピーされました!
openshift-install を使用して、単一ノードクラスターのインストールの進行状況を監視します。
前提条件
- サーバーの BIOS 設定のブートドライブの順序が、デフォルトでターゲットインストールディスクからサーバーを起動するように設定されていることを確認する。
手順
- 検出 ISO イメージをターゲットホストに接続します。
- 検出 ISO イメージからサーバーを起動します。検出 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.26.0
2.3. AWS への単一ノード OpenShift のインストール リンクのコピーリンクがクリップボードにコピーされました!
2.3.1. AWS の単一ノードにインストールするための追加要件 リンクのコピーリンクがクリップボードにコピーされました!
インストーラーがプロビジョニングするインストールに関する AWS ドキュメントは、3 つのコントロールプレーンノードで設定される高可用性クラスターを使用して書かれています。AWS ドキュメントを参照するときは、単一ノード OpenShift クラスターと高可用性クラスターの要件の違いを考慮してください。
- AWS ドキュメントのクラスターのインストールに必要なマシンは、一時的なブートストラップマシン、3 台のコントロールプレーンマシン、および少なくとも 2 台のコンピューティングマシンを示しています。必要なのは、一時的なブートストラップマシンとコントロールプレーンノード用の 1 つの AWS インスタンスのみであり、ワーカーノードは必要ありません。
- AWS ドキュメントのクラスターインストールの最小リソース要件は、4 つの vCPU と 100 GB のストレージを備えたコントロールプレーンノードを示しています。単一ノードクラスターの場合、少なくとも 8 つの vCPU コアと 120 GB のストレージが必要です。
-
install-config.yamlファイルのcontrolPlane.replicas設定は1に設定する必要があります。 -
install-config.yamlファイルのcompute.replicas設定は0に設定する必要があります。これにより、コントロールプレーンノードがスケジュール可能になります。
2.3.2. AWS への単一ノード OpenShift のインストール リンクのコピーリンクがクリップボードにコピーされました!
単一ノードクラスターを AWS にインストールするには、カスタマイズを使用した AWS へのクラスターのインストール手順を使用して、インストーラーがプロビジョニングしたインストールが必要です。
2.4. 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 ドライブを使用してサーバーにソフトウェアをインストールできます。
2.5. Redfish API を使用した HTTP ホスト ISO イメージからの起動 リンクのコピーリンクがクリップボードにコピーされました!
Redfish Baseboard Management Controller (BMC) API を使用してインストールした ISO を使用して、ネットワーク内のホストをプロビジョニングできます。
この手順例では、Dell サーバーでの手順を示します。
ハードウェアと互換性のある iDRAC の最新ファームウェアバージョンがあることを確認してください。ハードウェアまたはファームウェアに問題がある場合は、プロバイダーに連絡する必要があります。
前提条件
- インストール Red Hat Enterprise Linux CoreOS (RHCOS) ISO をダウンロードしている。
- iDRAC9 と互換性のある Dell PowerEdge サーバーを使用している。
手順
- ネットワークでアクセス可能な 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
2.6. リモートサーバーアクセス用のカスタムライブ RHCOS ISO の作成 リンクのコピーリンクがクリップボードにコピーされました!
場合によっては、外部ディスクドライブをサーバーに接続できませんが、サーバーにリモートアクセスしてノードをプロビジョニングする必要があります。サーバーへの SSH アクセスを有効にすることが推奨されます。起動後にサーバーにアクセスできるように、SSHd を有効にし、事前定義された認証情報を使用してライブ RHCOS ISO を作成できます。
前提条件
-
butaneユーティリティーをインストールした。
手順
-
coreos-installerイメージの mirror ページからcoreos-installerバイナリーをダウンロードします。 - mirror.openshift.com から最新のライブ RHCOS ISO をダウンロードします。
butaneユーティリティーが Ignition ファイルの作成に使用するembedded.yamlファイルを作成します。variant: openshift version: 4.13.0 metadata: name: sshd labels: machineconfiguration.openshift.io/role: worker passwd: users: - name: core1 ssh_authorized_keys: - '<ssh_key>'- 1
coreユーザーには sudo 権限があります。
butaneユーティリティーを実行し、以下のコマンドを使用して Ignition ファイルを作成します。$ butane -pr embedded.yaml -o embedded.ignIgnition ファイルが作成されたら、
coreos-installerユーティリティーを使用して、rhcos-sshd-4.13.0-x86_64-live.x86_64.isoという名前の新しいライブ RHCOS ISO に設定を含めることができます。$ coreos-installer iso ignition embed -i embedded.ign rhcos-4.13.0-x86_64-live.x86_64.iso -o rhcos-sshd-4.13.0-x86_64-live.x86_64.iso
検証
次のコマンドを実行して、カスタムライブ ISO を使用してサーバーを起動できることを確認します。
# coreos-installer iso ignition show rhcos-sshd-4.13.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" ] } ] } }