Agent-based Installer を使用したオンプレミスクラスターのインストール


OpenShift Container Platform 4.12

Agent-based Installer を使用してオンプレミスの OpenShift Container Platform クラスターをインストールする

Red Hat OpenShift Documentation Team

概要

このドキュメントでは、Agent-based Installer を使用してオンプレミスの OpenShift Container Platform クラスターをインストールする方法を説明します。

第1章 Agent-based Installer を使用したインストールの準備

1.1. Agent-based Installer について

エージェントベースのインストール方法では、選択した任意の方法でオンプレミスサーバーを柔軟に起動できます。Assisted Installation サービスの使いやすさと、エアギャップ環境を含むオフラインでの実行機能を兼ね備えています。エージェントベースのインストールは、OpenShift Container Platform インストーラーのサブコマンドです。OpenShift Container Platform クラスターをデプロイするために必要なすべての情報を含む起動可能な ISO イメージを、利用可能なリリースイメージと共に生成します。

設定は、installer-provisioned infrastructure および user-provisioned infrastructure のインストール方法と同じ形式です。Agent-based Installer は、必要に応じてゼロタッチプロビジョニング (ZTP) カスタムリソースを生成または受け入れることもできます。ZTP を使用すると、ベアメタル機器の宣言型設定で新しいエッジサイトをプロビジョニングできます。

1.2. エージェントベースのインストーラーについて

OpenShift Container Platform ユーザーは、切断された環境で Assisted Installer のホストサービスの利点を活用できます。

エージェントベースのインストールは、Assisted Discovery Agent と Assisted Service を含む起動可能な ISO で構成されます。クラスターのインストールを実行するには両方が必要ですが、後者はいずれかのホストでのみ実行されます。

openshift-install agent create image サブコマンドは、指定した入力をもとに一時 ISO を生成します。以下のマニフェストで入力を指定できます。

推奨:

  • install-config.yaml
  • agent-config.yaml

または

オプション: ZTP マニフェスト

  • cluster-manifests/cluster-deployment.yaml
  • cluster-manifests/agent-cluster-install.yaml
  • cluster-manifests/pull-secret.yaml
  • cluster-manifests/infraenv.yaml
  • cluster-manifests/cluster-image-set.yaml
  • cluster-manifests/nmstateconfig.yaml
  • mirror/registries.conf
  • mirror/ca-bundle.crt

1.2.1. Agent-based Installer のワークフロー

コントロールプレーンホストの 1 つは、ブートプロセスの開始時に Assisted Service を実行し、最終的にブートストラップホストになります。このノードを ランデブーホスト (ノード 0) と呼びます。Assisted Service は、すべてのホストが要件を満たしていることを確認し、OpenShift Container Platform クラスターのデプロイをトリガーします。すべてのノードで Red Hat Enterprise Linux CoreOS (RHCOS) イメージがディスクに書き込まれます。ブートストラップ以外のノードは再起動し、クラスターデプロイメントを開始します。ノードが再起動されると、ランデブーホストが再起動し、クラスターに参加します。ブートストラップが完了し、クラスターがデプロイされます。

図1.1 ノードのインストールワークフロー

以下のトポロジーでは、openshift-install agent create image サブコマンドを使用して、ネットワークに接続されていない OpenShift Container Platform クラスターをインストールできます。

  • 単一ノードの OpenShift Container Platform クラスター (SNO): マスターとワーカーの両方であるノード。
  • 3 ノードの OpenShift Container Platform クラスター: ワーカーノードでもある 3 つのマスターノードを持つコンパクトなクラスター。
  • 高可用性 OpenShift Container Platform クラスター (HA): 任意の数のワーカーノードを持つ 3 つのマスターノード。

1.3. FIPS 準拠について

多くの OpenShift Container Platform のお客様においては、システムが実稼働環境で使用される前に、一定レベルでの規制への対応またはコンプライアンスが必要になります。この規制対応は、国家標準、業界標準または組織の企業ガバナンスフレームワークによって課せられます。FIPS (Federal Information Processing Standards) コンプライアンスは、安全な環境で必要とされる最も重要なコンポーネントの 1 つであり、サポートされている暗号化技術のみがノード上で許可されるようにします。

重要

クラスターで FIPS モードを有効にするには、FIPS モードで動作するように設定された Red Hat Enterprise Linux (RHEL) コンピューターからインストールプログラムを実行する必要があります。RHEL での FIPS モードの設定の詳細は、FIPS モードでのシステムのインストール を参照してください。FIPS 検証済み/Modules in Process 暗号ライブラリーの使用は、x86_64ppc64le、および s390x アーキテクチャー上の OpenShift Container Platform デプロイメントでサポートされます。

1.4. エージェントベースのインストーラーによる FIPS の設定

クラスターのデプロイ中に、Red Hat Enterprise Linux CoreOS (RHCOS) マシンがクラスターにデプロイされると、連邦情報処理標準 (FIPS) の変更が適用されます。Red Hat Enterprise Linux (RHEL) マシンでは、ワーカーマシンとして使用する予定のマシンにオペレーティングシステムをインストールする場合に FIPS モードを有効にする必要があります。

install-config.yaml および agent-config.yaml の推奨される方法で FIPS モードを有効にできます。

  1. install-config.yaml ファイルで fips フィールドの値を True に設定する必要があります。

    サンプル install-config.yaml.file

    apiVersion: v1
    baseDomain: test.example.com
    metadata:
      name: sno-cluster
    fips: True
    Copy to Clipboard Toggle word wrap

  2. オプション: ZTP マニフェストを使用している場合、agent-cluster-install.yaml ファイルの Agent-install.openshift.io/install-config-overrides フィールドで fips の値を True に設定する必要があります。

    サンプルの agent-cluster-install.yaml ファイル

    apiVersion: extensions.hive.openshift.io/v1beta1
    kind: AgentClusterInstall
    metadata:
      annotations:
        agent-install.openshift.io/install-config-overrides: '{"fips": True}'
      name: sno-cluster
      namespace: sno-cluster-test
    Copy to Clipboard Toggle word wrap

1.5. ネットワーキングについて

最初の起動時にすべてのホストが支援サービスにチェックインできるように、ランデブー IP はエージェント ISO の生成時に認識されている必要があります。IP アドレスが動的ホスト設定プロトコル (DHCP) サーバーを使用して割り当てられている場合、rendezvousIP フィールドは、デプロイメントされたコントロールプレーンの一部になるホストの 1 つの IP アドレスに設定する必要があります。DHCP サーバーがない環境では、IP アドレスを静的に定義できます。

静的 IP アドレスに加えて、NMState 形式の任意のネットワーク設定を適用できます。これには、VLAN と NIC ボンディングが含まれます。

1.5.1. DHCP

推奨される方法: install-config.yaml および agent-config.yaml

rendezvousIP フィールドの値を指定する必要があります。networkConfig フィールドは空白のままにすることができます。

