1.4.10.2. サブスクリプションの YAML 表
フィールド | 説明 |
---|---|
apiVersion |
必須。この値は |
kind |
必須。この値は |
metadata.name | 必須。サブスクリプションを識別する名前。 |
metadata.namespace | 必須。サブスクリプションに使用する namespace リソース。 |
metadata.labels | 任意。サブスクリプションのラベル。 |
spec.channel |
任意。サブスクリプションのチャネルを定義する namespace 名 ("Namespace/Name")。 |
spec.sourceNamespace |
任意。Deployable を保存するハブクラスター上のソース namespace。このフィールドは namespace チャネルにのみ使用してください。 |
spec.source |
任意。deployable の保存先である Helm リポジトリーのパス名 ("URL")。このフィールドは、Helm リポジトリーチャネルにだけ使用します。 |
spec.name |
|
spec.packageFilter | 任意。ターゲットの deployable または deployable のサブセットを検索するのに使用するパラメーターを定義します。複数のフィルター条件が定義されている場合には、deployable はすべてのフィルター条件を満たす必要があります。 |
spec.packageFilter.version |
任意。deployable のバージョン。バージョンの範囲には |
spec.packageFilter.annotations | 任意。deployable のアノテーション。 |
spec.packageOverrides | 任意。チャネル内の Helm チャート、deployable、他の Kubernetes リソースなど、サブスクリプションで取得する Kubernetes リソースの上書きを定義するセクションです。 |
spec.packageOverrides.packageName | 任意。ただし、上書きの設定には必須です。上書きされる Kubernetes リソースを特定します。 |
spec.packageOverrides.packageAlias | 任意。上書きされる Kubernetes リソースにエイリアスを指定します。 |
spec.packageOverrides.packageOverrides | 任意。Kubernetes リソースの上書きに使用するパラメーターおよび代替値の設定。 |
spec.placement | 必須。deployable を配置する必要のあるサブスクライブクラスターまたは、クラスターを定義する配置ルールを特定します。配置設定を使用して、マルチクラスターデプロイメントの値を定義します。 |
spec.placement.local |
任意。ただし、スタンドアロンクラスターまたは直接管理するクラスターには必須です。サブスクリプションをローカルにデプロイする必要があるかどうかを定義します。サブスクリプションと、指定のチャネルを同期させるには、値を |
spec.placement.clusters |
任意。サブスクリプションを配置するクラスターを定義します。 |
spec.placement.clusters.name | 任意ですが、サブスクライブするクラスターを定義するには必須です。サブスクライブするクラスターの名前。 |
spec.placement.clusterSelector |
任意。サブスクリプションを配置するクラスターを識別するために使用するラベルセレクターを定義します。 |
spec.placement.placementRef |
任意。サブスクリプションに使用する配置ルールを定義します。 |
spec.placement.placementRef.name | 任意ですが、配置ルールを使用するには必須です。サブスクリプションの配置ルールの名前。 |
spec.placement.placementRef.kind |
任意ですが、配置ルールを使用するには必須です。この値を |
spec.overrides | 任意。クラスター固有の設定など、上書きする必要のあるパラメーターおよび値。 |
spec.overrides.clusterName | 任意。パラメーターおよび値を上書するクラスターの名前。 |
spec.overrides.clusterOverrides | 任意。上書きするパラメーターおよび値の設定。 |
spec.timeWindow | 任意。サブスクリプションがアクティブな期間、またはブロックされる期間の設定を定義します。 |
spec.timeWindow.type | 任意。ただし、期間の設定には必須です。設定した期間中に、サブスクリプションがアクティブであるか、ブロックされるかを指定します。サブスクリプションのデプロイメントは、サブスクリプションがアクティブな場合にのみ行われます。 |
spec.timeWindow.location | 任意。ただし、期間の設定には必須です。設定した期間のタイムゾーン。タイムゾーンはすべて Time Zone (tz) データベース名の形式を使用する必要があります。詳細は、「Time Zone Database」を参照します。 |
spec.timeWindow.daysofweek |
任意。ただし、期間の設定には必須です。期間の作成時に時間の範囲を適用する場合には、曜日を指定します。 |
spec.timeWindow.hours | 任意。ただし、期間の設定には必須です。期間の範囲を定義します。期間ごとに、開始時間と終了時間 (時間単位) を定義する必要があります。サブスクリプションには複数の期間を定義する必要があります。 |
spec.timeWindow.hours.start |
任意。ただし、期間の設定には必須です。期間の開始を定義するタイムスタンプ。タイムスタンプには、Go プログラミング言語の Kitchen 形式「 |
spec.timeWindow.hours.end |
任意。ただし、期間の設定には必須です。期間の終了を定義するタイムスタンプ。タイムスタンプには、Go プログラミング言語の Kitchen 形式「 |
注記:
-
YAML の定義時には、サブスクリプションは
packageFilters
を使用して複数の Helm ダート、deployable または他の Kubernetes リソースを参照できます。ただし、サブスクリプションは、チャート、deployable、他のリソースの最新バージョンのみをデプロイします。 -
期間の範囲を定義する場合には、開始時間は、終了時間より前に設定する必要があります。サブスクリプションに複数の期間を定義する場合は、期間の範囲を重複させることはできません。実際の時間の範囲は、
subscription-controller
のコンテナーの時間をもとにしていますが、作業環境とは異なる時間および場所を設定することができます。 - サブスクリプション仕様では、サブスクリプションの定義の一部として Helm リリースの配置を定義することもできます。サブスクリプションごとに、既存の配置ルールを参照するか、サブスクリプション定義内に直接配置ルールを定義できます。
-
spec.placement
セクションに、サブスクリプションの配置先を定義する時には、マルチクラスター環境のclusters
、clusterSelector
またはplacementRef
の 1 つだけを使用します。 複数の配置設定を追加した場合には、1 つの設定が使用され、他の設定は無視されます。サブスクリプション Operator が使用する設定を決定するために、以下の優先順位で使用されます。
-
placementRef
-
clusters
-
clusterSelector
-
サブスクリプションは、以下の YAML コンテンツのようになります。
apiVersion: apps.open-cluster-management.io/v1 kind: Subscription metadata: name: nginx namespace: ns-sub-1 labels: app: nginx-app-details spec: channel: ns-ch/predev-ch name: nginx-ingress packageFilter: version: "1.36.x" placement: placementRef: kind: PlacementRule name: towhichcluster overrides: - clusterName: "/" clusterOverrides: - path: "metadata.namespace" value: default