Harbor で自分たちの コンテナレジストリを構築 CloudNative Days Spring 2021Inseo Kim@sano3071sano3071
View Slide
自己紹介 キム インソ クラスメソッド株式会社 CX事業本部 MADチーム バックエンドエンジニア ScrumDevOps2
アジェンダ ● Harbor の概要 ● Harbor のアーキテクチャ ● Harbor のメリット ● Harbor の v2.2.0 アップデート内容 ● Harbor のセットアップ ○ ローカル ○ クラウド(AWS) 3
背景 ● Docker Hub のダウンロードレート制限 4 https://matsuand.github.io/docs.docker.jp.onthefly/docker-hub/download-rate-limit/ 認証していない場合、100 ダウンロード/6時間 認証している無料ユーザーの場合、200 ダウンロード/6時間 Docker Team プラン (1人あたり $7/月) の場合、無制限
背景 5
Harbor とは? Container Image や Helm Chart、 CNAB の管理や保証、検証などをサポートしてくれるツール 思想 ● コンテンツの格納、保証、スキャン 歴史 ● 2014.06:VMware の R&D チームから開始 ● 2016.03:OSS 化 ● 2018.07:CNCF にジョイン ● 2018.11:CNCF Incubating プロジェクト ● 2020.06:CNCF Graduated プロジェクト ● 2021.02:v2.2.0 リリース 港 6 https://github.com/goharbor/harbor
Harbor のアーキテクチャ 7
Harbor のアーキテクチャ 8 “Architecture Overview of Harbor” https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor
Harbor のアーキテクチャ 9 “Architecture Overview of Harbor” https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor
Harbor のアーキテクチャ “Architecture Overview of Harbor” https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor 10
Harbor のアーキテクチャ 11 “Architecture Overview of Harbor” https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor
Harbor のアーキテクチャ 12 “Architecture Overview of Harbor” https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor
Harbor のアーキテクチャ 13 “Architecture Overview of Harbor” https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor
Harbor のアーキテクチャ 14 “Architecture Overview of Harbor” https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor
Harbor のアーキテクチャ 15 “Architecture Overview of Harbor” https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor
Harbor のメリット 16
Harbor のメリット ① 柔軟に Container Image と Helm Chart が管理できる 17 a. private & public b. mirroring & replication
Harbor のメリット ① 柔軟に Container Image と Helm Chart が管理できる 18 c. multi-project d. backup & restore https://github.com/goharbor/harbor/issues/10729 Velero
Harbor のメリット ② Container Image 脆弱性スキャンツールがアドオン可能 a. Trivy (default) b. Clair (v2.2 から deprecated) c. その他 i. Sysdig 19
Harbor のメリット ③ 様々なユーザー権限 a. Chief Infra Engineer b. SRE c. Backend Engineer d. Intern e. 3rd-party vendor 20
Harbor のメリット ④ GUI から操作ログの確認 21
Harbor のメリット ⑤ CI アカウントとビルトイン Webhook 22
Harbor のメリット ⑥ コンテンツの自動掃除 a. Repository i. Matching ii. Excluding b. Count c. Number of days d. Tags i. Matching ii. Excluding e. Untagged 23 タグがついていない 奴らを自動削除 するオプション
Harbor v2.2.0 (release date: Feb 24, 2021) 24 https://github.com/goharbor/harbor/releases/tag/v2.2.0
Harbor v2.2.0 (release date: Feb 24, 2021) ① CI アカウントの中央集権化 25
Harbor v2.2.0 (release date: Feb 24, 2021) ② Metrics & Observability 26 https://gist.github.com/sano307/8b89251addb74abc169b0ef8627580f9 harbor-online-installer-v2.2.0 Prometheus
Harbor v2.2.0 (release date: Feb 24, 2021) ③ Aqua CSP Scanner サポート - https://github.com/aquasecurity/harbor-scanner-aqua ④ Proxy Cache 利用対象を拡大 - Google GCR, AWS ECR, Azure ACR, Quay.io ⑤ Clair がビルトインから除外 ⑥ OIDC 認証の特別な管理者グループを指定し、LDAP 認証を強化 27
セットアップ(ローカル) 28 https://github.com/sano307/harbor-demo/tree/main/local
セットアップ(AWS) 29 https://github.com/sano307/harbor-demo/tree/main/aws
まとめ 30 ● Harbor の管理画面は最高 ● Container Image 以外も管理できる汎用的なツール ● 拡張しやすいアーキテクチャ(っぽい) ● OSS メインテナンスも安定 ○ VMware
参考情報 31 - https://goharbor.io/docs/2.2.0/ - https://github.com/goharbor/harbor/wiki - https://artifacthub.io/packages/helm/bitnami/harbor/9.6.1 - https://artifacthub.io/packages/helm/bitnami/contour/1.1.1 - https://cert-manager.io/docs/ - https://qiita.com/ysakashita/items/12e2f1e902ca5cbd56ed - https://qiita.com/MahoTakara/items/d34877eb7e891a0d7dae - https://speakerdeck.com/masayaaoyama/cndt2020-k8s-amsy810
ご清聴ありがとうございました。 32