agent-config.yaml.file のサンプル

apiVersion: v1alpha1
kind: AgentConfig
metadata:
  name: sno-cluster
rendezvousIP: 192.168.111.80 
1
Copy to Clipboard Toggle word wrap

1
ランデブーホストの IP アドレス。

1.5.2. 静的ネットワーキング

  1. 推奨される方法: install-config.yaml および agent-config.yaml

    agent-config.yaml.file のサンプル

      cat > agent-config.yaml << EOF
      apiVersion: v1alpha1
      kind: AgentConfig
      metadata:
        name: sno-cluster
      rendezvousIP: 192.168.111.80 
    1
    
      hosts:
        - hostname: master-0
          interfaces:
            - name: eno1
              macAddress: 00:ef:44:21:e6:a5 
    2
    
          networkConfig:
            interfaces:
              - name: eno1
                type: ethernet
                state: up
                mac-address: 00:ef:44:21:e6:a5
                ipv4:
                  enabled: true
                  address:
                    - ip: 192.168.111.80 
    3
    
                      prefix-length: 23 
    4
    
                  dhcp: false
            dns-resolver:
              config:
                server:
                  - 192.168.111.1 
    5
    
            routes:
              config:
                - destination: 0.0.0.0/0
                  next-hop-address: 192.168.111.1 
    6
    
                  next-hop-interface: eno1
                  table-id: 254
      EOF
    Copy to Clipboard Toggle word wrap

    1
    rendezvousIP フィールドに値が指定されていない場合、networkConfig フィールドで指定された静的 IP アドレスから 1 つのアドレスが選択されます。
    2
    設定を適用するホストを決定するために使用される、ホスト上のインターフェイスの MAC アドレス。
    3
    ターゲットのベアメタルホストの静的 IP アドレス。
    4
    ターゲットのベアメタルホストの静的 IP アドレスのサブネット接頭辞。
    5
    ターゲットのベアメタルホストの DNS サーバー。
    6
    ノードトラフィックのネクストホップアドレス。これは、指定されたインターフェイスに設定される IP アドレスと同じサブネットにある必要があります。
  2. オプションの方法: ZTP マニフェスト

    ZTP カスタムリソースのオプションの方法は、6 つのカスタムリソースで構成されます。静的 IP は nmstateconfig.yaml で設定できます。

    apiVersion: agent-install.openshift.io/v1beta1
    kind: NMStateConfig
    metadata:
      name: master-0
      namespace: openshift-machine-api
      labels:
        cluster0-nmstate-label-name: cluster0-nmstate-label-value
    spec:
      config:
        interfaces:
          - name: eth0
            type: ethernet
            state: up
            mac-address: 52:54:01:aa:aa:a1
            ipv4:
              enabled: true
              address:
                - ip: 192.168.122.2 
    1
    
                  prefix-length: 23 
    2
    
              dhcp: false
        dns-resolver:
          config:
            server:
              - 192.168.122.1 
    3
    
        routes:
          config:
            - destination: 0.0.0.0/0
              next-hop-address: 192.168.122.1 
    4
    
              next-hop-interface: eth0
              table-id: 254
      interfaces:
        - name: eth0
          macAddress: 52:54:01:aa:aa:a1 
    5
    Copy to Clipboard Toggle word wrap
    1
    ターゲットのベアメタルホストの静的 IP アドレス。
    2
    ターゲットのベアメタルホストの静的 IP アドレスのサブネット接頭辞。
    3
    ターゲットのベアメタルホストの DNS サーバー。
    4
    ノードトラフィックのネクストホップアドレス。これは、指定されたインターフェイスに設定される IP アドレスと同じサブネットにある必要があります。
    5
    設定を適用するホストを決定するために使用される、ホスト上のインターフェイスの MAC アドレス。

ランデブー IP は、config フィールドで指定された静的 IP アドレスから選択されます。

1.6. 例: ボンディングと VLAN インターフェイスノードのネットワーク設定

次の agent-config.yaml ファイルは、ボンディングおよび VLAN インターフェイスのマニフェストの例です。

  apiVersion: v1alpha1
  kind: AgentConfig
  rendezvousIP: 10.10.10.14
  hosts:
    - hostname: master0
      role: master
      interfaces:
       - name: enp0s4
         macAddress: 00:21:50:90:c0:10
       - name: enp0s5
         macAddress: 00:21:50:90:c0:20
      networkConfig:
        interfaces:
          - name: bond0.300 
1

            type: vlan 
2

            state: up
            vlan:
              base-iface: bond0
              id: 300
            ipv4:
              enabled: true
              address:
                - ip: 10.10.10.14
                  prefix-length: 24
              dhcp: false
          - name: bond0 
3

            type: bond 
4

            state: up
            mac-address: 00:21:50:90:c0:10 
5

            ipv4:
              enabled: false
            ipv6:
              enabled: false
            link-aggregation:
              mode: active-backup 
6

              options:
                miimon: "150" 
7

              port:
               - enp0s4
               - enp0s5
        dns-resolver: 
8

          config:
            server:
              - 10.10.10.11
              - 10.10.10.12
        routes:
          config:
            - destination: 0.0.0.0/0
              next-hop-address: 10.10.10.10 
9

              next-hop-interface: bond0.300 
10

              table-id: 254
Copy to Clipboard Toggle word wrap
1 3
インターフェイスの名前。
2
インターフェイスのタイプ。以下の例では VLAN を作成します。
4
インターフェイスのタイプ。この例では、ボンドを作成します。
5
インターフェイスの MAC アドレス。
6
mode 属性は、ボンドモードを指定します。
7
MII リンクの監視頻度をミリ秒単位で指定します。この例では、ボンディングリンクを 150 ミリ秒ごとに検査します。
8
オプション:DNS サーバーの検索およびサーバー設定を指定します。
9
ノードトラフィックのネクストホップアドレス。これは、指定されたインターフェイスに設定される IP アドレスと同じサブネットにある必要があります。
10
ノードトラフィックのネクストホップインターフェイス。

1.7. ベアメタルのサンプル install-config.yaml ファイル

install-config.yaml ファイルをカスタマイズして、OpenShift Container Platform クラスターのプラットフォームに関する詳細を指定するか、必要なパラメーターの値を変更することができます。

apiVersion: v1
baseDomain: example.com 
1

compute: 
2

- name: worker
  replicas: 0 
3

controlPlane: 
4

  name: master
  replicas: 1 
5

metadata:
  name: sno-cluster 
6

networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14 
7

    hostPrefix: 23 
8

  networkType: OVNKubernetes 
9

  serviceNetwork: 
10

  - 172.30.0.0/16
platform:
  none: {} 
11

fips: false 
12

pullSecret: '{"auths": ...}' 
13

