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-nsnamespace を作成します。$ 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-secret1 namespace: ibi-ns type: Opaque stringData: nmstate: |2 interfaces: - name: ens1f03 type: ethernet state: up ipv4: enabled: true address: - ip: 192.168.200.25 prefix-length: 24 dhcp: false4 ipv6: enabled: false dns-resolver: config: server: - 192.168.15.475 - 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-bmh1 namespace: ibi-ns spec: online: false2 bootMACAddress: 00:a5:12:55:62:643 bmc: address: redfish-virtualmedia+http://192.168.111.1:8000/redfish/v1/Systems/8a5babac-94d0-4c20-b282-50dc3a0a32b54 credentialsName: ibi-bmh-bmc-secret5 preprovisioningNetworkDataName: host-network-config-secret6 automatedCleaningMode: disabled7 externallyProvisioned: true8 --- apiVersion: v1 kind: Secret metadata: name: ibi-bmh-secret9 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-arch1 spec: releaseImage: ibi.example.com:path/to/release/images:version-arch2 次のコマンドを実行して
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-install1 namespace: ibi-ns spec: bareMetalHostRef: name: ibi-bmh2 namespace: ibi-ns clusterDeploymentRef: name: ibi-cluster-deployment3 hostname: ibi-host4 imageSetRef: name: ibi-img-version-arch5 machineNetwork: 10.0.0.0/246 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-deployment1 namespace: ibi-ns2 spec: baseDomain: example.com3 clusterInstallRef: group: extensions.hive.openshift.io kind: ImageClusterInstall name: ibi-image-install4 version: v1alpha1 clusterName: ibi-cluster5 platform: none: {} pullSecretRef: name: ibi-image-pull-secret6 次のコマンドを実行して
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-ibi1 spec: hubAcceptsClient: true2 次のコマンドを実行して、
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 キーを指定します。 |
| 仕様 | 型 | 説明 |
|---|---|---|
|
|
|
ターゲットホストのイメージベースのインストールに使用する |
|
|
|
デプロイメントが完了すると、クラスターにログインするための |
|
|
| リリースイメージコンテンツのソースまたはリポジトリーを指定します。次に例を示します。
|
|
|
|
ターゲットクラスターに適用する追加のマニフェストを含む |
|
|
|
クラスターのデプロイメントに使用する |
|
|
| 外部ネットワークの公開 CIDR (Classless Inter-Domain Routing) を指定します。 |
|
|
| クラスターのプロキシー設定を指定します。以下はその例です。
|
|
|
|
ホストの信頼済み証明書の新しいバンドルを含む |
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) ネットワークをデプロイに追加します。
追加マニフェストのファイル名は、必ず 30 文字以下にしてください。ファイル名が長いと、デプロイメントが失敗する可能性があります。
前提条件
- イメージベースのインストールを使用して、シングルノード 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-ns1 - 1
ImageClusterInstallリソースがある namespace を指定します。
出力例
configmap/sr-iov-extra-manifest created注記複数のマニフェストを追加し、マニフェストを特定の順序で適用する必要がある場合は、マニフェストのファイル名の前に、必要な順序を表す数字を付ける必要があります。たとえば、
00-namespace.yaml、01-sriov-extra-manifest.yamlなどです。
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-workdir1 - 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: machineNetwork: - cidr: 192.168.200.0/24 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.31.3
16.4.2.1.1. image-based-config.yaml マニフェストのリファレンス仕様 リンクのコピーリンクがクリップボードにコピーされました!
以下では、image-based-config.yaml マニフェストの仕様を説明します。
openshift-install プログラムは、image-based-config.yaml マニフェストを使用して、シングルノード OpenShift のイメージベースのデプロイ用にサイト固有の設定 ISO を作成します。
| 仕様 | 型 | 説明 |
|---|---|---|
|
|
| シングルノード OpenShift クラスターのノードの名前を定義します。 |
| 仕様 | 型 | 説明 |
|---|---|---|
|
|
| ホストのネットワーク設定を指定します。次に例を示します。
静的ネットワークが必要な場合は、ライブインストール ISO を作成するホストに 重要 インターフェイスの名前は、オペレーティングシステムに表示される実際の NIC 名と同じである必要があります。 |
|
|
| 全クラスターホストの NTP ソースのリストを指定します。これらの NTP ソースは、クラスター内の既存の NTP ソースに追加されます。NTP ソースのホスト名または IP アドレスを使用できます。 |
|
|
| シードクラスターのリリースイメージに使用したコンテナーイメージレジストリーを指定します。 |
|
|
| シングルノード OpenShift ノードのカスタムノードラベルを指定します。次に例を示します。
|
16.4.2.2. 追加マニフェストのリソースの設定 リンクのコピーリンクがクリップボードにコピーされました!
必要に応じて、シングルノード OpenShift クラスターのイメージベースのデプロイに追加のリソースを定義できます。
追加リソースは、install-config.yaml および image-based-config.yaml マニフェストと同じ作業ディレクトリー内の extra-manifests フォルダーに作成します。
extra-manifests ディレクトリー内の追加リソースのファイル名は、必ず 30 文字以下にしてください。ファイル名が長いと、デプロイメントが失敗する可能性があります。
16.4.2.2.1. extra-manifests フォルダーにリソースを作成する リンクのコピーリンクがクリップボードにコピーされました!
作業ディレクトリーの extra-manifests フォルダーにリソースを作成して、シングルノード OpenShift クラスターのイメージベースのデプロイにマニフェストをさらに追加できます。
次の例では、Single Root I/O Virtualization (SR-IOV) ネットワークをデプロイに追加します。
複数のマニフェストを追加し、マニフェストを特定の順序で適用する必要がある場合は、マニフェストのファイル名の前に、必要な順序を表す数字を付ける必要があります。たとえば、00-namespace.yaml、01-sriov-extra-manifest.yaml などです。
前提条件
-
install-config.yamlおよびimage-based-config.yamlマニフェストを含む作業ディレクトリーを作成した。
手順
作業ディレクトリーに移動し、次のコマンドを実行して
extra-manifestsフォルダーを作成します。$ mkdir extra-manifestsextra-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..." } ] }