请教下,各种中间件自动化安装,有基于底层 k8s 集群,假如是物理机和虚拟机,组成的资源池。 有没有好用的工具,可以上传安装包,自动按需部署,可以定制有扩展点,最好是基于 golang 提供 http api 上层平台去调用。
1
Kumo31 215 天前
没太理解具体需求,不过你说的基本上就是一个管控面的工作,K8s 上用对应的 Operator 就可以了
|
2
zjiajun OP @Kumo31 谢谢回复。是的 k8s operator 。但我理解大多数中间件不合适用 k8s 集群部署吧?比如 MQ ,Mysql ,Redis 这些,有些可能量比较大如 MQ 。那么就要依赖底层资源池,分为物理机和虚拟机两类。问题是,如何自动化部署到这两类资源池里
|
3
defunct9 215 天前
MQ MySQL Redis 都得在集群外
|
4
zjiajun OP @defunct9 在 k8s 集群外是吧,那我理解就是传统虚拟机或者物理机,这种怎么批量、标准、自动化部署呢,有什么工具可以方便的维护底层的资源池(虚拟机和物理机),然后选一台自动做为分发机,与实际其他部署的机器配置密钥,免密登录,自定义分发安装包,生命周期管理,可以扩展的,支持不同的中间件类型,上层只和分发机通信交互。我目前想到是这样的
|
5
defunct9 215 天前
kvm ,ansible 部署
|
6
Kumo31 215 天前
@zjiajun 指的是 K8s 可能跑在 VM 或物理机上?那对应的 node 一般都有 label 吧,可以通过 label 筛选就能指定部署位置了,大部分 Operator 都能支持这种程度的配置。另外按我们的经验,这些东西跑在 K8s 上完全不会有任何问题,一些云厂商的 RDS 都是这样跑在 K8s 上的,我们也在容器里跑 SPDK 这种性能和时延极度敏感的组件,有问题的可能只是对运维人员的会有更高的门槛。如果你要在 K8s 外上做这样的操作的话,只是部署可以用 ansible ,而一旦要做复杂的管控逻辑,最后也只是重新造了一套 K8s 的子集,这种你可以参考下 Pigsty
|
7
iminto 215 天前 via Android
Ansible ,门槛最低,可以用 python API ,也可以自己封装。
|
8
guanzhangzhang 215 天前
python 调用 ansible 的 runner ,自己写剧本
|