同じソフトウェアを実行する必要があるグローバルに分散された複数のKubernetesクラスターを実行しています。このソフトウェアの更新を(プライベートDockerリポジトリにアップロードされたDockerイメージとして)リリースするとき、現在のデプロイメントパイプラインは、既知のデプロイメントのリストを反復処理し、各クラスターに接続し、そこで適切なデプロイメントを更新する必要があります。これは、扱いにくく、壊れやすく、遅く、スケーラブルでないプロセスです。
新しいDockerイメージのバージョンを定期的にチェックするデプロイメントを作成し、変更を検出すると新しいイメージをプルして正しいデプロイメントを更新することで、これを解決する方法を探しています。これは、各クラスターによって個別に実行する必要があるため、各クラスターに接続する中央プロセスや維持するクラスターのリストなどはありません。
すべてのクラスターを同時に更新する必要はありませんが、一元管理を行わずに最終的な整合性を保つことが目的です。
これを行うか、この問題を別の方法で解決する既存のツールはありますか?
ウィーブのフラックスのような音があなたの要件に答えます:
https://github.com/weaveworks/flux
お客様のクラスターの1つにインストールしてあり、問題なく動作します。 Dockerイメージの変更を監視し、再利用を実行します。質問であなたがそれをどのように説明したか正確に。
プロジェクトは少し新しいので、設定は少し面倒かもしれません...しかし、最終的にはうまくいきます!