Argo CD v2.14 Release Candidate

Global Sync Timeout for Applications
グローバル同期タイムアウト機能は、同期プロセスが無期限に停止する問題に対処します。多くの場合、リソースが適切に開始されず、継続的に再試行されるためです。現在、Argo CDコントローラーでグローバルタイムアウトを設定して、Andrii Korotkov(Verkada)のおかげで長時間の同期操作をタイムアウトにすることができます。
argocd-cmd-params-cm configmap の
controller.sync.timeout.seconds
を更新することで、タイムアウトを構成できます。

Upgrading Helm to 3.16.2 and adding skipSchemaValidation Flag
Helm 3.16 では、
helm template
コマンドの--skip-schema-validation
フラグが公開されており、argocd cli と Application spec を介して利用可能になりました。--skip-schema-validation
を使用すると、ユーザーはスキーマ検証をバイパスできます。これは、外部スキーマにアクセスできないオフライン クラスターにとって重要な機能です。さらに、Istio 1.24 には Helm 3.16 以降が必要です。dmosesson により寄稿されました!

Application Resource Deletion Protection
リソースの誤削除を防ぐための新しい同期オプションが利用できるようになりました。この機能は、Argo CDを使用して本番環境の名前空間、ボリューム、イングレスなどの重要なリソースを管理する場合に特に便利です。このようなリソースを誤って削除すると、データの損失やサービスのダウンタイムにつながる可能性があり、人間の承認が必要になります。この機能を有効にするには、目的の Kubernetes リソースに
argocd.argoproj.io/sync-options: Prune=confirm
アノテーションを適用します。アノテーションが設定されると、Argo CDは、アプリケーションの同期中にリソースをプルーニングする前に、手動による承認が必要になります。同様に、argocd.argoproj.io/sync-options: Delete=confirm
アノテーションは、アプリケーションの削除プロセスを変更します。この注釈が適用されると、Argo CDはアプリケーションのカスケード削除を実行する前に確認を求めます。Alexander Matyushentsev(Akuity)に感謝します!

Disable Server Side Apply on individual resources
Argo CDはv2.1でserver-side applyを導入し、Kubernetesのネイティブ機能を活用して競合解決と宣言型更新を行うことで、リソースの変更の管理方法を強化しました。現在は、個々のリソースレベルでのサーバー側の適用の無効化をサポートしており、特定のリソース構成に対する柔軟性と制御性が向上しています。Pasha Kostohrys (Codefresh) によって追加されました!

Disable writing K8s Events
アプリケーションが多い環境やアプリケーションのチャーンが多い環境では、Argo CDは、生成されるイベントの数に応じてKubernetes APIサーバーとetcdに負荷をかける可能性があります。Operatorは、Kubernetesイベントの書き込みを無効にしたり、Argo CDが生成するイベントを調整したりできるようになりました。
Jack-R-lanternによって導入されました!

Faster Application Refreshes
Argo CD が数万のポッドやレプリカセットなど、多くのリソースを持つクラスターを管理している場合、リソース全体の変更の処理に時間がかかります。Argo CD の UI は特に遅くなります。
Mykola Pelekhのおかげで、ロックの競合を減らし、リフレッシュ速度を上げるバッチを設定できるようになりました。argocd-cmd-params-cm configmap で
controller.cluster.cache.batch.events.processing
とcontroller.cluster.cache.events.processing.interval
の両方を設定して、機能を有効にし、調整することができます。