4.9. マニフェストとパッチの追加


Assisted Installer Web コンソールで、カスタムマニフェストと、システムマニフェストのパッチをアップロードできます。これらのファイルを置き換えたり削除したりすることもできます。

Assisted Installer API を使用してカスタムマニフェストを追加および変更する方法は、API を使用したカスタムマニフェストの追加 を参照してください。

4.9.1. カスタムマニフェストとマニフェストパッチの準備

このセクションでは、カスタムマニフェストとシステムマニフェストパッチの概要、フォーマットに関する考慮事項、ファイルのアップロードに必要な命名規則などを説明します。

アップロードするファイルがシステム要件に準拠したものになるように、次のガイドラインに従ってください。

4.9.1.1. カスタムマニフェスト

カスタムマニフェストは、Assisted Installer のユーザーインターフェイスで現在サポートされていない高度な設定が含まれる JSON または YAML ファイルです。カスタムマニフェストを作成することも、サードパーティーが提供するマニフェストを使用することもできます。

カスタムマニフェストは、ファイルシステムから openshift フォルダーまたは manifests フォルダーにアップロードできます。許可されるカスタムマニフェストファイルの数は無制限です。

一度にアップロードできるファイルは 1 つだけです。ただし、アップロードされた各ファイルには複数のカスタムマニフェストを含めることができます。マルチドキュメントの YAML マニフェストのアップロードは、YAML ファイルを個別に追加するよりも高速です。

単一のカスタムマニフェストを含むファイルの場合は、使用可能なファイル拡張は、.yaml.yml、または .json などです。複数のカスタムマニフェストを含むファイルの場合、使用可能なファイルタイプは、.yaml または .yml などです。

単一のカスタムマニフェストの例

apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
  labels:
    machineconfiguration.openshift.io/role: master
  name: 99-openshift-machineconfig-master-kargs
spec:
  kernelArguments:
    - loglevel=7
Copy to Clipboard Toggle word wrap

複数のカスタムマニフェストの例

apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
  labels:
    machineconfiguration.openshift.io/role: master
  name: 99-openshift-machineconfig-master-kargs
spec:
  kernelArguments:
    - loglevel=7
---
apiVersion: machineconfiguration.openshift.io/v2
kind: MachineConfig
metadata:
  labels:
    machineconfiguration.openshift.io/role: worker
  name: 98-openshift-machineconfig-worker-kargs
spec:
  kernelArguments:
    - loglevel=5
Copy to Clipboard Toggle word wrap

注記

OpenShift Container Platform を Oracle Cloud Infrastructure (OCI) 外部プラットフォームにインストールする場合は、Oracle が提供するカスタムマニフェストを追加する必要があります。vSphere や Nutanix などの追加の外部パートナー統合の場合、この手順はオプションです。

4.9.1.2. システムマニフェストのパッチ

マニフェストパッチファイルは、YAML パッチの構文に準拠します。このファイルの目的は、インストールの準備中に Assisted Installer によって自動的に作成されるシステムマニフェストを変更することです。マニフェストパッチは、設定を調整したり、更新を管理したり、構造化された自動的な方法で変更を適用したりするために使用されます。このアプローチにより一貫性が確保され、複雑な YAML ドキュメントを変更する際のエラーを回避できます。

4.9.1.2.1. システムマニフェストパッチの一般的な YAML 構文

yaml-patch パッケージは、YAML に直接置き換えられた JavaScript Object Notation (JSON) Patch の実装です。システムマニフェスト YAML パッチの一般的な構文は次のとおりです。

- op: <add | remove | replace | move | copy | test> 
1

  from: <source-path> 
2

  path: <target-path> 
3

  value: <any-yaml-structure> 
4
Copy to Clipboard Toggle word wrap
1
各操作の説明は、JavaScript Object Notation (JSON) Patch を参照してください。
2
move および copy 操作にのみ有効です。
3
常に必須です。
4
addreplace、および test 操作にのみ有効です。
4.9.1.2.2. システムマニフェストパッチの命名規則

システムマニフェストの新しいパッチを作成するときは、<file to be patched>.patch_<suffix> という命名規則を使用します。正しいマニフェストが確実に上書きされるように、ファイル名そのものを指定します。また、同じマニフェストに複数のパッチを適用できるように、接尾辞を指定します。

たとえば、元のファイルの名前が 50-masters-chrony-configuration.yaml の場合、新しいパッチの名前は 50-masters-chrony-configuration.yaml.patch_1_apply-chrony-dhcp などになります。

