1.4.2. 調整オプションの追加
個々のリソースで apps.open-cluster-management.io/reconcile-option
アノテーションを使用して、サブスクリプションレベルの調整オプションを上書きできます。
たとえば、apps.open-cluster-management.io/reconcile-option: replace
アノテーションをサブスクリプションに追加し、サブスクライブされた Git リポジトリーのリソース YAML に apps.open-cluster-management.io/reconcile-option: merge
アノテーションを追加すると、そのリソースはターゲットクラスターにマージされます。その他のリソースは置き換えられます。
1.4.2.1. 調整頻度の Git チャネル
チャネル設定で、不要なリソースの調整を回避するために調整頻度オプション (high
、medium
、low
、および off
) を選択できるようになりました。これにより、サブスクリプション Operator のオーバーロードを防ぐことができます。
必要なアクセス: 管理者およびクラスター管理者である必要があります。
settings:attribute:<value>
に関する以下の定義を参照してください。
-
Off
: デプロイされたリソースは自動的に調整されません。サブスクリプション
カスタムリソースを変更すると、調整がトリガーされます。ラベルまたはアノテーションを追加または更新できます。 -
Low
: ソースの Git リポジトリーに変更がない場合でも、デプロイされたリソースは 1 時間ごとに自動調整されます。 -
Medium
: これはデフォルトの設定です。サブスクリプション Operator は、3 分ごとに現在デプロイされているコミット ID をソースリポジトリーの最新コミット ID と比較し、ターゲットクラスターに変更を適用します。リポジトリーに変更がない場合でも、すべてのリソースは 15 分ごとにソース Git リポジトリーからターゲットクラスターに再適用されます。 -
High
: ソースの Git リポジトリーに変更がない場合でも、デプロイされたリソースは 2 分ごとに自動調整されます。
これは、サブスクリプションによって参照されるチャネルカスタムリソースの apps.open-cluster-management.io/reconcile-rate
アノテーションを使用して設定できます。
name: git-channel
の例を参照してください。
apiVersion: apps.open-cluster-management.io/v1 kind: Channel metadata: name: git-channel namespace: sample annotations: apps.open-cluster-management.io/reconcile-rate: <value from the list> spec: type: GitHub pathname: <Git URL> --- apiVersion: apps.open-cluster-management.io/v1 kind: Subscription metadata: name: git-subscription annotations: apps.open-cluster-management.io/git-path: <application1> apps.open-cluster-management.io/git-branch: <branch1> spec: channel: sample/git-channel placement: local: true
上記の例では、sample/git-channel
を使用するすべてのサブスクリプションの調整頻度は low
に割り当てられます。
-
サブスクリプションの調整速度を
low
に設定すると、サブスクライブしているアプリケーションリソースの調整に最大 1 時間かかる場合があります。単一アプリケーションビューのカードで、 Sync をクリックして手動で調整します。off
に設定すると、調整はありません。
チャネルの reconcile-rate
設定に関係なく、サブスクリプションは、Subscription
カスタムリソースの apps.open-cluster-management.io/reconcile-rate: off
アノテーションを指定して、自動調整を off
に設定できます。
以下の git-channel
の例を参照してください。
apiVersion: apps.open-cluster-management.io/v1 kind: Channel metadata: name: git-channel namespace: sample annotations: apps.open-cluster-management.io/reconcile-rate: high spec: type: GitHub pathname: <Git URL> --- apiVersion: apps.open-cluster-management.io/v1 kind: Subscription metadata: name: git-subscription annotations: apps.open-cluster-management.io/git-path: application1 apps.open-cluster-management.io/git-branch: branch1 apps.open-cluster-management.io/reconcile-rate: "off" spec: channel: sample/git-channel placement: local: true
チャネルで reconcile-rate
が high
に設定されている場合でも、git-subscription
によってデプロイされたリソースが自動調整されないことを確認します。