sshKey: 'ssh-ed25519 AAAA...' 
14
Copy to Clipboard Toggle word wrap
1
クラスターのベースドメイン。すべての DNS レコードはこのベースのサブドメインである必要があり、クラスター名が含まれる必要があります。
2 4
controlPlane セクションは単一マッピングですが、compute セクションはマッピングのシーケンスになります。複数の異なるデータ構造の要件を満たすには、compute セクションの最初の行はハイフン - で始め、controlPlane セクションの最初の行はハイフンで始めることができません。1 つのコントロールプレーンプールのみが使用されます。
3
このパラメーターは、インストールプロセスをトリガーする前に、エージェントベースのインストールが検出を待機するコンピュートマシンの数を制御します。これは、生成された ISO で起動する必要があるコンピューティングマシンの数です。
注記

3 ノードクラスターをインストールする場合は、Red Hat Enterprise Linux CoreOS (RHCOS) マシンをインストールする際にコンピュートマシンをデプロイしないでください。

5
クラスターに追加するコントロールプレーンマシンの数。クラスターをこれらの値をクラスターの etcd エンドポイント数として使用するため、値はデプロイするコントロールプレーンマシンの数に一致する必要があります。
6
DNS レコードに指定したクラスター名。
7
Pod IP アドレスの割り当てに使用する IP アドレスのブロック。このブロックは既存の物理ネットワークと重複できません。これらの IP アドレスは Pod ネットワークに使用されます。外部ネットワークから Pod にアクセスする必要がある場合、ロードバランサーおよびルーターを、トラフィックを管理するように設定する必要があります。
注記

クラス E の CIDR 範囲は、将来の使用のために予約されています。クラス E CIDR 範囲を使用するには、ネットワーク環境がクラス E CIDR 範囲内の IP アドレスを受け入れるようにする必要があります。

8
それぞれの個別ノードに割り当てるサブネット接頭辞長。たとえば、hostPrefix23 に設定されている場合、各ノードに指定の cidr から /23 サブネットが割り当てられます。これにより、510 (2^(32 - 23) - 2) Pod IP アドレスが許可されます。外部ネットワークからのノードへのアクセスを提供する必要がある場合には、ロードバランサーおよびルーターを、トラフィックを管理するように設定します。
9
インストールするクラスターネットワークプラグイン。サポートされている値は OVNKubernetes (デフォルト値) と OpenShiftSDN です。
10
サービス IP アドレスに使用する IP アドレスプール。1 つの IP アドレスプールのみを入力できます。このブロックは既存の物理ネットワークと重複できません。外部ネットワークからサービスにアクセスする必要がある場合、ロードバランサーおよびルーターを、トラフィックを管理するように設定します。
11
単一ノードクラスターの場合は、プラットフォームを none に設定しなくてはなりません。プラットフォーム vspherebaremetal は、マルチノードクラスターの場合に設定可能です。
注記

プラットフォームを vsphere または baremetal に設定すると、次の 3 つの方法でクラスターノードの IP アドレスエンドポイントを設定できます。

  • IPv4
  • IPv6
  • IPv4 と IPv6 の並列 (デュアルスタック)

デュアルスタックネットワーキングの例

networking:
  clusterNetwork:
    - cidr: 172.21.0.0/16
      hostPrefix: 23
    - cidr: fd02::/48
      hostPrefix: 64
  machineNetwork:
    - cidr: 192.168.11.0/16
    - cidr: 2001:DB8::/32
  serviceNetwork:
    - 172.22.0.0/16
    - fd03::/112
  networkType: OVNKubernetes
platform:
  baremetal:
    apiVIPs:
    - 192.168.11.3
    - 2001:DB8::4
    ingressVIPs:
    - 192.168.11.4
    - 2001:DB8::5
Copy to Clipboard Toggle word wrap

12
FIPS モードを有効または無効にするかどうか。デフォルトでは、FIPS モードは有効にされません。FIPS モードが有効にされている場合、OpenShift Container Platform が実行される Red Hat Enterprise Linux CoreOS (RHCOS) マシンがデフォルトの Kubernetes 暗号スイートをバイパスし、代わりに RHCOS で提供される暗号モジュールを使用します。
重要

FIPS 検証済み/Modules In Process 暗号ライブラリーの使用は、x86_64ppc64le、および s390x アーキテクチャー上の OpenShift Container Platform デプロイメントでのみサポートされます。

13
このプルシークレットを使用し、OpenShift Container Platform コンポーネントのコンテナーイメージを提供する Quay.io など、組み込まれた各種の認証局によって提供されるサービスで認証できます。
14
Red Hat Enterprise Linux CoreOS (RHCOS) の core ユーザーの SSH 公開鍵。
注記

インストールのデバッグまたは障害復旧を実行する必要のある実稼働用の OpenShift Container Platform クラスターでは、ssh-agent プロセスが使用する SSH キーを指定します。

1.8. agent.ISO の作成前の検証チェック

Agent-based Installer は、ISO が作成される前に、ユーザー定義の YAML ファイルに対して検証チェックを実行します。検証に成功すると、agent.ISO が作成されます。

install-config.yaml

  • baremetalvsphere、および none プラットフォームがサポートされています。
  • プラットフォームに none が使用されている場合には、コントロールプレーンレプリカの数は 1 で、ワーカーレプリカの合計数は 0 である必要があります。
  • none プラットフォームの場合、networkType パラメーターは OVNKubernetes である必要があります。
  • apiVIPs および ingressVIPs パラメーターは、ベアメタルおよび vSphere プラットフォームに設定する必要があります。
  • agent-config.yaml ファイルに相当するベアメタルプラットフォーム設定の一部のホスト固有フィールドは無視されます。これらのフィールドが設定されている場合、警告メッセージがログに記録されます。

agent-config.yaml

  • 各インターフェイスには、定義された MAC アドレスが必要です。また、すべてのインターフェイスに異なる MAC アドレスが必要です。
  • ホストごとに少なくとも 1 つのインターフェイスを定義する必要があります。
  • World Wide Name (WWN) ベンダーエクステンションは、ルートデバイスのヒントではサポートされません。
  • host オブジェクトの role パラメーターの値は master または worker のいずれかである必要があります。

1.8.1. ZTP マニフェスト

agent-cluster-install.yaml

  • IPv6 の場合、networkType パラメーターでサポートされる唯一の値は OVNKubernetes です。OpenShiftSDN 値は、IPv4 にのみ使用できます。

cluster-image-set.yaml

  • ReleaseImage パラメーターは、インストーラーで定義されるリリースと一致する必要があります。

1.9. ルートデバイスヒントについて

rootDeviceHints パラメーターは、インストーラーが Red Hat Enterprise Linux CoreOS (RHCOS) イメージを特定のデバイスにプロビジョニングできるようにします。インストーラーは、検出順にデバイスを検査し、検出された値をヒントの値と比較します。インストーラーは、ヒント値に一致する最初に検出されたデバイスを使用します。この設定は複数のヒントを組み合わせることができますが、デバイスは、インストーラーがこれを選択できるようにすべてのヒントに一致する必要があります。

Expand
表1.2 サブフィールド
サブフィールド説明