次の例で、システムマニフェストにパッチを適用する手順の概要と、命名規則の適用方法を示します。

  1. Assisted Installer によって、インストールの開始時に、次の YAML ファイルがクラスターのマニフェストに自動的に追加されます。

    ディレクトリー: OpenShift
    ファイル名: 50-masters-chrony-configuration.yaml

    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
      labels:
        machineconfiguration.openshift.io/role: worker
      name: 50-masters-chrony-configuration
    spec:
      config:
        ignition:
          version: 3.1.0
        storage:
          files:
          - contents:
              source: data:text/plain;charset=utf-8;base64,CnBvb2wgMC5yaGVsLnBvb2wubnRwLm9yZyBpYnVyc3QKZHJpZnRmaWxlIC92YXIvbGliL2Nocm9ueS9kcmlmdAptYWtlc3RlcCAxLjAgMwpydGNzeW5jCmxvZ2RpciAvdmFyL2xvZy9jaHJvbnkKc2VydmVyIHN0YXRpYy4xOTAuMTExLjE2MS41LmNsaWVudHMueW91ci1zZXJ2ZXIuZGUgaWJ1cnN0CnNlcnZlciAyMDguNjcuNzIuNDMgaWJ1cnN0CnNlcnZlciBoMTM1LTEzNC0xMTEtMTIyLm1kc253aS5icm9hZGJhbmQuZHluYW1pYy50ZHMubmV0IGlidXJzdApzZXJ2ZXIgdGltZS5yaWNoaWVtY2ludG9zaC5jb20gaWJ1cnN0CnNlcnZlciBhcm0xLm1heGhvc3QuaW8gaWJ1cnN0CnNlcnZlciBzcGlkZXkucmVsbGltLmNvbSBpYnVyc3QKc2VydmVyIHVzLWVhc3QtMi5jbGVhcm5ldC5wdyBpYnVyc3QKc2VydmVyIDEwOC42MS43My4yNDMgaWJ1cnN0CnNlcnZlciBudHAxLm50cC0wMDEucHJvZC5pYWQyLmRjLnJlZGhhdC5jb20gaWJ1cnN0CnNlcnZlciBjbG9jay5yZWRoYXQuY29tIGlidXJzdApzZXJ2ZXIgaXAyMjkuaXAtNTEtODEtMjI2LnVzIGlidXJzdApzZXJ2ZXIgNjYuMjA1LjI0OS4yOCBpYnVyc3QKc2VydmVyIDEwLjExLjE2MC4yMzggaWJ1cnN0CnNlcnZlciBjLTczLTE5My02Mi01NC5oc2QxLndhLmNvbWNhc3QubmV0IGlidXJzdApzZXJ2ZXIgbnRwMi53aWt0ZWwuY29tIGlidXJzdA==
            mode: 420
            path: /etc/chrony.conf
            overwrite: true
    Copy to Clipboard Toggle word wrap
  2. この YAML ファイルに異なるコンテンツを適用するには、コンテンツの新しい base64 表現を生成し、パッチファイルを作成する必要があります。

    1. /etc/chrony.confbase64 ファイルコンテンツを生成します。

      $ cat << EOF | base64 --wrap 0of
      driftfile /var/lib/chrony/drift
      makestep 1.0 3
      rtcsync
      logdir /var/log/chrony
      sourcedir /run/chrony-dhcp
      EOF
      echo
      ZHJpZnRmaWxlIC92YXIvbGliL2Nocm9ueS9kcmlmdAptYWtlc3RlcCAxLjAgMwpydGNzeW5jCmxvZ2RpciAvdmFyL2xvZy9jaHJvbnkKc291cmNlZGlyIC9ydW4vY2hyb255LWRoY3AK
      Copy to Clipboard Toggle word wrap
    2. 次の base64 文字列を使用してパッチファイルを作成します。

      ディレクトリー: OpenShift
      ファイル名: 50-masters-chrony-configuration.yaml.patch_1_apply-chrony-dhcp

       ---
      - op: replace
        path: /spec/config/storage/files/0/contents
        value: data:text/plain;charset=utf-8;base64,ZHJpZnRmaWxlIC92YXIvbGliL2Nocm9ueS9kcmlmdAptYWtlc3RlcCAxLjAgMwpydGNzeW5jCmxvZ2RpciAvdmFyL2xvZy9jaHJvbnkKc291cmNlZGlyIC9ydW4vY2hyb255LWRoY3AK
      Copy to Clipboard Toggle word wrap
  3. 次に、Assisted Installer Web コンソールでパッチファイルをアップロードします。詳細は、次のセクションを参照してください。

4.9.2. カスタムマニフェストとマニフェストパッチのアップロード

