Harbor Registryの
Replication機能
VMware Cloud Native Day
Registry
● コンテナイメージを格納するサービス
● Registryの種類
○ Docker Hub (docker.io)
○ Google Container Registry (gcr.io)
○ Azure Container Registry (azurecr.io)
○ Amazon Container Registry (ecr.io)
○ Red Hat Quay (quay.io)
○ Docker Trusted Registry
○ Docker Registry (https://hub.docker.com/_/registry/)
● Repository
○ 同じ名前で、異なるタグを持つコンテナイメージのコレクショ
ン。
○ (例) nginx:latest、nginx:alpine、nginx:1.17.5
Harbor
● VMwareが中心となって開発しているオープンソースのコンテナイメージレジストリ
○ 2016年 : OSSとして公開
○ 2018年7月 : CNCF Sandbox Project
○ 2018年11月 : CNCF Incubating Project
○ 2019年9月 : バージョン1.9リリース
● Enterprise PKSやvSphere Integrated Containerにバンドル
● ドキュメント
○ https://goharbor.io/docs/
● GitHub
○ https://github.com/goharbor/harbor
Harbor
● Cloud native registry : コンテナイメージとHelmチャートをサポート
● RBAC(Role based access control)
● Policy based replication
● Vulnerability Scanning(Clair)
● LDAP/AD support
● OIDC support : OpenID Connectによる認証サポート
● Image deletion & garbage collection : コンテナイメージの削除とストレージの再利用
● Notary : 暗号署名によるコンテナイメージの信頼性提供
● Graphical user portal
● Auditing
● RESTful API
● Easy deployment : オンライン・オフラインインストーラ、 Helm Chart/Docker Compose
アーキテクチャ
https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor
Harborのコンポーネント - v.1.9.2
● goharbor/chartmuseum-photon:v0.9.0-v1.9.2
● goharbor/clair-photon:v2.0.9-v1.9.2
● goharbor/harbor-core:v1.9.2
● goharbor/harbor-db:v1.9.2
● goharbor/harbor-jobservice:v1.9.2
● goharbor/harbor-log:v1.9.2
● goharbor/harbor-portal:v1.9.2
● goharbor/harbor-registryctl:v1.9.2
● goharbor/nginx-photon:v1.9.2
● goharbor/notary-server-photon:v0.6.1-v1.9.2
● goharbor/notary-signer-photon:v0.6.1-v1.9.2
● goharbor/redis-photon:v1.9.2
● goharbor/registry-photon:v2.7.1-patch-2819-2553-v1.9.2
Vulnerability Scanning - Clair
Repositoryのレプリケーション
● HarborにPushされたイメージを他のRegistryにを複製することが可能。
○ 複数の環境で同じコンテナイメージを利用可能
○ コンテナイメージのバックアップ
○ 災害対策
Amazon ECR Azure Container Registry
Harbor
レプリケーション先Registryの登録
● 以下のProviderに対応
○ Harbor
○ Docker Hub
○ Docker registry
○ AWS Elastic Container Registry
○ Azure Container Registry
○ Ali Cloud Container Registry
○ Google Container Registry
○ Huawei SWR
○ Helm Hub
Replication Rule
● Replication Mode
○ Push-based : LocalイメージをPush
○ Pull-based : RemoteイメージをPush
● Source resource filter
○ Name
○ Tag
● Destination registry
○ Registry Endpoint
● Destination namespace
● Trigger Mode
○ Manual
○ Scheduled
○ Event Based
レプリケーション
Webhook
Project毎にWebhookを設定可能。発生したイベントに応じて指定したEndpointに通知
される。
デモ
Amazon ECR
Webhook
Endpoint
Image Replication
W
ebhook
Update Deployment

Harbor RegistryのReplication機能