1.8.3.9.3. コマンドラインを使用したクラスターの作成


Central Infrastructure Management 管理コンポーネント内のアシステッドインストーラー機能を使用して、コンソールを使用せずにクラスターを作成することもできます。この手順を完了したら、生成された検出イメージからホストを起動できます。通常、手順の順序は重要ではありませんが、順序が必要な場合は注意してください。

1.8.3.9.3.1. namespace を作成します。

リソースの namespace が必要です。すべてのリソースを共有 namespace に保持すると便利です。この例では、namespace の名前に sample-namespace を使用していますが、assisted-installer 以外の任意の名前を使用できます。次のファイルを作成して適用して namespace を作成します。

apiVersion: v1
kind: Namespace
metadata:
  name: sample-namespace
1.8.3.9.3.2. プルシークレットを namespace に追加する

以下のカスタムリソースを作成し、適用して プルシークレット を namespace に追加します。

apiVersion: v1
kind: Secret
type: kubernetes.io/dockerconfigjson
metadata:
  name: <pull-secret>
  namespace: sample-namespace
stringData:
  .dockerconfigjson: 'your-pull-secret-json' 
1
1
プルシークレットの内容を追加します。たとえば、これには cloud.openshift.comquay.io、または registry.redhat.io 認証を含めることができます。
1.8.3.9.3.3. ClusterImageSet の生成

以下のカスタムリソースを作成して適用することで、CustomImageSet を生成してクラスターの OpenShift Container Platform のバージョンを指定します。namereleaseImage の両方について、<4.x.0>ClusterImageSet に使用しているサポートされているバージョンに置き換えます。

apiVersion: hive.openshift.io/v1
kind: ClusterImageSet
metadata:
  name: openshift-v<4.x.0>
spec:
  releaseImage: quay.io/openshift-release-dev/ocp-release:<4.x.0>-rc.0-x86_64

注記: ハブクラスターとは異なるアーキテクチャーを持つマネージドクラスターをインストールする場合は、マルチアーキテクチャーの ClusterImageSet を作成する必要があります。詳細は、別のアーキテクチャーにクラスターをデプロイするためのリリースイメージの作成 を参照してください。

1.8.3.9.3.4. ClusterDeployment カスタムリソースを作成します。

ClusterDeployment カスタムリソース定義は、クラスターのライフサイクルを制御する API です。これは、クラスターリソースを定義する spec.ClusterInstallRef 設定で AgentClusterInstall カスタムリソースを参照します。

以下の例に基づいて ClusterDeployment カスタムリソースを作成して適用します。

apiVersion: hive.openshift.io/v1
kind: ClusterDeployment
metadata:
  name: single-node
  namespace: demo-worker4
spec:
  baseDomain: hive.example.com
  clusterInstallRef:
    group: extensions.hive.openshift.io
    kind: AgentClusterInstall
    name: test-agent-cluster-install 
1

    version: v1beta1
  clusterName: test-cluster
  controlPlaneConfig:
    servingCertificates: {}
  platform:
    agentBareMetal:
      agentSelector:
        matchLabels:
          location: internal
  pullSecretRef:
    name: <pull-secret> 
2
1
AgentClusterInstall リソースの名前を使用します。
2
Add the pull secret to the namespace でダウンロードしたプルシークレットを使用します。
1.8.3.9.3.5. AgentClusterInstall カスタムリソースを作成します。

AgentClusterInstall カスタムリソースでは、クラスターの要件の多くを指定できます。たとえば、クラスターネットワーク設定、プラットフォーム、コントロールプレーンの数、およびワーカーノードを指定できます。

次の例のようなカスタムリソースを作成して追加します。<4.x.0> は、使用している OpenShift Container Platform のバージョンに置き換えます。

apiVersion: extensions.hive.openshift.io/v1beta1
kind: AgentClusterInstall
metadata:
  name: test-agent-cluster-install
  namespace: demo-worker4
spec:
  platformType: BareMetal 
1

  clusterDeploymentRef:
    name: single-node 
2

  imageSetRef:
    name: openshift-v4.x.0 
3

  networking:
    clusterNetwork:
    - cidr: 10.128.0.0/14
      hostPrefix: 23
    machineNetwork:
    - cidr: 192.168.111.0/24
    serviceNetwork:
    - 172.30.0.0/16
  provisionRequirements:
    controlPlaneAgents: 1 
4

  sshPublicKey: | 
5

    ssh-rsa <public-key-1>
    ssh-rsa <public-key-2>
    ssh-rsa <public-key-3>
1
クラスターが作成される環境のプラットフォームタイプを指定します。可能な値は、BareMetalNoneVSphereNutanix、または External です。
2
ClusterDeployment リソースに使用したものと同じ名前を使用します。
3
Generate a ClusterImageSet で生成した ClusterImageSet を使用します。
4
使用できる値は 1 および 3 です。OpenShift Container Platform バージョン 4.18 以降を使用しており、platformType フィールドが BareMetal または None に設定されており、CPU アーキテクチャーが x86_64 である場合は、45 も使用できます。コントロールプレーンノードはワークロードを管理し、クラスターの状態を維持し、安定性を確保します。3 つ以上のノードを使用すると、フォールトトレランスと可用性が向上し、障害時のダウンタイムが短縮されます。
5
インストール後にホストにアクセスできるようにする 1 つまたは複数の SSH 公開鍵を指定できます。

platformType:External に設定する場合は、external spec を追加する必要があります。以下の例を参照してください。

apiVersion: extensions.hive.openshift.io/v1beta1
kind: AgentClusterInstall
metadata:
  name: test-agent-cluster-install
  namespace: demo-worker4
spec:
  platformType: External
  external:
    platformName: "myplatform" 
1

    cloudControllerManager: External 
2
1
プラットフォーム名を追加します。
2
このフィールドを空 ({}) に設定すると、インストール中に Cloud Controller Manager が無効になります。External に設定する場合は、Cloud Controller Manager を有効にするためにカスタムマニフェストを追加する必要があります。
1.8.3.9.3.6. オプション: NMStateConfig カスタムリソースを作成する

NMStateConfig カスタムリソースは、静的 IP アドレスなどのホストレベルのネットワーク設定がある場合にのみ必要です。NMStateConfig カスタムリソースを作成する場合は、InfraEnv カスタムリソースを作成する前にこの手順を完了する必要があります。InfraEnv カスタムリソースの spec.nmStateConfigLabelSelector の値は、NMStateConfig カスタムリソースを参照します。

次の例のような NMStateConfig カスタムリソースを作成して適用します。必要に応じて値を置き換えます。

apiVersion: agent-install.openshift.io/v1beta1
kind: NMStateConfig
metadata:
  name: <mynmstateconfig>
  namespace: <demo-worker4>
  labels:
    demo-nmstate-label: <value>
spec:
  config:
    interfaces:
      - name: eth0
        type: ethernet
        state: up
        mac-address: 02:00:00:80:12:14
        ipv4:
          enabled: true
          address:
            - ip: 192.168.111.30
              prefix-length: 24
          dhcp: false
      - name: eth1
        type: ethernet
        state: up
        mac-address: 02:00:00:80:12:15
        ipv4:
          enabled: true
          address:
            - ip: 192.168.140.30
              prefix-length: 24
          dhcp: false
    dns-resolver:
      config:
        server:
          - 192.168.126.1
    routes:
      config:
        - destination: 0.0.0.0/0
          next-hop-address: 192.168.111.1
          next-hop-interface: eth1
          table-id: 254
        - destination: 0.0.0.0/0
          next-hop-address: 192.168.140.1
          next-hop-interface: eth1
          table-id: 254
  interfaces:
    - name: "eth0"
      macAddress: "02:00:00:80:12:14"
    - name: "eth1"
      macAddress: "02:00:00:80:12:15"

重要:

  • InfraEnv カスタムリソースの spec.nmStateConfigLabelSelector.matchLabels フィールドに、demo-nmstate-label のラベル名と値を含める必要があります。
  • DHCP または静的ネットワークプロトコルを使用する場合は、MAC アドレスを追加する必要があります。

spec.config フィールドに追加できる NMState の追加の例は、OpenShift Container Platform Assisted Installer ドキュメントの 追加の NMState 設定例 を参照してください。

1.8.3.9.3.7. InfraEnv カスタムリソースを作成します。

InfraEnv カスタムリソースは、検出 ISO を作成する設定を提供します。このカスタムリソース内で、プロキシー設定、Ignition オーバーライドの値を特定し、NMState ラベルを指定します。このカスタムリソースの spec.nmStateConfigLabelSelector の値は、NMStateConfig カスタムリソースを参照します。

注: オプションの NMStateConfig カスタムリソースを含める場合は、InfraEnv カスタムリソースでそちらを参照する必要があります。NMStateConfig カスタムリソースを作成する前に InfraEnv カスタムリソースを作成した場合は、InfraEnv カスタムリソースを編集して NMStateConfig カスタムリソースを参照し、参照の追加後に ISO をダウンロードします。

以下のカスタムリソースを作成して適用します。

apiVersion: agent-install.openshift.io/v1beta1
kind: InfraEnv
metadata:
  name: myinfraenv
  namespace: demo-worker4
spec:
  clusterRef:
    name: single-node  
1

    namespace: demo-worker4 
2

  pullSecretRef:
    name: pull-secret
  sshAuthorizedKey: <your_public_key_here>
  nmStateConfigLabelSelector:
    matchLabels:
      demo-nmstate-label: value
  proxy:
    httpProxy: http://USERNAME:PASSWORD@proxy.example.com:PORT
    httpsProxy: https://USERNAME:PASSWORD@proxy.example.com:PORT
    noProxy: .example.com,172.22.0.0/24,10.10.0.0/24
1
Create the ClusterDeploymentclusterDeployment リソース名を置き換えます。
2
ClusterDeployment の作成clusterDeployment リソース namespace を置き換えます。
Expand
表1.8 InfraEnv のフィールドの表

フィールド

任意または必須

説明

sshAuthorizedKey

任意

SSH 公開鍵を指定できます。指定すると、検出 ISO イメージからホストを起動するときにホストにアクセスできるようになります。

nmStateConfigLabelSelector

任意

ホストの静的 IP、ブリッジ、ボンディングなどの高度なネットワーク設定を統合します。ホストネットワーク設定は、選択したラベルを持つ 1 つ以上の NMStateConfig リソースで指定されます。nmStateConfigLabelSelector プロパティーは、選択したラベルと一致する Kubernetes ラベルセレクターです。このラベルセレクターに一致するすべての NMStateConfig ラベルのネットワーク設定は、Discovery Image に含まれています。起動時に、各ホストは各設定をそのネットワークインターフェイスと比較し、適切な設定を適用します。

proxy

任意

proxy セクションでは、検出中にホストに必要なプロキシー設定を指定できます。

注記: IPv6 を使用してプロビジョニングする場合、noProxy 設定で CIDR アドレスブロックを定義することはできません。各アドレスを個別に定義する必要があります。

1.8.3.9.3.8. 検出イメージからホストを起動します。

残りの手順では、前の手順で取得した検出 ISO イメージからホストを起動する方法を説明します。

  1. 次のコマンドを実行して、namespace から検出イメージをダウンロードします。

    curl --insecure -o image.iso $(kubectl -n sample-namespace get infraenvs.agent-install.openshift.io myinfraenv -o=jsonpath="{.status.isoDownloadURL}")
  2. 検出イメージを仮想メディア、USB ドライブ、または別の保管場所に移動し、ダウンロードしたディスカバリーイメージからホストを起動します。
  3. Agent リソースは自動的に作成されます。これはクラスターに登録されており、検出イメージから起動したホストを表します。次のコマンドを実行して、Agent のカスタムリソースを承認し、インストールを開始します。

    oc -n sample-namespace patch agents.agent-install.openshift.io 07e80ea9-200c-4f82-aff4-4932acb773d4 -p '{"spec":{"approved":true}}' --type merge

    エージェント名と UUID は、実際の値に置き換えます。

    前のコマンドの出力に、APPROVED パラメーターの値が true であるターゲットクラスターのエントリーが含まれている場合、承認されたことを確認できます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る