カスタムマニフェストまたはパッチをアップロードするときは、ファイル名を入力し、保存先フォルダーを選択します。ファイル名は両方のフォルダーで一意である必要があります。両方のフォルダーで同じファイル名を使用することはできません。

前提条件

  • 適切なファイル名と拡張子を使用して、カスタムマニフェストファイルをローカルディレクトリーに保存した。

手順

  1. ウィザードの Cluster details ページで、Include custom manifests チェックボックスを選択します。
  2. Custom manifest ページの folder フィールドで、マニフェストまたはパッチを保存する Assisted Installer フォルダーを選択します。

    注記

    ファイルは openShift フォルダーまたは manifest フォルダーにアップロードできます。マニフェストパッチの場合、両方のフォルダーで、パッチを適用する必要があるターゲットファイルが検索されます。

  3. Filename フィールドに、拡張子を含むマニフェストファイルの名前を入力します。

    • カスタムマニフェストの例は、manifest1.jsonmultiple1.yaml などです。
    • マニフェストパッチの例は、50-masters-chrony-configuration.yaml.patch_1_apply-chrony-dhcp です。
  4. ContentUpload アイコンまたは Browse ボタンをクリックしてファイルをアップロードします。または、ファイルをファイルシステムから Content フィールドにドラッグします。
  5. 別のファイルをアップロードするには、Add another manifest をクリックして、プロセスを繰り返します。クリックすると、以前にアップロードされたファイルがすべて保存されます。
  6. Next をクリックしてすべてのファイルを保存し、Review and create ページに進みます。Custom manifests に、アップロードしたカスタムマニフェストとパッチのリストが表示されます。

4.9.3. カスタムマニフェストとマニフェストパッチの変更

アップロードしたカスタムマニフェストファイルまたはパッチファイルの名前を変更したり、カスタムマニフェストファイルを別のフォルダーに保存したりできます。さらに、既存のファイルの内容をコピーしたり、Chrome のダウンロード設定で指定されたフォルダーにダウンロードしたりすることもできます。

アップロードされたマニフェストまたはパッチファイルの内容を編集することはできません。代わりに、既存のファイルを上書きすることができます。

前提条件

  • 少なくとも 1 つのカスタムマニフェストまたはパッチファイルをアップロードした。

手順

  1. カスタムマニフェストファイルの場所を変更するには、Folder リストから別のフォルダーを選択します。
  2. ファイル名を変更するには、File name フィールドにマニフェストまたはパッチの新しい名前を入力します。パッチファイルは、このセクションで前述したパッチ命名規則に準拠する必要があります。
  3. マニフェストファイルまたはパッチファイルを上書きするには、openshift フォルダーまたは manifest フォルダーのいずれかに同じファイル名で新しいファイルを保存します。

    注記

    ファイルがどちらのフォルダーにあるかに関係なく、元のファイルが自動的に検出されて置き換えられます。

  4. マニフェストまたはパッチをファイルシステムにダウンロードするには、Download アイコンをクリックします。
  5. マニフェストまたはパッチをコピーするには、Copy to clipboard アイコンをクリックします。
  6. 変更を適用するには、Add another manifest または Next をクリックします。

4.9.4. カスタムマニフェストとマニフェストパッチの削除

インストール前に、アップロードしたカスタムマニフェストまたはパッチを次のどちらかの方法で削除できます。

  • 1 つのカスタムマニフェストまたはパッチを削除する。
  • すべてのマニフェストとパッチを同時に削除する。
警告

マニフェストまたはパッチファイルを削除すると、その操作を元に戻すことはできません。回避策は、ファイルを再度アップロードすることです。

4.9.4.1. すべてのカスタムマニフェストとパッチの削除

すべてのカスタムマニフェストとパッチを同時に削除できます。これにより、Custom manifest ページも非表示になります。

前提条件

  • 少なくとも 1 つのカスタムマニフェストまたはパッチファイルをアップロードした。

手順

  1. ウィザードの Cluster details ページを参照します。
  2. Include custom manifests チェックボックスをオフにします。
  3. Remove custom manifests ダイアログボックスで、Remove をクリックします。

4.9.4.2. 1 つのカスタムマニフェストまたはパッチの削除

ファイルを 1 つずつ削除できます。この方法では、最後に残ったマニフェストまたはパッチを削除できません。

前提条件

  • 少なくとも 2 つのカスタムマニフェストファイルまたはパッチファイルをアップロードした。

手順

  1. Custom manifests ページを参照します。
  2. マニフェスト名の上にマウスを置くと、Delete (マイナス) アイコンが表示されます。
  3. アイコンをクリックし、ダイアログボックスの Delete をクリックします。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat