• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zjiajun
V2EX  ›  程序员

中间件自动化安装问题

  •  
  •   zjiajun ·
    zJiaJun · May 21, 2024 · 2188 views
    This topic created in 900 days ago, the information mentioned may be changed or developed.

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

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