k8s 私有 registry 方案 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dayeye2006199
V2EX    Kubernetes

k8s 私有 registry 方案

  •  
  •   dayeye2006199 2022-04-20 02:25:52 +08:00 4112 次点击
    这是一个创建于 1318 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需要在客户的内网服务器环境中(没有因特网连接)交付一套部署在 k8s 上的软件。 现在计划方案是用硬盘把所有的程序镜像打包,在他们的内网启动一个私有 registry 服务,随后开始正常的部署。

    网上看到用的比较多的 registry 方案:

    1. docker registry server
    2. Harbor

    Harbor 的功能比较多。Docker registry 安装更简单一些。

    这个 registry 只需要只读功能(部署的时候拉取镜像使用,不需要镜像写入,也没有租户管理之类的需求),程序部署完之后基本就没用了。

    这样的情况是不是选项 1 更好一些。或者大家有其他更好的建议吗?

    第 1 条附言    2022-04-21 01:28:55 +08:00
    这套 k8s 底座也是部署的一部分。后续也需要我们来维护。
    这个帖子里也询问了有什么比较好的方案: t/846931
    目前在看的是 rancher 的离线和 edge 解决方案。

    搞得这么复杂是因为需要把多机的 CPU 、存储、和 GPU 资源进行池化,统一进行调度和管理。部署的程序主要是 jupyterhub+一些其他的机器学习工具(例如 pipeline 管理,实验管理,环境管理等),让用户能够自主服务,申请需要的计算环境和规格。

    k8s 主要是作为一个资源管理器来使用。
    之前也考虑过虚拟化的解决方案,但是那块也很复杂,团队对这方面的经验不是很多。
    22 条回复    2022-04-21 11:19:00 +08:00
    KagurazakaNyaa
        1
    KagurazakaNyaa  
       2022-04-20 02:42:17 +08:00
    直接在虚拟机里部署好整套 k8s 环境然后打包成 ova/ovf 到客户的环境里部署
    dayeye2006199
        2
    dayeye2006199  
    OP
       2022-04-20 02:53:29 +08:00
    @XiLingHost 因为需要多机集群 + GPU 直通,所以不知道虚拟机的方案是否可以方便的支持
    oldboy627
        3
    oldboy627  
       2022-04-20 07:24:43 +08:00
    我们是 registry ,挺方便的
    yijihu
        4
    yijihu  
       2022-04-20 08:37:34 +08:00
    Harbor 不错,我们在用
    feelinglucky
        5
    feelinglucky  
       2022-04-20 09:00:05 +08:00
    无脑选 Harbor 就是了,不会错
    eudore
        6
    eudore  
       2022-04-20 09:02:08 +08:00
    交付场景
    1 、所有机器上 docker load 一下就好。
    2 、弄个 registry 不推荐 harbor 太麻烦。
    Suaxi
        7
    Suaxi  
       2022-04-20 09:11:44 +08:00
    镜像不是太多的情况下手动 load 一下就好,如果镜像特别多的话就 harbor
    idblife
        8
    idblife  
       2022-04-20 09:20:46 +08:00
    harbor 吧
    貌似 gitlab 也有,还没测试过
    Judoon
        9
    Judoon  
       2022-04-20 09:27:53 +08:00   2
    既然是集群,应该是多机吧,如果镜像仓库部署完了就关掉不用了,怎么保证以下几个场景
    1 、应用主动或被动漂移到另一个节点上,没有镜像
    2 、(如果 1 的解决方案是在初始状态每个机器都同步一下镜像的话) k8s 在磁盘空间快满了会做 image GC ,未在使用的镜像会被清理。此时再遇到 1 场景,怎么办
    3 、上层应用需要升级的时候,是每个机器上导入一遍镜像?
    salmon5
        10
    salmon5  
       2022-04-20 09:34:26 +08:00
    harbor ,为什么不用 harbor ?需要一点机器成本?
    Aliencn
        11
    Aliencn  
       2022-04-20 10:42:39 +08:00
    想想这两个方案那个更方便配合脚本做自动化,需求简单我推荐 registry
    XSG
        12
    XSG  
       2022-04-20 10:49:09 +08:00
    docker load 不推荐,实际长时间使用场景,磁盘空间快满时会触发 pod 驱逐,也会删除本地镜像,到时候 pod 就没法启动了
    cloverstd
        13
    cloverstd  
       2022-04-20 11:01:19 +08:00
    看你的需求,官方 registry 自部署就可以了,harbor 还要部署数据库
    anonymousar
        14
    anonymousar  
       2022-04-20 11:47:05 +08:00
    harbor
    kaneg
        15
    kaneg  
       2022-04-20 12:42:15 +08:00 via iPhone
    这么简单的需求,docker registry 足矣,它本身也有官方提供的 docker image 启动
    anubu
        16
    anubu  
       2022-04-20 13:00:17 +08:00
    如果真是临时部署,一次性使用,registry 就够了,harbor 复杂了些。但应该还有后续的重新调度、应用升级问题吧,个人认为隔离环境运行 k8s ,私有 registry 是必须的,长期使用还是推荐 harbor 。
    codefever
        17
    codefever  
       2022-04-20 13:01:47 +08:00
    registry 应该可以满足你的需求啊,官方的东西靠谱一点
    chronos
        18
    chronos  
       2022-04-20 13:09:37 +08:00
    直接用 docker registry 就行,harbor 复杂一些,在你的这个场景下没什么必要。
    MoonWalker
        19
    MoonWalker  
       2022-04-20 13:20:44 +08:00
    nexus 貌似也支持 docker 仓库
    pydiff
        20
    pydiff  
       2022-04-20 16:34:07 +08:00
    我有个疑问,你们这是要帮人家部署一套 k8s ,然后再部署自己的产品吗?那后面的 k8s 维护也是你们搞吗?是不是表达有误,就是客户已经有了 k8s ,你只是在上面部署产品。如果是这种方式的,正常来讲,客户那边已经有了自己的镜像仓库的,你把自己的镜像保存下来再导入进去即可,然后在 deployment 中配置好 pullsecret 即可
    dayeye2006199
        21
    dayeye2006199  
    OP
       2022-04-21 01:31:10 +08:00
    @pydiff k8s 也是部署的一部分。现在考虑交付一个轻量级的版本,例如 k3s ,同时使用集群管理工具例如 rancher 来降低运维负担。
    pepesii
        22
    pepesii  
       2022-04-21 11:19:00 +08:00
    如果就用一次,我在想是不是也可以不用部署 registry 和 harbor ;

    1. 在其中一个机器上跑个 docker-registry-proxy ,把需要的镜像倒入到这个容器的缓存目录下;
    2. 写个脚本,将其他机器的 docker proxy 配置成上面那个 proxy 地址,同时也给其他机器配置上自己的根证书;
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1073 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 17:58 PVG 01:58 LAX 09:58 JFK 12:58
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86