V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zjiajun
V2EX  ›  程序员

中间件自动化安装问题

  •  
  •   zjiajun ·
    zJiaJun · 180 天前 · 1223 次点击
    这是一个创建于 180 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请教下,各种中间件自动化安装,有基于底层 k8s 集群,假如是物理机和虚拟机,组成的资源池。 有没有好用的工具,可以上传安装包,自动按需部署,可以定制有扩展点,最好是基于 golang 提供 http api 上层平台去调用。

    9 条回复    2024-05-22 09:44:50 +08:00
    Kumo31
        1
    Kumo31  
       180 天前
    没太理解具体需求,不过你说的基本上就是一个管控面的工作,K8s 上用对应的 Operator 就可以了
    zjiajun
        2
    zjiajun  
    OP
       180 天前
    @Kumo31 谢谢回复。是的 k8s operator 。但我理解大多数中间件不合适用 k8s 集群部署吧?比如 MQ ,Mysql ,Redis 这些,有些可能量比较大如 MQ 。那么就要依赖底层资源池,分为物理机和虚拟机两类。问题是,如何自动化部署到这两类资源池里
    defunct9
        3
    defunct9  
       180 天前
    MQ MySQL Redis 都得在集群外
    zjiajun
        4
    zjiajun  
    OP
       180 天前
    @defunct9 在 k8s 集群外是吧,那我理解就是传统虚拟机或者物理机,这种怎么批量、标准、自动化部署呢,有什么工具可以方便的维护底层的资源池(虚拟机和物理机),然后选一台自动做为分发机,与实际其他部署的机器配置密钥,免密登录,自定义分发安装包,生命周期管理,可以扩展的,支持不同的中间件类型,上层只和分发机通信交互。我目前想到是这样的
    defunct9
        5
    defunct9  
       180 天前
    kvm ,ansible 部署
    Kumo31
        6
    Kumo31  
       180 天前
    @zjiajun 指的是 K8s 可能跑在 VM 或物理机上?那对应的 node 一般都有 label 吧,可以通过 label 筛选就能指定部署位置了,大部分 Operator 都能支持这种程度的配置。另外按我们的经验,这些东西跑在 K8s 上完全不会有任何问题,一些云厂商的 RDS 都是这样跑在 K8s 上的,我们也在容器里跑 SPDK 这种性能和时延极度敏感的组件,有问题的可能只是对运维人员的会有更高的门槛。如果你要在 K8s 外上做这样的操作的话,只是部署可以用 ansible ,而一旦要做复杂的管控逻辑,最后也只是重新造了一套 K8s 的子集,这种你可以参考下 Pigsty
    iminto
        7
    iminto  
       180 天前 via Android
    Ansible ,门槛最低,可以用 python API ,也可以自己封装。
    guanzhangzhang
        8
    guanzhangzhang  
       180 天前
    python 调用 ansible 的 runner ,自己写剧本
    zjiajun
        9
    zjiajun  
    OP
       179 天前
    @Kumo31 你们是中间件都部署在 k8s 集群吗,比如 MQ 类的,redis 这些。MQ 类如 kafka 、rocketmq 都是基于 jvm 的,cpu 和内存使用率比较高的,如果业务量比较大,mq 压力也比较大
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   884 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:35 · PVG 05:35 · LAX 13:35 · JFK 16:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.