deviceName

/dev/vda などの Linux デバイス名を含む文字列。ヒントは、実際の値と完全に一致する必要があります。

hctl

0:0:0:0 などの SCSI バスアドレスを含む文字列。ヒントは、実際の値と完全に一致する必要があります。

model

ベンダー固有のデバイス識別子を含む文字列。ヒントは、実際の値のサブ文字列になります。

vendor

デバイスのベンダーまたは製造元の名前が含まれる文字列。ヒントは、実際の値のサブ文字列になります。

serialNumber

デバイスのシリアル番号を含む文字列。ヒントは、実際の値と完全に一致する必要があります。

minSizeGigabytes

デバイスの最小サイズ (ギガバイト単位) を表す整数。

wwn

一意のストレージ ID を含む文字列。ヒントは、実際の値と完全に一致する必要があります。udevadm コマンドを使用して wwn 値を取得し、そのコマンドによって ID_WWN_WITH_EXTENSION の値が出力される場合は、その値を使用して wwn サブフィールドを指定する必要があります。

rotational

デバイスがローテーションするディスクである (true) か、そうでないか (false) を示すブール値。

使用例

     - name: master-0
       role: master
       rootDeviceHints:
         deviceName: "/dev/sda"
Copy to Clipboard Toggle word wrap

1.10. 次のステップ

第2章 切断されたインストールのミラーリングについて

切断されたインストールにミラーレジストリーを使用して、クラスターが外部コンテンツに対する組織の制御を満たすコンテナーイメージのみを使用するようにすることができます。ネットワークが切断された環境でプロビジョニングするインフラストラクチャーにクラスターをインストールする前に、必要なコンテナーイメージをその環境にミラーリングする必要があります。コンテナーイメージをミラーリングするには、ミラーリング用のレジストリーが必要です。

2.1. Agent-based Installer による非接続インストールのイメージのミラーリング

以下の手順のいずれかを使用して、OpenShift Container Platform イメージリポジトリーをミラーレジストリーにミラーリングできます。

2.2. 切断されたレジストリーの OpenShift Container Platform イメージリポジトリーのミラーリング

Agent-based Installer による非接続インストールにミラーイメージを使用するには、install-config.yaml ファイルを変更する必要があります。

oc adm release mirror または oc mirror コマンドの出力を使用して、リリースイメージをミラーリングできます。これは、ミラーレジストリーの設定に使用したコマンドによって異なります。

次の例は、oc adm release mirror コマンドの出力を示しています。

$ oc adm release mirror
Copy to Clipboard Toggle word wrap

出力例

To use the new mirrored repository to install, add the following
section to the install-config.yaml:

imageContentSources:

mirrors:
virthost.ostest.test.metalkube.org:5000/localimages/local-release-image
source: quay.io/openshift-release-dev/ocp-v4.0-art-dev
mirrors:
virthost.ostest.test.metalkube.org:5000/localimages/local-release-image
source: registry.ci.openshift.org/ocp/release
Copy to Clipboard Toggle word wrap

次の例は、oc-mirror プラグインによって生成された imageContentSourcePolicy.yaml ファイルの一部を示しています。このファイルは結果ディレクトリーにあります (例: oc-mirror-workspace/results-1682697932/)。

imageContentSourcePolicy.yaml ファイルの例

spec:
  repositoryDigestMirrors:
  - mirrors:
    - virthost.ostest.test.metalkube.org:5000/openshift/release
    source: quay.io/openshift-release-dev/ocp-v4.0-art-dev
  - mirrors:
    - virthost.ostest.test.metalkube.org:5000/openshift/release-images
    source: quay.io/openshift-release-dev/ocp-release
Copy to Clipboard Toggle word wrap

2.2.1. ミラーリングされたイメージを使用するように Agent-based Installer を設定する

ミラーリングされたイメージを使用するように Agent-based Installer を設定するには、oc adm release mirror コマンドまたは oc-mirror プラグインの出力を使用する必要があります。

手順

  1. oc-mirror プラグインを使用してリリースイメージをミラーリングした場合:

    1. 結果ディレクトリーにある imageContentSourcePolicy.yaml を開きます (例: oc-mirror-workspace/results-1682697932/)。
    2. yaml ファイルの repositoryDigestMirrors セクションのテキストをコピーします。
  2. oc adm release mirror コマンドを使用してリリースイメージをミラーリングした場合:

    • コマンド出力の imageContentSources セクションのテキストをコピーします。
  3. コピーしたテキストを install-config.yaml ファイルの imageContentSources フィールドに貼り付けます。
  4. ミラーレジストリーに使用される証明書ファイルを yaml ファイルの additionalTrustBundle フィールドに追加します。

    重要

    この値は、ミラーレジストリーに使用した証明書ファイルの内容である必要があります。証明書ファイルは、既存の信頼できる認証局、またはミラーレジストリー用に生成した自己署名証明書のいずれかです。

    install-config.yaml ファイルの例

      additionalTrustBundle: |
        -----BEGIN CERTIFICATE-----
        ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
        -----END CERTIFICATE-----
    Copy to Clipboard Toggle word wrap

  5. {ztp} マニフェストを使用している場合: registries.conf および ca-bundle.crt ファイルを mirror パスに追加して、エージェント ISO イメージにミラー設定を追加します。

    注記

    oc adm release Mirror コマンドまたは oc Mirror プラグインの出力から registries.conf ファイルを作成できます。/etc/containers/registries.conf ファイルの形式が変更されました。現在のバージョンはバージョン 2 で、TOML 形式です。

    registries.conf ファイルの例

    [[registry]]
    location = "registry.ci.openshift.org/ocp/release" mirror-by-digest-only = true
    
    [[registry.mirror]] location = "virthost.ostest.test.metalkube.org:5000/localimages/local-release-image"
    
    [[registry]]
    location = "quay.io/openshift-release-dev/ocp-v4.0-art-dev" mirror-by-digest-only = true
    
    [[registry.mirror]] location = "virthost.ostest.test.metalkube.org:5000/localimages/local-release-image"
    Copy to Clipboard Toggle word wrap

第3章 Agent-based Installer を使用した OpenShift Container Platform クラスターのインストール

3.1. 前提条件

3.2. Agent-based Installer を使用した OpenShift Container Platform のインストール

以下の手順では、切断された環境で単一ノードの OpenShift Container Platform をデプロイします。この手順はベースとして使用し、要件に応じて変更できます。

