第8章 SiteConfig リソースを使用した高度なマネージドクラスター設定
SiteConfig
カスタムリソース (CR) を使用して、インストール時にマネージドクラスターにカスタム機能と設定をデプロイできます。
8.1. GitOps ZTP パイプラインでの追加インストールマニフェストのカスタマイズ
GitOps Zero Touch Provisioning (ZTP) パイプラインのインストールフェーズに追加するマニフェストセットを定義できます。これらのマニフェストは SiteConfig
カスタムリソース (CR) にリンクされ、インストール時にクラスターに適用されます。インストール時に MachineConfig
CR を含めると、インストール作業が効率的になります。
前提条件
- カスタムサイトの設定データを管理する Git リポジトリーを作成している。リポジトリーはハブクラスターからアクセス可能で、Argo CD アプリケーションのソースリポジトリーとして定義されている必要があります。
手順
- GitOps ZTP パイプラインがクラスターインストールのカスタマイズ使用する、追加のマニフェスト CR のセットを作成します。
カスタム
/siteconfig
ディレクトリーに、追加のマニフェスト用のサブディレクトリー/custom-manifest
を作成します。以下の例は、/custom-manifest
フォルダーを持つ/siteconfig
のサンプルを示しています。siteconfig ├── site1-sno-du.yaml ├── site2-standard-du.yaml ├── extra-manifest/ └── custom-manifest └── 01-example-machine-config.yaml
注記全体で使用されているサブディレクトリー名
/custom-manifest
および/extra-manifest
は、名前の例にすぎません。これらの名前を使用する必要はなく、これらのサブディレクトリーに名前を付ける方法に制限はありません。この例では、/extra-manifest
は、ztp-site-generate
コンテナーの/extra-manifest
の内容を保存する Git サブディレクトリーを指します。-
カスタムの追加マニフェスト CR を
siteconfig/custom-manifest
ディレクトリーに追加します。 SiteConfig
CR で、extraManifests.searchPaths
フィールドにディレクトリー名を入力します。例:clusters: - clusterName: "example-sno" networkType: "OVNKubernetes" extraManifests: searchPaths: - extra-manifest/ 1 - custom-manifest/ 2
-
SiteConfig
、/extra-manifest
、および/custom-manifest
CR を保存し、サイト設定リポジトリーにプッシュします。
クラスターのプロビジョニング中に、GitOps ZTP パイプラインは、/custom-manifest
ディレクトリー内の CR を、extra-manifest/
に保存されている追加マニフェストのデフォルトのセットに追加します。
バージョン 4.14 以降、extraManifestPath
には非推奨の警告が表示されます。
extraManifestPath
は引き続きサポートされていますが、extraManifests.searchPaths
を使用することを推奨します。SiteConfig
ファイルで extraManifests.searchPaths
を定義すると、GitOps ZTP パイプラインはサイトのインストール中に ztp-site-generate
コンテナーからマニフェストを取得しません。
Siteconfig
CR で extraManifestPath
と extraManifests.searchPaths
の両方を定義した場合は、extraManifests.searchPaths
に定義された設定が優先されます。
/extra-manifest
の内容を ztp-site-generate
コンテナーから抽出し、GIT リポジトリーにプッシュすることを強く推奨します。