2.5. SiteConfig Operator を使用してシングルノード OpenShift クラスターをインストールする


デフォルトのインストールテンプレートを使用して、SiteConfig Operator でクラスターをインストールします。手順を完了するには、Image-Based Install Operator のインストールテンプレートを使用します。

必要なアクセス権: クラスター管理者

2.5.1. 前提条件

SiteConfig Operator を使用してクラスターをインストールするには、次の手順を実行します。

2.5.2. ターゲット namespace を作成する

プルシークレット、BMC シークレット、追加のマニフェスト ConfigMap オブジェクト、および ClusterInstance カスタムリソースを作成する場合は、ターゲット namespace が必要です。

ターゲット namespace を作成するには、次の手順を実行します。

  1. ターゲット namespace の YAML ファイルを作成します。clusterinstance-namespace.yaml という名前の次のサンプルファイルを参照してください。

    Copy to Clipboard Toggle word wrap
    apiVersion: v1
    kind: Namespace
    metadata:
      name: example-sno
  2. ファイルを適用してリソースを作成します。ハブクラスターで以下のコマンドを実行してください。

    Copy to Clipboard Toggle word wrap
    oc apply -f clusterinstance-namespace.yaml

2.5.3. プルシークレットを作成する

クラスターがコンテナーレジストリーからイメージをプルできるようにするには、プルシークレットが必要です。プルシークレットを作成するには、次の手順を実行します。

  1. イメージをプルするための YAML ファイルを作成します。pull-secret.yaml という名前のファイルの次の例を参照してください。

    Copy to Clipboard Toggle word wrap
    apiVersion: v1
    kind: Secret
    metadata:
      name: pull-secret
      namespace: example-sno 
    1
    
    data:
      .dockerconfigjson: <encoded_docker_configuration> 
    2
    
    type: kubernetes.io/dockerconfigjson
    1
    namespace 値がターゲット namespace と一致していることを確認します。
    2
    値として base64 でエンコードされた設定ファイルを指定します。
  2. ファイルを適用してリソースを作成します。ハブクラスターで以下のコマンドを実行してください。

    Copy to Clipboard Toggle word wrap
    oc apply -f pull-secret.yaml

2.5.4. BMC シークレットを作成する

ベースボード管理コントローラー (BMC) に接続するにはシークレットが必要です。シークレットを作成するには、次の手順を実行します。

  1. BMC シークレットの YAML ファイルを作成します。example-bmc-secret.yaml という名前の次のサンプルファイルを参照してください。

    Copy to Clipboard Toggle word wrap
    apiVersion: v1
    data:
      password: <password>
      username: <username>
    kind: Secret
    metadata:
      name: example-bmh-secret
      namespace: "example-sno" 
    1
    
    type: Opaque
    1
    namespace 値がターゲット namespace と一致していることを確認します。
  2. ファイルを適用してリソースを作成します。ハブクラスターで以下のコマンドを実行してください。

    Copy to Clipboard Toggle word wrap
    oc apply -f example-bmc-secret.yaml

2.5.5. オプション: 追加のマニフェストを作成する

ClusterInstance カスタムリソースで参照する必要がある追加のマニフェストを作成できます。追加のマニフェストを作成するには、次の手順を実行します。

  1. 追加のマニフェスト ConfigMap オブジェクトの YAML ファイル (例: enable-crun.yaml) を作成します。

    Copy to Clipboard Toggle word wrap
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: enable-crun
      namespace: example-sno 
    1
    
    data:
      enable-crun-master.yaml: |
        apiVersion: machineconfiguration.openshift.io/v1
        kind: ContainerRuntimeConfig
        metadata:
          name: enable-crun-master
        spec:
          machineConfigPoolSelector:
            matchLabels:
              pools.operator.machineconfiguration.openshift.io/master: ""
          containerRuntimeConfig:
            defaultRuntime: crun
      enable-crun-worker.yaml: |
        apiVersion: machineconfiguration.openshift.io/v1
        kind: ContainerRuntimeConfig
        metadata:
          name: enable-crun-worker
        spec:
          machineConfigPoolSelector:
            matchLabels:
              pools.operator.machineconfiguration.openshift.io/worker: ""
          containerRuntimeConfig:
            defaultRuntime: crun
    1
    namespace 値がターゲット namespace と一致していることを確認します。
  2. ハブクラスターで次のコマンドを実行してリソースを作成します。

    Copy to Clipboard Toggle word wrap
    oc apply -f enable-crun.yaml

2.5.6. インストールマニフェストをレンダリングする

ClusterInstance カスタムリソース内のテンプレートとサポートマニフェストを参照します。デフォルトクラスターおよびノードテンプレートを使用してインストールマニフェストをレンダリングするには、次の手順を実行します。

  1. 次の例のように、example-sno namespace で clusterinstance-ibi.yaml という名前の ClusterInstance カスタムリソースを作成します。

    Copy to Clipboard Toggle word wrap
    apiVersion: siteconfig.open-cluster-management.io/v1alpha1
    kind: ClusterInstance
    metadata:
      name: "example-clusterinstance"
      namespace: "example-sno" 
    1
    
    spec:
      holdInstallation: false
      extraManifestsRefs: 
    2
    
        - name: extra-machine-configs
        - name: enable-crun
      pullSecretRef:
        name: "pull-secret" 
    3
    
      [...]
      clusterName: "example-sno" 
    4
    
      [...]
      clusterImageSetNameRef: "img4.17-x86-64"
      [...]
      templateRefs: 
    5
    
        - name: ibi-cluster-templates-v1
          namespace: rhacm
      [...]
      nodes:
          [...]
          bmcCredentialsName: 
    6
    
            name: "example-bmh-secret"
          [...]
          templateRefs: 
    7
    
            - name: ibi-node-templates-v1
              namespace: rhacm
          [...]
    1
    ClusterInstance カスタムリソース内の namespace が、定義したターゲットの namespace と一致していることを確認します。
    2
    1 つ以上の追加マニフェスト ConfigMap オブジェクトの name を参照します。
    3
    プルシークレットの name を参照します。
    4
    ClusterInstance カスタムリソースの clusterName フィールドの値が namespace フィールドの値と一致していることを確認します。
    5
    spec.templateRefs フィールドでクラスターレベルのテンプレートの name を参照してください。デフォルトのインストールテンプレートを使用している場合は、namespace を Operator がインストールされている namespace と一致させる必要があります。
    6
    BMC シークレットの name を参照します。
    7
    spec.nodes.templateRefs フィールドでノードレベルのテンプレートの name を参照してください。デフォルトのインストールテンプレートを使用している場合は、namespace を Operator がインストールされている namespace と一致させる必要があります。
  2. 次のコマンドを実行してファイルを適用し、リソースを作成します。

    Copy to Clipboard Toggle word wrap
    oc apply -f clusterinstance-ibi.yaml

    カスタムリソースを作成すると、SiteConfig Operator は ClusterInstance カスタムリソースの調整を開始してからインストールマニフェストを検証してレンダリングします。

    SiteConfig Operator は、ClusterDeployment カスタムリソースの変更を継続的に監視し、対応する ClusterInstance カスタムリソースのクラスターインストールの進捗を更新します。

  3. 次のコマンドを実行してプロセスを監視します。

    Copy to Clipboard Toggle word wrap
    oc get clusterinstance <cluster_name> -n <target_namespace> -o yaml

    マニフェストの生成が成功すると、status.conditions セクションの出力が次の例のようになります。

    Copy to Clipboard Toggle word wrap
    message: Applied site config manifests
    reason: Completed
    status: "True"
    type: RenderedTemplatesApplied
  4. 次のコマンドを実行して、SiteConfig Operator がレンダリングしたマニフェストを確認します。

    Copy to Clipboard Toggle word wrap
    oc get clusterinstance <cluster_name> -n <target_namespace> -o jsonpath='{.status.manifestsRendered}'

ステータス条件の詳細は、ClusterInstance API を参照してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.