手順

  1. ログイン認証情報を使用して OpenShift Container Platform Web コンソールにログインします。
  2. データセンター に移動します。

  3. Run Agent-based Installer locally をクリックします。Install OpenShift Container Platform on Bare Metal locally with Agent ページに移動します。
  4. オプション: または、Select an OpenShift Container Platform cluster type to create ページで Bare Metal (x86_64) をクリックすることもできます。Create an OpenShift Container Platform Cluster: Bare Metal ページに移動します。次に、Local Agent-based を選択して Install OpenShift Container Platform on Bare Metal Local with Agent ページに移動します。

  5. オペレーティングシステムとアーキテクチャーを選択します。
  6. Download Installer をクリックして、インストールプログラムをダウンロードして展開します。
  7. Download pull secret または Copy pull secret をクリックして、プルシークレットをダウンロードまたはコピーできます。
  8. Download command-line tools をクリックし、openshift-install バイナリーを PATH 上のディレクトリーに配置します。
  9. 以下のコマンドを実行して nmstate の依存関係をインストールします。

    $ sudo dnf install /usr/bin/nmstatectl -y
    Copy to Clipboard Toggle word wrap
  10. PATH にあるディレクトリーに openshift-install バイナリーを配置します。
  11. 次のコマンドを実行して、インストール設定を保存するディレクトリーを作成します。

    $ mkdir ~/<directory_name>
    Copy to Clipboard Toggle word wrap
    注記

    これは、エージェントベースのインストールで推奨される方法です。ZTP マニフェストの使用はオプションです。

  12. install-config.yaml ファイルを作成します。

    $ cat << EOF > ./my-cluster/install-config.yaml
    apiVersion: v1
    baseDomain: test.example.com
    compute:
    - architecture: amd64
      hyperthreading: Enabled
      name: worker
      replicas: 0
    controlPlane:
      architecture: amd64
      hyperthreading: Enabled
      name: master
      replicas: 1
    metadata:
      name: sno-cluster 
    1
    
    networking:
      clusterNetwork:
      - cidr: 10.128.0.0/14
        hostPrefix: 23
      machineNetwork:
      - cidr: 192.168.111.0/16
      networkType: OVNKubernetes 
    2
    
      serviceNetwork:
      - 172.30.0.0/16
    platform:
      none: {}
    pullSecret: '<pull_secret>' 
    3
    
    sshKey: |
      <ssh_pub_key> 
    4
    
      EOF
    Copy to Clipboard Toggle word wrap
    1
    必須。
    2
    インストールするクラスターネットワークプラグイン。サポートされている値は OVNKubernetesOpenShiftSDN です。デフォルトの値は OVNkubernetes です。
    3
    プルシークレットを入力します。
    4
    ssh 公開鍵を入力します。
    注記

    プラットフォームを vSphere または baremetal に設定すると、クラスターノードの IP アドレスエンドポイントを次の 3 つの方法で設定できます。

    • IPv4
    • IPv6
    • IPv4 と IPv6 の並列 (デュアルスタック)

    デュアルスタックネットワーキングの例

    networking:
      clusterNetwork:
        - cidr: 172.21.0.0/16
          hostPrefix: 23
        - cidr: fd02::/48
          hostPrefix: 64
      machineNetwork:
        - cidr: 192.168.11.0/16
        - cidr: 2001:DB8::/32
      serviceNetwork:
        - 172.22.0.0/16
        - fd03::/112
      networkType: OVNKubernetes
    platform:
      baremetal:
        apiVIPs:
        - 192.168.11.3
        - 2001:DB8::4
        ingressVIPs:
        - 192.168.11.4
        - 2001:DB8::5
    Copy to Clipboard Toggle word wrap

    IPv6 は、ベアメタルプラットフォームでのみサポートされます。

  13. agent-config.yaml ファイルを作成します。

    $ cat > agent-config.yaml << EOF
    apiVersion: v1alpha1
    kind: AgentConfig
    metadata:
      name: sno-cluster
    rendezvousIP: 192.168.111.80 
    1
    
    hosts: 
    2
    
      - hostname: master-0 
    3
    
        interfaces:
          - name: eno1
            macAddress: 00:ef:44:21:e6:a5
        rootDeviceHints: 
    4
    
          deviceName: /dev/sdb
        networkConfig: 
    5
    
          interfaces:
            - name: eno1
              type: ethernet
              state: up
              mac-address: 00:ef:44:21:e6:a5
              ipv4:
                enabled: true
                address:
                  - ip: 192.168.111.80
                    prefix-length: 23
                dhcp: false
          dns-resolver:
            config:
              server:
                - 192.168.111.1
          routes:
            config:
              - destination: 0.0.0.0/0
                next-hop-address: 192.168.111.2
                next-hop-interface: eno1
                table-id: 254
      EOF
    Copy to Clipboard Toggle word wrap
    1
    この IP アドレスは、ブートストラッププロセスを実行するノードや、assisted-service コンポーネントを実行するノードを判別するために使用されます。networkConfig パラメーターで少なくとも 1 つのホストの IP アドレスを指定しない場合は、ランデブー IP アドレスを指定する必要があります。このアドレスが指定されていない場合、指定されたホストの networkConfig から 1 つの IP アドレスが選択されます。
    2
    ホスト設定はオプションです。定義されたホストの数は、install-config.yaml ファイルで定義されたホストの総数 (compute.replicas および controlPlane.replicas パラメーターの値の合計) を超えてはなりません。
    3
    オプションの hostname パラメーターは、動的ホスト設定プロトコル (DHCP) または逆引き DNS ルックアップから取得したホスト名をオーバーライドします。各ホストには、これらの方法のいずれかによって提供される一意のホスト名が必要です。
    4
    rootDeviceHints パラメーターは、Red Hat Enterprise Linux CoreOS (RHCOS) イメージを特定のデバイスにプロビジョニングできるようにします。これは、検出順にデバイスを検査し、検出された値をヒントの値と比較します。ヒントの値と一致する最初に検出されたデバイスが使用されます。
    5
    ホストのネットワークインターフェイスを NMState 形式で設定するには、このオプションパラメーターを設定します。
  14. 以下のコマンドを実行して agent イメージを作成します。

    $ openshift-install --dir <install_directory> agent create image
    Copy to Clipboard Toggle word wrap
    注記

    Red Hat Enterprise Linux CoreOS (RHCOS) はプライマリーディスクでのマルチパスをサポートするようになり、ハードウェア障害に対する対障害性が強化され、ホストの可用性を強化できるようになりました。マルチパス化は、デフォルトの /etc/multipath.conf 設定を使用して、agent.iSO イメージでデフォルトで有効になっています。

  15. ベアメタルマシンで agent.x86_64.iso イメージを起動します。
  16. オプション: ブートストラップホスト (ランデブーホスト) がいつ再起動するかを知るには、次のコマンドを実行します。

    $ ./openshift-install --dir <install_directory> agent wait-for bootstrap-complete \ 
    1
    
        --log-level=info 
    2
    Copy to Clipboard Toggle word wrap
    1
    <install_directory> には、エージェント ISO が生成されたディレクトリーへのパスを指定します。
    2
    異なるインストールの詳細情報を表示するには、info ではなく、warndebug、または error を指定します。

    出力例

    ...................................................................
    ...................................................................
    INFO Bootstrap configMap status is complete
    INFO cluster bootstrap is complete
    Copy to Clipboard Toggle word wrap

    Kubernetes API サーバーでこれがコントロールプレーンマシンにブートストラップされていることを示すシグナルが出されるとコマンドは成功します。

  17. 進捗状況を追跡し、正常なインストールを確認するには、以下のコマンドを実行します。

    $ openshift-install --dir <install_directory> agent wait-for install-complete 
    1
    Copy to Clipboard Toggle word wrap
    1
    <install_directory> directory には、エージェント ISO が生成されたディレクトリーへのパスを指定します。

    出力例

    ...................................................................
    ...................................................................
    INFO Cluster is installed
    INFO Install complete!
    INFO To access the cluster as the system:admin user when using 'oc', run
    INFO     export KUBECONFIG=/home/core/installer/auth/kubeconfig
    INFO Access the OpenShift web-console here: https://console-openshift-console.apps.sno-cluster.test.example.com
    Copy to Clipboard Toggle word wrap

