OVHcloudはKubernetesオペレータをリリースした。Harborコンテナレジストリ向けのものであり、CNCFのgoharborプロジェクト下でオープンソースである。
Harbourは、コンテナイメージを管理するために開発された。イメージの脆弱性スキャン、アクセス制御、コンプライアンスなどを提供する。Harbourは、オープンソースになる前はVMwareの内部プロジェクトであった。CNCFは2018年にSandboxプロジェクトとして受け入れた。現在、インキュベーションステージにある。OVHcloudには、Harbourをベースとするマネージドプライベートコンテナレジストリサービスがある。彼らは、Kubernetesオペレーター(アプリケーションとその依存関係を管理するためのKubernetes向けのソフトウェア拡張)をHarbour用に作成し、goharborプロジェクト下でオープンソース化した。
InfoQは、OVHcloudの製品マネージャーであるMaxime Hurtrel氏に連絡を取り、詳細を確認した。
Harborは他のいくつかのソフトウェアコンポーネントを使用している。例えば、キャッシュと一時的な永続化のためにRedis、データベースとしてPostgreSQL、APIルーティングのためにnginxを使っている。さらに、画像署名用のNotary、およびいくつかの画像脆弱性スキャナーをサポートしている。Harborは、Helmチャートを使用して高可用性(HA)でKubernetesにデプロイすることもできる。ただし、依存コンポーネントのHAについては、このデプロイではHarbourによって提供されない。それらは個別にスケーリングし、高可用性を実現する必要がある。
Harbor自体のスケーリングに関しては、Hurtrel氏は、オペレーターは「特に運用段階に関してはまだ初期ステージにある」と述べている。将来的には、Kubernetes水平ポッドオートスケーラーを利用する計画がある。Hurtrel氏は「今日の時点ではコンポーネントのスケーリングには構成の更新が必要になる」と明言している。
オペレーターはHarborの依存関係のライフサイクルも管理しているか? Hurtrelは回答している。
私たちは、Harbourオペレーター1.0を、Harborとそのさまざまなソフトウェアコンポーネントのライフサイクルの管理に集中させることにしました。そして、依存関係(DBとレジストリレイヤーストレージ)を完全にユーザの選択に任せることにしました。しかし、現時点ではライフサイクルスコープの対象外です。他のITチームやクラウドプロバイダーによってサービスとして提供されるユースケースが数多く見られます。そのため、まずHarbor自体に付加価値を付けたいと考えています。
彼は「別のパッケージ化されたバージョンのオペレーター(「クラスターオペレーター」)が進行中であり、「難しい方法」でもデプロイしたい人のためにRedis演算子をパッケージ化する予定である」と付け加えている。
画像提供: OVHcloud。許可を得て使用。
Harborオペレーターは外部ストレージコンポーネントをサポートする。それは、その目標の1つが、そのようなコンポーネントの「要件にとらわれない」ことであるためである。Hurtrel氏は、この実例を示している。
OVHcloudでは、このオペレーターで数千のHarborサービスを管理しています。私たちは、そのオペレータをOVHcloud内の他のチームによって提供されるマネージドPostgres、Redis、およびS3互換のバックエンドを使用してデプロイします。
オペレーターの将来のロードマップには、Harborの完全なライフサイクル管理、スケーリング、更新、およびバックアップ管理が含まれている。ソースコードはGithubで入手できる。