$30 off During Our Annual Pro Sale. View Details »

Harbor で自分たちのコンテナレジストリを構築/building-a-container-registry-with-harbor

Harbor で自分たちのコンテナレジストリを構築/building-a-container-registry-with-harbor

Inseo Kim

March 01, 2021
Tweet

Other Decks in Programming

Transcript

  1. Harbor で自分たちの

    コンテナレジストリを構築

    CloudNative Days Spring 2021
    Inseo Kim
    @sano3071
    sano307
    1


    View Slide

  2. 自己紹介

    キム インソ

    クラスメソッド株式会社

    CX事業本部 MADチーム

    バックエンドエンジニア

    Scrum
    DevOps
    2


    View Slide

  3. アジェンダ

    ● Harbor の概要

    ● Harbor のアーキテクチャ

    ● Harbor のメリット

    ● Harbor の v2.2.0 アップデート内容

    ● Harbor のセットアップ

    ○ ローカル

    ○ クラウド(AWS)

    3


    View Slide

  4. 背景

    ● Docker Hub のダウンロードレート制限


    4

    https://matsuand.github.io/docs.docker.jp.onthefly/docker-hub/download-rate-limit/

    認証していない場合、100 ダウンロード/6時間

    認証している無料ユーザーの場合、200 ダウンロード/6時間

    Docker Team プラン (1人あたり $7/月) の場合、無制限

    View Slide

  5. 背景

    5


    View Slide

  6. 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

    View Slide

  7. Harbor のアーキテクチャ

    7


    View Slide

  8. Harbor のアーキテクチャ

    8

    “Architecture Overview of Harbor” https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor

    View Slide

  9. Harbor のアーキテクチャ

    9

    “Architecture Overview of Harbor” https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor

    View Slide

  10. Harbor のアーキテクチャ

    “Architecture Overview of Harbor” https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor

    10


    View Slide

  11. Harbor のアーキテクチャ

    11

    “Architecture Overview of Harbor” https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor

    View Slide

  12. Harbor のアーキテクチャ

    12

    “Architecture Overview of Harbor” https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor

    View Slide

  13. Harbor のアーキテクチャ

    13

    “Architecture Overview of Harbor” https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor

    View Slide

  14. Harbor のアーキテクチャ

    14

    “Architecture Overview of Harbor” https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor

    View Slide

  15. Harbor のアーキテクチャ

    15

    “Architecture Overview of Harbor” https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor

    View Slide

  16. Harbor のメリット

    16


    View Slide

  17. Harbor のメリット

    ① 柔軟に Container Image と Helm Chart が管理できる


    17

    a. private & public
 b. mirroring & replication 


    View Slide

  18. Harbor のメリット

    ① 柔軟に Container Image と Helm Chart が管理できる


    18

    c. multi-project
 d. backup & restore 

    https://github.com/goharbor/harbor/issues/10729 

    Velero


    View Slide

  19. Harbor のメリット

    ② Container Image 脆弱性スキャンツールが
    アドオン可能

    a. Trivy (default)

    b. Clair (v2.2 から deprecated) 

    c. その他

    i. Sysdig


    19


    View Slide

  20. Harbor のメリット

    ③ 様々なユーザー権限

    a. Chief Infra Engineer 

    b. SRE

    c. Backend Engineer

    d. Intern

    e. 3rd-party vendor

    20


    View Slide

  21. Harbor のメリット

    ④ GUI から操作ログの確認

    21


    View Slide

  22. Harbor のメリット

    ⑤ CI アカウントとビルトイン Webhook


    22


    View Slide

  23. Harbor のメリット

    ⑥ コンテンツの自動掃除

    a. Repository

    i. Matching

    ii. Excluding

    b. Count

    c. Number of days

    d. Tags

    i. Matching

    ii. Excluding

    e. Untagged

    23

    タグがついていない 

    奴らを自動削除

    するオプション


    View Slide

  24. Harbor v2.2.0 (release date: Feb 24, 2021)

    24

    https://github.com/goharbor/harbor/releases/tag/v2.2.0 


    View Slide

  25. Harbor v2.2.0 (release date: Feb 24, 2021)

    ① CI アカウントの中央集権化



    25


    View Slide

  26. Harbor v2.2.0 (release date: Feb 24, 2021)

    ② Metrics & Observability 

    26

    https://gist.github.com/sano307/8b89251addb74abc169b0ef
    8627580f9

    harbor-online-installer-v2.2.0 

    Prometheus


    View Slide

  27. 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


    View Slide

  28. セットアップ(ローカル)

    28

    https://github.com/sano307/harbor-demo/tree/main/local 


    View Slide

  29. セットアップ(AWS)

    29

    https://github.com/sano307/harbor-demo/tree/main/aws 


    View Slide

  30. まとめ

    30

    ● Harbor の管理画面は最高

    ● Container Image 以外も管理できる汎用的なツール

    ● 拡張しやすいアーキテクチャ(っぽい)

    ● OSS メインテナンスも安定

    ○ VMware


    View Slide

  31. 参考情報

    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 


    View Slide

  32. ご清聴ありがとうございました。

    32


    View Slide