Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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 full-size slide

  2. 自己紹介

    キム インソ

    クラスメソッド株式会社

    CX事業本部 MADチーム

    バックエンドエンジニア

    Scrum
    DevOps
    2


    View full-size slide

  3. アジェンダ

    ● Harbor の概要

    ● Harbor のアーキテクチャ

    ● Harbor のメリット

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

    ● Harbor のセットアップ

    ○ ローカル

    ○ クラウド(AWS)

    3


    View full-size 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 full-size slide

  5. 背景

    5


    View full-size 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 full-size slide

  7. Harbor のアーキテクチャ

    7


    View full-size slide

  8. Harbor のアーキテクチャ

    8

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

    View full-size slide

  9. Harbor のアーキテクチャ

    9

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

    View full-size slide

  10. Harbor のアーキテクチャ

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

    10


    View full-size slide

  11. Harbor のアーキテクチャ

    11

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

    View full-size slide

  12. Harbor のアーキテクチャ

    12

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

    View full-size slide

  13. Harbor のアーキテクチャ

    13

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

    View full-size slide

  14. Harbor のアーキテクチャ

    14

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

    View full-size slide

  15. Harbor のアーキテクチャ

    15

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

    View full-size slide

  16. Harbor のメリット

    16


    View full-size slide

  17. Harbor のメリット

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


    17

    a. private & public
 b. mirroring & replication 


    View full-size slide

  18. Harbor のメリット

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


    18

    c. multi-project
 d. backup & restore 

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

    Velero


    View full-size slide

  19. Harbor のメリット

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

    a. Trivy (default)

    b. Clair (v2.2 から deprecated) 

    c. その他

    i. Sysdig


    19


    View full-size slide

  20. Harbor のメリット

    ③ 様々なユーザー権限

    a. Chief Infra Engineer 

    b. SRE

    c. Backend Engineer

    d. Intern

    e. 3rd-party vendor

    20


    View full-size slide

  21. Harbor のメリット

    ④ GUI から操作ログの確認

    21


    View full-size slide

  22. Harbor のメリット

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


    22


    View full-size 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 full-size slide

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

    24

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


    View full-size slide

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

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



    25


    View full-size 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 full-size 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 full-size slide

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

    28

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


    View full-size slide

  29. セットアップ(AWS)

    29

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


    View full-size slide

  30. まとめ

    30

    ● Harbor の管理画面は最高

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

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

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

    ○ VMware


    View full-size 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 full-size slide

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

    32


    View full-size slide