RSS Kubernetes ブログ
フォロー
Kubernetes v1.36: コントローラーの陳腐化対策と可観測性
Kubernetesのコントローラは、キャッシュされたデータが古くなることで不正確なアクションや遅延アクションを引き起こす、ステイールネスに悩まされることがあります。Stalenessは、コントローラのローカルキャッシュがクラスタの実際の状態と同期していないことから発生します。Kubernetes v1.36では、膠着状態を緩和し、コントローラの動作を改善する機能が導入されている。これらの改善には、client-goでのアトミックFIFO処理が含まれ、キューの一貫性が強化されている。 kube-controller-managerは、DaemonSetやReplicaSetのようないくつかの主要なコントローラに、これらのclient-goの改善を統合しました。これらのコントローラは、動作前にキャッシュリソースのバージョンをチェックするようになり、古いデータに対するアクションを防止します。Informerの作者は、ConsistencyStoreを使用してリソースのバージョンを追跡・管理し、コントローラの陳腐化を軽減することができます。ConsistencyStoreは、書き込みの記録、キャッシュの準備状況のチェック、古くなったオブジェクトエントリのクリアのための機能を提供する。 Kubernetes v1.36では、コントローラの健全性を監視するための新しいメトリクスも提供され、これには、陳腐化による同期のスキップ数などが含まれる。Client-goはまた、共有インフォーマーの最新のリソースバージョンを公開するメトリクスを発行するようになった。 Kubernetesチームは、これらの陳腐化緩和機能をより多くのコントローラに拡張し、コントローラランタイムに統合することを計画している。彼らはユーザーからのフィードバックと今後の開発を奨励している。