注記

ZTP マニフェストのオプションの方法を使用している場合、次の 3 つの方法で AgentClusterInstall.yaml ファイルを介してクラスターノードの IP アドレスエンドポイントを設定できます。

  • IPv4
  • IPv6
  • IPv4 と IPv6 の並列 (デュアルスタック)

デュアルスタックネットワーキングの例

apiVIP: 192.168.11.3
ingressVIP: 192.168.11.4
clusterDeploymentRef:
  name: mycluster
imageSetRef:
  name: openshift-4.12
networking:
  clusterNetwork:
  - cidr: 172.21.0.0/16
    hostPrefix: 23
  - cidr: fd02::/48
    hostPrefix: 64
  machineNetwork:
  - cidr: 192.168.11.0/16
  - cidr: 2001:DB8::/32
  serviceNetwork:
  - 172.22.0.0/16
  - fd03::/112
  networkType: OVNKubernetes
Copy to Clipboard Toggle word wrap

IPv6 は、ベアメタルプラットフォームでのみサポートされます。

3.3. 失敗したエージェントベースのインストールからログデータを収集する

次の手順を使用して、失敗したエージェントベースのインストールに関するログデータを収集し、サポートケースで提供できるよう備えます。

手順

  1. 次のコマンドを実行し、出力を収集します。

    $ ./openshift-install --dir <install_directory> agent wait-for bootstrap-complete --log-level=debug
    Copy to Clipboard Toggle word wrap

    エラーメッセージの例

    ...
    ERROR Bootstrap failed to complete: : bootstrap process timed out: context deadline exceeded
    Copy to Clipboard Toggle word wrap

  2. 前のコマンドの出力が失敗を示している場合、またはブートストラップが進まない場合は、ノード 0 で次のコマンドを実行し、出力を収集します。

    $ ssh core@<node-ip> sudo /usr/local/bin/agent-gather -O > <local_tmp_path>/agent-gather.tar.xz
    Copy to Clipboard Toggle word wrap
    注記

    データを収集する必要があるのはノード 0 だけですが、すべてのノードからこのデータを収集すると役立ちます。

  3. ブートストラップが完了し、クラスターノードが再起動したら、次のコマンドを実行して出力を収集します。

    $ ./openshift-install --dir <install_directory> agent wait-for install-complete --log-level=debug
    Copy to Clipboard Toggle word wrap
  4. 前のコマンドの出力が失敗を示している場合は、次の手順を実行します。

    1. 次のコマンドを実行して、kubeconfig ファイルを環境にエクスポートします。

      $ export KUBECONFIG=<install_directory>/auth/kubeconfig
      Copy to Clipboard Toggle word wrap
    2. デバッグ用の情報を収集するには、次のコマンドを実行します。

      $ oc adm must-gather
      Copy to Clipboard Toggle word wrap
    3. 次のコマンドを実行して、作業ディレクトリーに作成した must-gather ディレクトリーから圧縮ファイルを作成します。

      $ tar cvaf must-gather.tar.gz <must_gather_directory>
      Copy to Clipboard Toggle word wrap
  5. /auth サブディレクトリーを除き、デプロイメント中に使用したインストールディレクトリーを Red Hat カスタマーポータル のサポートケースに添付します。
  6. この手順で収集した他のすべてのデータをサポートケースに添付してください。

3.4. ZTP カスタムリソースの例

オプション: ゼロタッチプロビジョニング (ZTP) カスタムリソース (CR) オブジェクトを使用して、エージェントベースのインストーラーで OpenShift Container Platform クラスターをインストールできます。

以下の ZTP カスタムリソースをカスタマイズして、OpenShift Container Platform クラスターの詳細を指定できます。以下は、単一ノードクラスターの ZTP カスタムリソースの例です。

agent-cluster-install.yaml

  apiVersion: extensions.hive.openshift.io/v1beta1
  kind: AgentClusterInstall
  metadata:
    name: test-agent-cluster-install
    namespace: cluster0
  spec:
    clusterDeploymentRef:
      name: ostest
    imageSetRef:
      name: openshift-4.12
    networking:
      clusterNetwork:
      - cidr: 10.128.0.0/14
        hostPrefix: 23
      serviceNetwork:
      - 172.30.0.0/16
    provisionRequirements:
      controlPlaneAgents: 1
      workerAgents: 0
    sshPublicKey: <YOUR_SSH_PUBLIC_KEY>
Copy to Clipboard Toggle word wrap

cluster-deployment.yaml

apiVersion: hive.openshift.io/v1
kind: ClusterDeployment
metadata:
  name: ostest
  namespace: cluster0
spec:
  baseDomain: test.metalkube.org
  clusterInstallRef:
    group: extensions.hive.openshift.io
    kind: AgentClusterInstall
    name: test-agent-cluster-install
    version: v1beta1
  clusterName: ostest
  controlPlaneConfig:
    servingCertificates: {}
  platform:
    agentBareMetal:
      agentSelector:
        matchLabels:
          bla: aaa
  pullSecretRef:
    name: pull-secret
Copy to Clipboard Toggle word wrap

cluster-image-set.yaml

apiVersion: hive.openshift.io/v1
kind: ClusterImageSet
metadata:
  name: openshift-4.12
spec:
  releaseImage: registry.ci.openshift.org/ocp/release:4.12.0-0.nightly-2022-06-06-025509
Copy to Clipboard Toggle word wrap

infra-env.yaml

apiVersion: agent-install.openshift.io/v1beta1
kind: InfraEnv
metadata:
  name: myinfraenv
  namespace: cluster0
spec:
  clusterRef:
    name: ostest
    namespace: cluster0
  pullSecretRef:
    name: pull-secret
  sshAuthorizedKey: <YOUR_SSH_PUBLIC_KEY>
  nmStateConfigLabelSelector:
    matchLabels:
      cluster0-nmstate-label-name: cluster0-nmstate-label-value
Copy to Clipboard Toggle word wrap

nmstateconfig.yaml

