サイボウズではコンテナレジストリの可用性を高めるため、コンテナレジストリミラーをクラスタ内にデプロイしています。 しかし、大規模クラスタではコンテナイメージを大量に Pull するためレジストリミラーの負荷が高まりやすく、スケールアウトやチューニングが必要となります。
大量のコンテナイメージの Pull に伴う負荷増大に対処するため、OSS のステートレスな分散レジストリミラーである、Spegel の動作を検証しました。 また、キャッシュミス時に複数のノードが同時に Pull を実行する動作を改善するため、Kubernetes 1.26 にて alpha となった Pod Scheduling Readiness を使ったカスタムコントローラーを開発・検証しました。