16.4. シングルノード OpenShift クラスターのデプロイ
16.4.1. マネージドシングルノード OpenShift のイメージベースのデプロイメントについて
イメージベースのインストールを使用してシングルノード OpenShift がプリインストールされたホストがリモートサイトに到達すると、技術者はわずか数分でホストを簡単に再設定してデプロイできます。
ハブアンドスポークアーキテクチャーを持つクラスターの場合、プリインストールされたホストのデプロイメントを完了するには、まず各ホストのハブクラスターでサイト固有の設定リソースを定義する必要があります。これらのリソースには、ベアメタルホストのプロパティー、認証の詳細、その他のデプロイメントおよびネットワーク情報などの設定情報が含まれています。
Image Based Install (IBI) Operator は、これらのリソースから設定 ISO を作成し、設定 ISO がアタッチされた状態でホストを起動します。ホストは設定 ISO をマウントし、再設定プロセスを実行します。再設定が完了すると、シングルノード OpenShift クラスターの準備は完了します。
ベアメタルホストごとに個別の設定リソースを作成する必要があります。
ハブアンドスポークアーキテクチャーを持つクラスターにプリインストールされたホストをデプロイするには、次の大まかな手順を参照してください。
- ハブクラスターに IBI Operator をインストールします。
- 各ホストのハブクラスターにサイト固有の設定リソースを作成します。
- IBI Operator はこれらのリソースから設定 ISO を作成し、設定 ISO がアタッチされた状態でターゲットホストを起動します。
- ホストは設定 ISO をマウントし、再設定プロセスを実行します。再設定が完了すると、シングルノード OpenShift クラスターの準備は完了します。
または、ハブクラスターを使用せずに、クラスターにプリインストールされたホストを手動でデプロイすることもできます。ImageBasedConfig
リソースとインストールマニフェストを定義し、それを openshift-install
インストールプログラムへの入力として提供する必要があります。詳細は、「openshift-install
プログラムを使用してシングルノード OpenShift クラスターをデプロイする」を参照してください。
16.4.1.1. Image Based Install Operator のインストール
Image Based Install (IBI) Operator は、ベアメタルホストにプリインストールされたシングルノード OpenShift のイメージベースデプロイメントワークフローの構成要素です。
IBI Operator は、MCE バージョン 2.7 以降の multicluster engine for Kubernetes Operator の構成要素です。
前提条件
-
cluster-admin
権限を持つユーザーとしてログインしている。 - Red Hat Advanced Cluster Management (RHACM) ハブクラスター、または multicluster engine for Kubernetes Operator をデプロイした。
- 「イメージベースのインストールのソフトウェア前提条件」セクションで、ソフトウェアコンポーネントの必要なバージョンを確認した。
手順
次のコマンドを実行して、
MultiClusterEngine
リソースのimage-based-install-Operator
コンポーネントでenabled
仕様をtrue
に設定します。$ oc patch multiclusterengines.multicluster.openshift.io multiclusterengine --type json \ --patch '[{"op": "add", "path":"/spec/overrides/components/-", "value": {"name":"image-based-install-operator","enabled": true}}]'
検証
次のコマンドを実行して、Image Based Install Operator Pod が実行されていることを確認します。
$ oc get pods -A | grep image-based
出力例
multicluster-engine image-based-install-operator-57fb8sc423-bxdj8 2/2 Running 0 5m
16.4.1.2. IBI Operator を使用してマネージドシングルノード OpenShift クラスターをデプロイする
ハブクラスターにサイト固有の設定リソースを作成し、プリインストールされたホストのイメージベースのデプロイメントを開始します。
ハブクラスターでこれらの設定リソースを作成すると、Image Based Install (IBI) Operator は設定 ISO を生成し、それをターゲットホストにアタッチしてサイト固有の設定プロセスを開始します。設定プロセスが完了すると、シングルノード OpenShift クラスターの準備は完了します。
ハブクラスターで設定する必要がある設定リソースの詳細は、「プリインストールされたホストのデプロイに仕様するクラスター設定リソース」を参照してください。
前提条件
- イメージベースのインストールを使用して、シングルノード OpenShift をホストにプリインストールした。
-
cluster-admin
権限を持つユーザーとしてログインしている。 - Red Hat Advanced Cluster Management (RHACM) ハブクラスター、または multicluster engine for Kubernetes Operator (MCE) をデプロイした。
- ハブクラスターに IBI Operator をインストールした。
- プルリクエストを認証するためのプルシークレットを作成した。詳細は、「イメージプルシークレットの使用」を参照してください。
手順
次のコマンドを実行して、
ibi-ns
namespace を作成します。$ oc create namespace ibi-ns
イメージレジストリーの
Secret
リソースを作成します。イメージレジストリーの
Secret
リソースを定義する YAML ファイルを作成します。secret-image-registry.yaml
ファイルの例apiVersion: v1 kind: Secret metadata: name: ibi-image-pull-secret namespace: ibi-ns stringData: .dockerconfigjson: <base64-docker-auth-code> 1 type: kubernetes.io/dockerconfigjson
- 1
- base64 でエンコードされた認証情報の詳細を提供する必要があります。イメージプルシークレットの使用に関する詳細は、「関連情報」セクションを参照してください。
次のコマンドを実行して、イメージレジストリーの
Secret
リソースを作成します。$ oc create -f secret-image-registry.yaml
オプション: ホストの静的ネットワークを設定します。
nmstate
形式の静的ネットワーク設定を含むSecret
リソースを作成します。host-network-config-secret.yaml
ファイルの例apiVersion: v1 kind: Secret metadata: name: host-network-config-secret 1 namespace: ibi-ns type: Opaque stringData: nmstate: | 2 interfaces: - name: ens1f0 3 type: ethernet state: up ipv4: enabled: true address: - ip: 192.168.200.25 prefix-length: 24 dhcp: false 4 ipv6: enabled: false dns-resolver: config: server: - 192.168.15.47 5 - 192.168.15.48 routes: config: 6 - destination: 0.0.0.0/0 metric: 150 next-hop-address: 192.168.200.254 next-hop-interface: ens1f0 table-id: 254
- 1
Secret
リソースの名前を指定します。- 2
- 静的ネットワーク設定を
nmstate
形式で定義します。 - 3
- ホスト上のインターフェイスの名前を指定します。インターフェイスの名前は、オペレーティングシステムに表示される実際の NIC 名と同じである必要があります。NIC マッチングに MAC アドレスを使用するには、
identifier
フィールドをmac-address
に設定します。 - 4
nmstate
がインターフェイスに静的 IP アドレスを割り当てるようにするには、dhcp: false
を指定する必要があります。- 5
- システムがドメイン名を解決するために使用する 1 つ以上の DNS サーバーを指定します。
- 6
- この例のデフォルトルートは、
ens1f0
インターフェイスを介してネクストホップ IP アドレス192.168.200.254
に設定されています。
BareMetalHost
およびSecret
リソースを作成します。BareMetalHost
およびSecret
リソースを定義する YAML ファイルを作成します。ibi-bmh.yaml
ファイルの例apiVersion: metal3.io/v1alpha1 kind: BareMetalHost metadata: name: ibi-bmh 1 namespace: ibi-ns spec: online: false 2 bootMACAddress: 00:a5:12:55:62:64 3 bmc: address: redfish-virtualmedia+http://192.168.111.1:8000/redfish/v1/Systems/8a5babac-94d0-4c20-b282-50dc3a0a32b5 4 credentialsName: ibi-bmh-bmc-secret 5 preprovisioningNetworkDataName: host-network-config-secret 6 automatedCleaningMode: disabled 7 externallyProvisioned: true 8 --- apiVersion: v1 kind: Secret metadata: name: ibi-bmh-secret 9 namespace: ibi-ns type: Opaque data: username: <user_name> 10 password: <password> 11
- 1
BareMetalHost
リソースの名前を指定します。- 2
- ホストをオンラインにするかどうかを指定します。
- 3
- ホストのブート MAC アドレスを指定します。
- 4
- BMC アドレスを指定します。仮想メディアネットワークの起動をサポートするベアメタルホストドライバー (redfish-virtualmedia や idrac-virtualmedia など) のみを使用できます。
- 5
- ベアメタルホストの
Secret
リソースの名前を指定します。 - 6
- オプション: ホストに静的ネットワーク設定が必要な場合は、その設定を含む
Secret
リソースの名前を指定します。 - 7
- プロビジョニングサービスがディスク検査中にシードイメージなどのすべてのプリインストールアーティファクトを削除しないようにするには、
automatedCleaningMode:disabled
を指定する必要があります。 - 8
- ホストを、設定 ISO ではなくプリインストールされたディスクから起動できるようにするには、
externallyProvisioned: true
を指定する必要があります。 - 9
Secret
リソースの名前を指定します。- 10
- ユーザー名を指定します。
- 11
- パスワードを指定します。
次のコマンドを実行して、
BareMetalHost
およびSecret
リソースを作成します。$ oc create -f ibi-bmh.yaml
ClusterImageSet
リソースを作成します。ClusterImageSet
リソースを定義する YAML ファイルを作成します。ibi-cluster-image-set.yaml
ファイルの例apiVersion: hive.openshift.io/v1 kind: ClusterImageSet metadata: name: ibi-img-version-arch 1 spec: releaseImage: ibi.example.com:path/to/release/images:version-arch 2
次のコマンドを実行して
ClusterImageSet
リソースを作成します。$ oc apply -f ibi-cluster-image-set.yaml
ImageClusterInstall
リソースを作成します。ImageClusterInstall
リソースを定義する YAML ファイルを作成します。ibi-image-cluster-install.yaml
ファイルの例apiVersion: extensions.hive.openshift.io/v1alpha1 kind: ImageClusterInstall metadata: name: ibi-image-install 1 namespace: ibi-ns spec: bareMetalHostRef: name: ibi-bmh 2 namespace: ibi-ns clusterDeploymentRef: name: ibi-cluster-deployment 3 hostname: ibi-host 4 imageSetRef: name: ibi-img-version-arch 5 machineNetwork: 10.0.0.0/24 6 proxy: 7 httpProxy: "http://proxy.example.com:8080" #httpsProxy: "http://proxy.example.com:8080" #noProxy: "no_proxy.example.com"
- 1
ImageClusterInstall
リソースの名前を指定します。- 2
- イメージベースのインストールのターゲットとなる
BareMetalHost
リソースを指定します。 - 3
- ターゲットホストのイメージベースのインストールに使用する
ClusterDeployment
リソースの名前を指定します。 - 4
- クラスターのホスト名を指定します。
- 5
- デプロイメントに使用するコンテナーリリースイメージを定義するために使用した
ClusterImageSet
リソースの名前を指定します。 - 6
- 外部ネットワークの公開 CIDR (Classless Inter-Domain Routing) を指定します。
- 7
- オプション: クラスターのデプロイメントに使用するプロキシーを指定します。
重要クラスターをデプロイするのにプロキシー設定が必要な場合は、次の手順を実行する必要があります。
- プロキシー設定を備えたシードクラスターからシードイメージを作成します。2 つのプロキシー設定が同じである必要はありません。
-
インストールマニフェストの
machineNetwork
フィールドを設定します。
次のコマンドを実行して、
ImageClusterInstall
リソースを作成します。$ oc create -f ibi-image-cluster-install.yaml
ClusterDeployment
リソースを作成します。ClusterDeployment
リソースを定義する YAML ファイルを作成します。ibi-cluster-deployment.yaml
ファイルの例apiVersion: hive.openshift.io/v1 kind: ClusterDeployment metadata: name: ibi-cluster-deployment 1 namespace: ibi-ns 2 spec: baseDomain: example.com 3 clusterInstallRef: group: extensions.hive.openshift.io kind: ImageClusterInstall name: ibi-image-install 4 version: v1alpha1 clusterName: ibi-cluster 5 platform: none: {} pullSecretRef: name: ibi-image-pull-secret 6
次のコマンドを実行して
ClusterDeployment
リソースを作成します。$ oc apply -f ibi-cluster-deployment.yaml
ManagedCluster
リソースを作成します。ManagedCluster
リソースを定義する YAML ファイルを作成します。ibi-managed.yaml
ファイルの例apiVersion: cluster.open-cluster-management.io/v1 kind: ManagedCluster metadata: name: sno-ibi 1 spec: hubAcceptsClient: true 2
次のコマンドを実行して、
ManagedCluster
リソースを作成します。$ oc apply -f ibi-managed.yaml
検証
次のコマンドを実行して、ターゲットホストのインストールの進行状況を監視するためにハブクラスター内の
ImageClusterInstall
のステータスを確認します。$ oc get imageclusterinstall
出力例
NAME REQUIREMENTSMET COMPLETED BAREMETALHOSTREF target-0 HostValidationSucceeded ClusterInstallationSucceeded ibi-bmh
警告ImageClusterInstall
リソースが削除された場合、IBI Operator はBareMetalHost
リソースを再度アタッチし、マシンを再起動します。インストールが完了したら、次のコマンドを実行して
kubeconfig
シークレットを取得し、マネージドクラスターにログインできます。$ oc extract secret/<cluster_name>-admin-kubeconfig -n <cluster_namespace> --to - > <directory>/<cluster_name>-kubeconfig
-
<cluster_name>
はクラスターの名前です。 -
<cluster_namespace>
はクラスターの namespace です。 -
<directory>
はファイルを作成するディレクトリーです。
-
16.4.1.2.1. プリインストールされたホストのデプロイに使用するクラスター設定リソース
リモートサイトでプリインストールされたホストのデプロイメントを完了するには、各ベアメタルホストのハブクラスターで次のサイト固有のクラスター設定リソースを設定する必要があります。
リソース | 説明 |
---|---|
| マネージドシングルノード OpenShift クラスターの namespace。 |
| プロビジョニングやハードウェア設定など、物理ホストとそのプロパティーについて記述します。 |
ベアメタルホストの | ホスト BMC の認証情報。 |
ベアメタルホストの静的ネットワーク設定の | オプション: ターゲットホストの静的ネットワーク設定を記述します。 |
イメージレジストリーの |
イメージレジストリーの認証情報。イメージレジストリーのシークレットは、 |
| ベアメタルホスト、デプロイメント、およびイメージセットリソースを参照します。 |
| クラスターに使用するリリースイメージを記述します。 |
| ネットワーク、認証、プラットフォーム固有の設定を記述します。 |
| Red Hat Advanced Cluster Management (RHACM) が登録および管理できるようにするためのクラスター詳細を記述します。 |
| オプション: クラスターデプロイメントの追加設定を記述します。たとえば、クラスターサービスの信頼済み通信を確保するためにホストに信頼済み証明書のバンドルを追加する場合などです。 |
16.4.1.2.2. ImageClusterInstall リソース API 仕様
以下では、ImageClusterInstall
リソースの API 仕様を説明します。このリソースは、Image Based Install Operator のエンドポイントです。
仕様 | 型 | 説明 |
---|---|---|
|
|
デプロイメントのリリースイメージを定義する |
|
| クラスターのホスト名を指定します。 |
|
| ターゲットホストへの SSH アクセスを提供するには、SSH キーを指定します。 |
仕様 | 型 | 説明 |
---|---|---|
|
|
ターゲットホストのイメージベースのインストールに使用する |
|
|
デプロイメントが完了すると、クラスターにログインするための |
|
| リリースイメージコンテンツのソースまたはリポジトリーを指定します。次に例を示します。 imageDigestSources: - mirrors: - "registry.example.com:5000/ocp4/openshift4" source: "quay.io/openshift-release-dev/ocp-release" |
|
|
ターゲットクラスターに適用する追加のマニフェストを含む |
|
|
クラスターのデプロイメントに使用する |
|
| 外部ネットワークの公開 CIDR (Classless Inter-Domain Routing) を指定します。 |
|
| クラスターのプロキシー設定を指定します。以下はその例です。 proxy: httpProxy: "http://proxy.example.com:8080" httpsProxy: "http://proxy.example.com:8080" noProxy: "no_proxy.example.com" |
|
|
ホストの信頼済み証明書の新しいバンドルを含む |
16.4.1.3. 追加マニフェスト用の ConfigMap リソース
オプションで ConfigMap
リソースを作成し、マネージドシングルノード OpenShift クラスターのイメージベースのデプロイメントで追加のマニフェストを定義できます。
ConfigMap
リソースを作成したら、ImageClusterInstall
リソースでそれを参照します。デプロイ中に、IBI Operator は追加のマニフェストをデプロイメントに含めます。
16.4.1.3.1. イメージベースのデプロイメントに追加マニフェストを追加するための ConfigMap リソースを作成する
ConfigMap
リソースを使用して、シングルノード OpenShift クラスターのイメージベースのデプロイメントに追加のマニフェストを追加できます。
次の例では、Single Root I/O Virtualization (SR-IOV) ネットワークをデプロイに追加します。
前提条件
- イメージベースのインストールを使用して、シングルノード OpenShift をホストにプリインストールした。
-
cluster-admin
権限を持つユーザーとしてログインしている。
手順
SriovNetworkNodePolicy
およびSriovNetwork
リソースを作成します。リソースを定義する YAML ファイルを作成します。
sriov-extra-manifest.yaml
ファイルの例apiVersion: sriovnetwork.openshift.io/v1 kind: SriovNetworkNodePolicy metadata: name: "example-sriov-node-policy" namespace: openshift-sriov-network-operator spec: deviceType: vfio-pci isRdma: false nicSelector: pfNames: [ens1f0] nodeSelector: node-role.kubernetes.io/master: "" mtu: 1500 numVfs: 8 priority: 99 resourceName: example-sriov-node-policy --- apiVersion: sriovnetwork.openshift.io/v1 kind: SriovNetwork metadata: name: "example-sriov-network" namespace: openshift-sriov-network-operator spec: ipam: |- { } linkState: auto networkNamespace: sriov-namespace resourceName: example-sriov-node-policy spoofChk: "on" trust: "off"
次のコマンドを実行して、
ConfigMap
リソースを作成します。$ oc create configmap sr-iov-extra-manifest --from-file=sriov-extra-manifest.yaml -n ibi-ns 1
- 1
ImageClusterInstall
リソースがある namespace を指定します。
出力例
configmap/sr-iov-extra-manifest created
ImageClusterInstall
リソースのspec.extraManifestsRefs
フィールドでConfigMap
リソースを参照します。#... spec: extraManifestsRefs: - name: sr-iov-extra-manifest #...
16.4.1.3.2. イメージベースのデプロイメントで CA バンドルを追加するための ConfigMap リソースを作成する
クラスターサービスの信頼済み通信を確保するために、ConfigMap
リソースを使用してホストに認証局 (CA) バンドルを追加できます。
ConfigMap
リソースを作成したら、ImageClusterInstall
リソースの spec.caBundleRef
フィールドでそれを参照します。
前提条件
- イメージベースのインストールを使用して、シングルノード OpenShift をホストにプリインストールした。
-
cluster-admin
権限を持つユーザーとしてログインしている。
手順
tls-ca-bundle.pem
という名前の CA バンドルファイルを作成します。tls-ca-bundle.pem
ファイルの例-----BEGIN CERTIFICATE----- MIIDXTCCAkWgAwIBAgIJAKmjYKJbIyz3MA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV ...Custom CA certificate bundle... 4WPl0Qb27Sb1xZyAsy1ww6MYb98EovazUSfjYr2EVF6ThcAPu4/sMxUV7He2J6Jd cA8SMRwpUbz3LXY= -----END CERTIFICATE-----
以下のコマンドを実行して
ConfigMap
オブジェクトを作成します。$ oc create configmap custom-ca --from-file=tls-ca-bundle.pem -n ibi-ns
-
custom-ca
は、ConfigMap
リソースの名前を指定します。 -
tls-ca-bundle.pem
は、ConfigMap
リソース内のdata
エントリーのキーを定義します。tls-ca-bundle.pem
キーを含むdata
エントリーを追加する必要があります。 ibi-ns
は、ImageClusterInstall
リソースがある namespace を指定します。出力例
configmap/custom-ca created
-
ImageClusterInstall
リソースのspec.caBundleRef
フィールドでConfigMap
リソースを参照します。#... spec: caBundleRef: name: custom-ca #...
16.4.2. シングルノード OpenShift のイメージベースのデプロイについて
openshift-install
プログラムを使用すると、設定 ISO を手動で生成できます。設定 ISO をプリインストールされたホストにアタッチして、デプロイを完了します。
16.4.2.1. openshift-install プログラムを使用したシングルノード OpenShift クラスターのデプロイ
openshift-install
プログラムを使用して、イメージベースのインストールでプリインストールしたホストを設定およびデプロイできます。サイト固有の詳細情報を使用してターゲットホストを設定するには、次のリソースを作成する必要があります。
-
install-config.yaml
インストールマニフェスト -
image-based-config.yaml
マニフェスト
openshift-install
プログラムは、これらのリソースを使用して設定 ISO を生成します。この設定 ISO をプリインストールされたターゲットホストにアタッチして、デプロイを完了します。
image-based-config.yaml
マニフェストの仕様の詳細は、「image-based-config.yaml マニフェストのリファレンス仕様」を参照してください。
前提条件
- イメージベースのインストールを使用して、シングルノード OpenShift をホストにプリインストールした。
-
最新バージョンの
openshift-install
プログラムをダウンロードした。 - プルリクエストを認証するためのプルシークレットを作成した。詳細は、「イメージプルシークレットの使用」を参照してください。
手順
次のコマンドを実行して作業ディレクトリーを作成します。
$ mkdir ibi-config-iso-workdir 1
- 1
ibi-config-iso-workdir
は、作業ディレクトリーの名前に置き換えます。
インストールマニフェストを作成します。
install-config
マニフェストを定義する YAML ファイルを作成します。install-config.yaml
ファイルの例apiVersion: v1 metadata: name: sno-cluster-name baseDomain: host.example.com compute: - architecture: amd64 hyperthreading: Enabled name: worker replicas: 0 controlPlane: architecture: amd64 hyperthreading: Enabled name: master replicas: 1 networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineNetwork: - cidr: 192.168.200.0/24 networkType: OVNKubernetes serviceNetwork: - 172.30.0.0/16 platform: none: {} fips: false cpuPartitioningMode: "AllNodes" pullSecret: '{"auths":{"<your_pull_secret>"}}}' sshKey: 'ssh-rsa <your_ssh_pub_key>'
重要クラスターをデプロイするのにプロキシー設定が必要な場合は、次の手順を実行する必要があります。
- プロキシー設定を備えたシードクラスターからシードイメージを作成します。2 つのプロキシー設定が同じである必要はありません。
- インストールマニフェストで machineNetwork フィールドを設定します。
- ファイルを作業ディレクトリーに保存します。
オプション: 次のコマンドを実行して、作業ディレクトリーに設定テンプレートを作成します。
$ openshift-install image-based create config-template --dir ibi-config-iso-workdir/
出力例
INFO Config-Template created in: ibi-config-iso-workdir
このコマンドにより、作業ディレクトリーに
image-based-config.yaml
設定テンプレートが作成されます。# # Note: This is a sample ImageBasedConfig file showing # which fields are available to aid you in creating your # own image-based-config.yaml file. # apiVersion: v1beta1 kind: ImageBasedConfig metadata: name: example-image-based-config additionalNTPSources: - 0.rhel.pool.ntp.org - 1.rhel.pool.ntp.org hostname: change-to-hostname releaseRegistry: quay.io # networkConfig contains the network configuration for the host in NMState format. # See https://nmstate.io/examples.html for examples. networkConfig: interfaces: - name: eth0 type: ethernet state: up mac-address: 00:00:00:00:00:00 ipv4: enabled: true address: - ip: 192.168.122.2 prefix-length: 23 dhcp: false
設定ファイルを編集します。
image-based-config.yaml
ファイルの例# # Note: This is a sample ImageBasedConfig file showing # which fields are available to aid you in creating your # own image-based-config.yaml file. # apiVersion: v1beta1 kind: ImageBasedConfig metadata: name: sno-cluster-name additionalNTPSources: - 0.rhel.pool.ntp.org - 1.rhel.pool.ntp.org hostname: host.example.com releaseRegistry: quay.io # networkConfig contains the network configuration for the host in NMState format. # See https://nmstate.io/examples.html for examples. networkConfig: interfaces: - name: ens1f0 type: ethernet state: up ipv4: enabled: true dhcp: false auto-dns: false address: - ip: 192.168.200.25 prefix-length: 24 ipv6: enabled: false dns-resolver: config: server: - 192.168.15.47 - 192.168.15.48 routes: config: - destination: 0.0.0.0/0 metric: 150 next-hop-address: 192.168.200.254 next-hop-interface: ens1f0
次のコマンドを実行して、作業ディレクトリーに設定 ISO を作成します。
$ openshift-install image-based create config-image --dir ibi-config-iso-workdir/
出力例
INFO Adding NMConnection file <ens1f0.nmconnection> INFO Consuming Install Config from target directory INFO Consuming Image-based Config ISO configuration from target directory INFO Config-Image created in: ibi-config-iso-workdir/auth
作業ディレクトリーで出力を確認します。
出力例
ibi-config-iso-workdir/ ├── auth │ ├── kubeadmin-password │ └── kubeconfig └── imagebasedconfig.iso
-
任意の方法を使用して
imagebasedconfig.iso
をプリインストールされたホストにアタッチします。ホストを再起動して設定プロセスを完了し、クラスターをデプロイします。
検証
ホストで設定プロセスが完了したら、クラスターにアクセスしてそのステータスを確認します。
次のコマンドを実行して、
kubeconfig
環境変数を kubeconfig ファイルにエクスポートします。$ export KUBECONFIG=ibi-config-iso-workdir/auth/kubeconfig
次のコマンドを実行して、クラスターが応答していることを確認します。
$ oc get nodes
出力例
NAME STATUS ROLES AGE VERSION node/sno-cluster-name.host.example.com Ready control-plane,master 5h15m v1.30.3
16.4.2.1.1. image-based-config.yaml マニフェストのリファレンス仕様
以下では、image-based-config.yaml
マニフェストの仕様を説明します。
openshift-install
プログラムは、image-based-config.yaml
マニフェストを使用して、シングルノード OpenShift のイメージベースのデプロイ用にサイト固有の設定 ISO を作成します。
仕様 | 型 | 説明 |
---|---|---|
|
| シングルノード OpenShift クラスターのノードの名前を定義します。 |
仕様 | 型 | 説明 |
---|---|---|
|
| ホストのネットワーク設定を指定します。次に例を示します。 networkConfig: interfaces: - name: ens1f0 type: ethernet state: up ...
静的ネットワークが必要な場合は、ライブインストール ISO を作成するホストに 重要 インターフェイスの名前は、オペレーティングシステムに表示される実際の NIC 名と同じである必要があります。 |
|
| 全クラスターホストの NTP ソースのリストを指定します。これらの NTP ソースは、クラスター内の既存の NTP ソースに追加されます。NTP ソースのホスト名または IP アドレスを使用できます。 |
|
| シードクラスターのリリースイメージに使用したコンテナーイメージレジストリーを指定します。 |
|
| シングルノード OpenShift ノードのカスタムノードラベルを指定します。次に例を示します。 nodeLabels: node-role.kubernetes.io/edge: true environment: production |
16.4.2.2. 追加マニフェストのリソースの設定
必要に応じて、シングルノード OpenShift クラスターのイメージベースのデプロイに追加のリソースを定義できます。
追加リソースは、install-config.yaml
および image-based-config.yaml
マニフェストと同じ作業ディレクトリー内の extra-manifests
フォルダーに作成します。
16.4.2.2.1. extra-manifests フォルダーにリソースを作成する
作業ディレクトリーの extra-manifests
フォルダーにリソースを作成して、シングルノード OpenShift クラスターのイメージベースのデプロイにマニフェストをさらに追加できます。
次の例では、Single Root I/O Virtualization (SR-IOV) ネットワークをデプロイに追加します。
前提条件
-
install-config.yaml
およびimage-based-config.yaml
マニフェストを含む作業ディレクトリーを作成した。
手順
作業ディレクトリーに移動し、次のコマンドを実行して
extra-manifests
フォルダーを作成します。$ mkdir extra-manifests
extra-manifests
フォルダーにSriovNetworkNodePolicy
およびSriovNetwork
リソースを作成します。リソースを定義する YAML ファイルを作成します。
sriov-extra-manifest.yaml
ファイルの例apiVersion: sriovnetwork.openshift.io/v1 kind: SriovNetworkNodePolicy metadata: name: "example-sriov-node-policy" namespace: openshift-sriov-network-operator spec: deviceType: vfio-pci isRdma: false nicSelector: pfNames: [ens1f0] nodeSelector: node-role.kubernetes.io/master: "" mtu: 1500 numVfs: 8 priority: 99 resourceName: example-sriov-node-policy --- apiVersion: sriovnetwork.openshift.io/v1 kind: SriovNetwork metadata: name: "example-sriov-network" namespace: openshift-sriov-network-operator spec: ipam: |- { } linkState: auto networkNamespace: sriov-namespace resourceName: example-sriov-node-policy spoofChk: "on" trust: "off"
検証
設定 ISO を作成したら、作業ディレクトリーの
.openshift_install_state.json
ファイルで追加のマニフェストへの参照を確認できます。"*configimage.ExtraManifests": { "FileList": [ { "Filename": "extra-manifests/sriov-extra-manifest.yaml", "Data": "YXBFDFFD..." } ] }