1.4.2.2. Helm チャネルの調整頻度
サブスクリプション Operator は 15 分ごとに、Helm チャートで現在デプロイされているハッシュを、ソースリポジトリーからのハッシュと比較します。変更がターゲットクラスターに適用されます。リソース調整の頻度は、他のアプリケーションのデプロイメントおよび更新のパフォーマンスに影響します。
たとえば、数百のアプリケーションサブスクリプションがあり、すべてのサブスクリプションを頻繁に調整する場合は、調整の応答時間は遅くなります。
アプリケーションの Kubernetes リソースによっては、適切な調整頻度でパフォーマンスを向上できます。
-
Off
: デプロイされたリソースは自動的に調整されません。サブスクリプションカスタムリソースを変更すると、調整が開始されます。ラベルまたはアノテーションを追加または更新できます。 -
Low
: サブスクリプション Operator は、1 時間ごとに現在デプロイされているハッシュと、ソースリポジトリーのハッシュと比較し、変更がある場合はターゲットクラスターに変更を適用します。 -
Medium
: これはデフォルトの設定です。サブスクリプション Operator は、15 分ごとに現在デプロイされているハッシュと、ソースリポジトリーのハッシュと比較し、変更がある場合はターゲットクラスターに変更を適用します。 -
High
: サブスクリプション Operator は、2 分ごとに現在デプロイされているハッシュと、ソースリポジトリーのハッシュと比較し、変更がある場合はターゲットクラスターに変更を適用します。
これは、サブスクリプションによって参照される チャネル
カスタムリソースの apps.open-cluster-management.io/reconcile-rate
アノテーションを使用して設定できます。以下の helm-channel
の例を参照してください。
以下の helm-channel
の例を参照してください。
apiVersion: apps.open-cluster-management.io/v1 kind: Channel metadata: name: helm-channel namespace: sample annotations: apps.open-cluster-management.io/reconcile-rate: low spec: type: HelmRepo pathname: <Helm repo URL> --- apiVersion: apps.open-cluster-management.io/v1 kind: Subscription metadata: name: helm-subscription spec: channel: sample/helm-channel name: nginx-ingress packageOverrides: - packageName: nginx-ingress packageAlias: nginx-ingress-simple packageOverrides: - path: spec value: defaultBackend: replicaCount: 3 placement: local: true
この例では、sample/helm-channel
を使用するすべてのサブスクリプションの調整頻度は low
になります。
チャネルの reconcile-rate 設定に関係なく、サブスクリプションは、Subscription
カスタムリソースの apps.open-cluster-management.io/reconcile-rate: off
アノテーションを指定して、自動調整を off
に設定できます。
apiVersion: apps.open-cluster-management.io/v1 kind: Channel metadata: name: helm-channel namespace: sample annotations: apps.open-cluster-management.io/reconcile-rate: high spec: type: HelmRepo pathname: <Helm repo URL> --- apiVersion: apps.open-cluster-management.io/v1 kind: Subscription metadata: name: helm-subscription annotations: apps.open-cluster-management.io/reconcile-rate: "off" spec: channel: sample/helm-channel name: nginx-ingress packageOverrides: - packageName: nginx-ingress packageAlias: nginx-ingress-simple packageOverrides: - path: spec value: defaultBackend: replicaCount: 3 placement: local: true
この例では、チャネルで reconcile-rate
が high
に設定されている場合でも、helm-subscription
によってデプロイされたリソースが自動調整されないことを確認します。