apiVersion: agent-install.openshift.io/v1beta1
kind: NMStateConfig
metadata:
  name: master-0
  namespace: openshift-machine-api
  labels:
    cluster0-nmstate-label-name: cluster0-nmstate-label-value
spec:
  config:
    interfaces:
      - name: eth0
        type: ethernet
        state: up
        mac-address: 52:54:01:aa:aa:a1
        ipv4:
          enabled: true
          address:
            - ip: 192.168.122.2
              prefix-length: 23
          dhcp: false
    dns-resolver:
      config:
        server:
          - 192.168.122.1
    routes:
      config:
        - destination: 0.0.0.0/0
          next-hop-address: 192.168.122.1
          next-hop-interface: eth0
          table-id: 254
  interfaces:
    - name: "eth0"
      macAddress: 52:54:01:aa:aa:a1
Copy to Clipboard Toggle word wrap

pull-secret.yaml

apiVersion: v1
kind: Secret
type: kubernetes.io/dockerconfigjson
metadata:
  name: pull-secret
  namespace: cluster0
stringData:
  .dockerconfigjson: 'YOUR_PULL_SECRET'
Copy to Clipboard Toggle word wrap

マルチクラスターエンジン Operator をインストールし、エージェントベースの OpenShift Container Platform インストーラーを使用してハブクラスターをデプロイできます。次の手順は部分的に自動化されており、最初のクラスターがデプロイメントされた後に手動の手順が必要です。

4.1. 前提条件

切断された環境で、必要な OpenShift Container Platform コンテナーイメージ、マルチクラスターエンジン Operator、および Local Storage Operator (LSO) をローカルミラーレジストリーにミラーリングできます。ミラーレジストリーのローカル DNS ホスト名とポートを必ず書き留めておいてください。

注記

OpenShift Container Platform イメージリポジトリーをミラーレジストリーにミラーリングするには、oc adm release image または oc mirror コマンドを使用できます。この手順では、oc mirror コマンドを例として使用します。

手順

  1. <assets_directory> フォルダーを作成して、有効な install-config.yaml および agent-config.yaml ファイルを含めます。このディレクトリーは、すべてのアセットを格納するために使用されます。
  2. OpenShift Container Platform イメージリポジトリー、マルチクラスターエンジン、および LSO をミラーリングするには、以下の設定で ImageSetConfiguration.yaml ファイルを作成します。

    ImageSetConfiguration.yaml の例

      kind: ImageSetConfiguration
      apiVersion: mirror.openshift.io/v1alpha2
      archiveSize: 4 
    1
    
      storageConfig: 
    2
    
        imageURL: <your-local-registry-dns-name>:<your-local-registry-port>/mirror/oc-mirror-metadata 
    3
    
        skipTLS: true
      mirror:
        platform:
          architectures:
            - "amd64"
          channels:
            - name: stable-4.12 
    4
    
              type: ocp
        additionalImages:
          - name: registry.redhat.io/ubi8/ubi:latest
        operators:
          - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.12 
    5
    
            packages: 
    6
    
              - name: multicluster-engine 
    7
    
              - name: local-storage-operator 
    8
    Copy to Clipboard Toggle word wrap

    1
    イメージセット内の各ファイルの最大サイズを GiB 単位で指定します。
    2
    イメージセットのメタデータを受け取るバックエンドの場所を設定します。この場所は、レジストリーまたはローカルディレクトリーにすることができます。Technology Preview OCI 機能を使用していない場合は、storageConfig 値を指定する必要があります。
    3
    ストレージバックエンドのレジストリー URL を設定します。
    4
    インストールするバージョンの OpenShift Container Platform イメージを含むチャネルを設定します。
    5
    インストールする OpenShift Container Platform イメージを含む Operator カタログを設定します。
    6
    イメージセットに含める特定の Operator パッケージとチャネルのみを指定します。カタログ内のすべてのパッケージを取得するには、このフィールドを削除してください。
    7
    マルチクラスターエンジンのパッケージとチャネル。
    8
    LSO パッケージとチャネル。
    注記

    このファイルは、コンテンツをミラーリングするときに oc mirror コマンドで必要になります。

  3. 特定の OpenShift Container Platform イメージリポジトリー、マルチクラスターエンジン、および LSO をミラーリングするには、以下のコマンドを実行します。

    $ oc mirror --dest-skip-tls --config ocp-mce-imageset.yaml docker://<your-local-registry-dns-name>:<your-local-registry-port>
    Copy to Clipboard Toggle word wrap
  4. install-config.yaml ファイルのレジストリーと証明書を更新します。

    Example imageContentSources.yaml

      imageContentSources:
        - source: "quay.io/openshift-release-dev/ocp-release"
          mirrors:
            - "<your-local-registry-dns-name>:<your-local-registry-port>/openshift/release-images"
        - source: "quay.io/openshift-release-dev/ocp-v4.0-art-dev"
          mirrors:
            - "<your-local-registry-dns-name>:<your-local-registry-port>/openshift/release"
        - source: "registry.redhat.io/ubi8"
          mirrors:
            - "<your-local-registry-dns-name>:<your-local-registry-port>/ubi8"
        - source: "registry.redhat.io/multicluster-engine"
          mirrors:
            - "<your-local-registry-dns-name>:<your-local-registry-port>/multicluster-engine"
        - source: "registry.redhat.io/rhel8"
          mirrors:
            - "<your-local-registry-dns-name>:<your-local-registry-port>/rhel8"
        - source: "registry.redhat.io/redhat"
          mirrors:
            - "<your-local-registry-dns-name>:<your-local-registry-port>/redhat"
    Copy to Clipboard Toggle word wrap

    さらに、証明書が install-config.yamladditionalTrustBundle フィールドに存在することを確認してください。

    install-config.yaml の例

    additionalTrustBundle: |
      -----BEGIN CERTIFICATE-----
      zzzzzzzzzzz
      -----END CERTIFICATE-------
    Copy to Clipboard Toggle word wrap

    重要

    oc mirror コマンドは、いくつかの出力を含む oc-mirror-workspace というフォルダーを作成します。これには、OpenShift Container Platform および選択した Operator に必要なすべてのミラーを識別する imageContentSourcePolicy.yaml ファイルが含まれます。

  5. 次のコマンドを実行して、クラスターマニフェストを生成します。

    $ openshift-install agent create cluster-manifests
    Copy to Clipboard Toggle word wrap

    このコマンドは、クラスターマニフェストフォルダーを更新して、ミラー設定を含む mirror フォルダーを含めます。

マルチクラスターエンジン Operator である Local Storage Operator (LSO) に必要なマニフェストを作成し、エージェントベースの OpenShift Container Platform クラスターをハブクラスターとしてデプロイします。

手順

  1. <assets_directory> フォルダーに openshift という名前のサブフォルダーを作成します。このサブフォルダーは、デプロイされたクラスターをさらにカスタマイズするためにインストール中に適用される追加のマニフェストを格納するために使用されます。<assets_directory> フォルダーには、install-config.yaml および agent-config.yaml ファイルを含むすべてのアセットが含まれています。

    注記

    インストーラーは、追加のマニフェストを検証しません。

  2. マルチクラスターエンジンの場合、以下のマニフェストを作成し、それらを <assets_directory>/openshift フォルダーに保存します。

    mce_namespace.yaml

      apiVersion: v1
      kind: Namespace
      metadata:
        labels:
          openshift.io/cluster-monitoring: "true"
        name: multicluster-engine
    Copy to Clipboard Toggle word wrap

    mce_operatorgroup.yaml

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: multicluster-engine-operatorgroup
        namespace: multicluster-engine
      spec:
        targetNamespaces:
        - multicluster-engine
    Copy to Clipboard Toggle word wrap

    mce_subscription.yaml

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: multicluster-engine
        namespace: multicluster-engine
      spec:
        channel: "stable-2.1"
        name: multicluster-engine
        source: redhat-operators
        sourceNamespace: openshift-marketplace
    Copy to Clipboard Toggle word wrap

    注記

    Assisted Installer (AI) を使用して、Red Hat Advanced Cluster Management (RHACM) で分散ユニット (DU) を大規模にインストールできます。これらの分散ユニットは、ハブクラスターで有効にする必要があります。AI サービスには、手動で作成される永続ボリューム (PV) が必要です。

  3. AI サービスの場合、以下のマニフェストを作成し、それらを <assets_directory>/openshift フォルダーに保存します。

    Example lso_namespace.yaml

      apiVersion: v1
      kind: Namespace
      metadata:
        annotations:
          openshift.io/cluster-monitoring: "true"
        name: openshift-local-storage
    Copy to Clipboard Toggle word wrap

    Example lso_operatorgroup.yaml

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: local-operator-group
        namespace: openshift-local-storage
      spec:
        targetNamespaces:
          - openshift-local-storage
    Copy to Clipboard Toggle word wrap

    Example lso_subscription.yaml

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: local-storage-operator
        namespace: openshift-local-storage
      spec:
        installPlanApproval: Automatic
        name: local-storage-operator
        source: redhat-operators
        sourceNamespace: openshift-marketplace
    Copy to Clipboard Toggle word wrap

    注記

    すべてのマニフェストを作成した後、ファイルシステムは次のように表示される必要があります。

    例: ファイルシステム

    <assets_directory>
        ├─ install-config.yaml
        ├─ agent-config.yaml
        └─ /openshift
            ├─ mce_namespace.yaml
            ├─ mce_operatorgroup.yaml
            ├─ mce_subscription.yaml
            ├─ lso_namespace.yaml
            ├─ lso_operatorgroup.yaml
            └─ lso_subscription.yaml
    Copy to Clipboard Toggle word wrap

  4. 次のコマンドを実行して、エージェント ISO イメージを作成します。

    $ openshift-install agent create image --dir <assets_directory>
    Copy to Clipboard Toggle word wrap
  5. イメージの準備ができたら、ターゲットマシンを起動し、インストールが完了するまで待ちます。
  6. インストールを監視するには、次のコマンドを実行します。

    $ openshift-install agent wait-for install-complete --dir <assets_directory>
    Copy to Clipboard Toggle word wrap
    注記

    完全に機能するハブクラスターを設定するには、次のマニフェストを作成し、コマンド $ oc apply -f <manifest-name> を実行して手動で適用する必要があります。マニフェストの作成順序は重要であり、必要に応じて待機状態が表示されます。

  7. AI サービスに必要な PV については、次のマニフェストを作成します。

      apiVersion: local.storage.openshift.io/v1
      kind: LocalVolume
      metadata:
       name: assisted-service
       namespace: openshift-local-storage
      spec:
       logLevel: Normal
       managementState: Managed
       storageClassDevices:
         - devicePaths:
             - /dev/vda
             - /dev/vdb
           storageClassName: assisted-service
           volumeMode: Filesystem
    Copy to Clipboard Toggle word wrap
  8. 後続のマニフェストを適用する前に、次のコマンドを使用して PV が使用可能になるまで待機します。

    $ oc wait localvolume -n openshift-local-storage assisted-service --for condition=Available --timeout 10m
    Copy to Clipboard Toggle word wrap
    注記
    The `devicePath` is an example and may vary depending on the actual hardware configuration used.
    Copy to Clipboard Toggle word wrap
  9. マルチクラスターエンジンインスタンスのマニフェストを作成します。

    Example MultiClusterEngine.yaml

      apiVersion: multicluster.openshift.io/v1
      kind: MultiClusterEngine
      metadata:
        name: multiclusterengine
      spec: {}
    Copy to Clipboard Toggle word wrap

  10. マニフェストを作成して AI サービスを有効にします。

    agentserviceconfig.yaml

      apiVersion: agent-install.openshift.io/v1beta1
      kind: AgentServiceConfig
      metadata:
        name: agent
        namespace: assisted-installer
      spec:
       databaseStorage:
        storageClassName: assisted-service
        accessModes:
        - ReadWriteOnce
        resources:
         requests:
          storage: 10Gi
       filesystemStorage:
        storageClassName: assisted-service
        accessModes:
        - ReadWriteOnce
        resources:
         requests:
          storage: 10Gi
    Copy to Clipboard Toggle word wrap

  11. 後続のスポーククラスターをデプロイするためのマニフェストを作成します。

    clusterimageset.yaml

      apiVersion: hive.openshift.io/v1
      kind: ClusterImageSet
      metadata:
        name: "4.12"
      spec:
        releaseImage: quay.io/openshift-release-dev/ocp-release:4.12.0-x86_64
    Copy to Clipboard Toggle word wrap

  12. マニフェストを作成して、エージェントがインストールされたクラスター (マルチクラスターエンジンと Assisted Service をホストするクラスター) をハブクラスターとしてインポートします。

    autoimport.yaml

      apiVersion: cluster.open-cluster-management.io/v1
      kind: ManagedCluster
      metadata:
       labels:
         local-cluster: "true"
         cloud: auto-detect
         vendor: auto-detect
       name: local-cluster
      spec:
       hubAcceptsClient: true
    Copy to Clipboard Toggle word wrap

  13. マネージドクラスターが作成されるまで待ちます。

    $ oc wait -n multicluster-engine managedclusters local-cluster --for condition=ManagedClusterJoined=True --timeout 10m
    Copy to Clipboard Toggle word wrap

検証

  • マネージドクラスターのインストールが成功したことを確認するには、次のコマンドを実行します。

    $ oc get managedcluster
    NAME            HUB ACCEPTED   MANAGED CLUSTER URLS             JOINED   AVAILABLE  AGE
    local-cluster   true           https://<your cluster url>:6443   True     True       77m
    Copy to Clipboard Toggle word wrap

Legal Notice

Copyright © 2025 Red Hat

OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).

Modified versions must remove all Red Hat trademarks.

Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.

Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.

Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat