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

k8s 上面有什么 PaaS 的解决方案吗

  •  1
     
  •   dayeye2006199 · 2022-10-26 01:26:17 +08:00 · 2980 次点击
    这是一个创建于 793 天前的主题,其中的信息可能已经有所发展或是发生改变。
    小公司,没有专门的运维. 现在的流程是程序员自己负责写 Dockerfile + YAML + Kustomize 然后部署到 k8s 上面.
    但是这个工作量不小. 希望能够提供一个类似 heroku 的部署体验, 对主流的 web 框架,只需要程序员写个 Procfile 和配置环境变量,然后推送 repo 就可以了. 有什么开箱即用的轮子吗?
    几个要求:

    1. 不考虑云厂商提供的方案, 因为公司在多个区域运营,用的云厂商不同
    2. 希望工具能提供 API+CLI,而不是单纯的 UI
    3. 开发 + 部署的体验希望能比较一致
    4. 如果是开源的解决方案更好
    第 1 条附言  ·  2022-10-26 10:47:06 +08:00
    希望能尽量减少写
    Dockerfie
    Yaml
    CI CD 脚本

    这些工作量。部署的应用都很标准,基于 Python 和 go 的 Web 服务,最多挂个数据库。
    所以上面三类工作非常重复,一个新的服务需要重复这三个步骤,技术含量也不高
    第 2 条附言  ·  2022-10-26 11:42:17 +08:00
    稍微做了一些研究,需要的功能和如下几个解决方案类似,不知道大家有没有用过里面的一些工具:

    1. https://www.qovery.com/
    2. https://hyscale.io/
    3. https://acorn.io/
    4. https://github.com/porter-dev/porter

    宗旨是让程序开发者,专注在开发程序上。如何部署程序使用工具解决(不是运维手写各种脚本)
    15 条回复    2023-07-29 15:30:39 +08:00
    lairdnote
        1
    lairdnote  
       2022-10-26 08:24:01 +08:00
    rancher , k3s ,
    lairdnote
        2
    lairdnote  
       2022-10-26 08:24:36 +08:00
    自己写好 helm 仓库
    ql562482472
        3
    ql562482472  
       2022-10-26 09:50:06 +08:00
    gitops 实践就行把
    idblife
        4
    idblife  
       2022-10-26 09:59:38 +08:00
    你需要的是 CICD
    xcai
        5
    xcai  
       2022-10-26 11:04:09 +08:00
    OpenShift
    Usaki
        6
    Usaki  
       2022-10-26 11:13:21 +08:00
    kubesphere ,rainbond ?
    kindom
        7
    kindom  
       2022-10-26 11:16:36 +08:00
    Argo
    winglight2016
        8
    winglight2016  
       2022-10-26 11:21:03 +08:00
    Dockerfie——这个必须写,没法省
    Yaml——这个也必须写,但是通过 namespace ,可以不同环境使用同一套
    CI CD 脚本——这个必须写,但是如果有自己的 Jenkins ,配起来还是很快的

    实在想省,自己写脚本,用环境变量+模板吧,我手写过一个 k8s 全部应用和依赖的部署脚本,也用不了一个小时
    jtwor
        9
    jtwor  
       2022-10-26 11:27:35 +08:00
    kubesphere
    konakona
        10
    konakona  
       2022-10-26 12:06:36 +08:00
    如果不依赖云厂商(阿里云、腾讯云、联通云这些)的话,你需要有一个 DevOps 团队来承担维护的工作,以启用你所述的方案,这才是实实在在的。
    你的想法更像是仅使用原生 Kubernetes 的能力,来承载 Paas 。
    那么你需要学习 CICD ,并实现自己的 Helm Repo 做软件的脚手架启动,再建立 Harbor 来运行程序镜像。
    而维护和撰写 Dockerfile 是一个永恒不变的话题。
    gtx990
        11
    gtx990  
       2022-10-26 12:32:41 +08:00 via Android
    cdk8s
    zergmk2
        12
    zergmk2  
       2022-10-26 12:46:55 +08:00
    argo cd
    dnsjia
        13
    dnsjia  
       2022-10-26 15:56:48 +08:00
    zhujq
        14
    zhujq  
       2022-10-27 09:58:56 +08:00
    kubevela
    Catkinni
        15
    Catkinni  
       2023-07-29 15:30:39 +08:00
    这真的不是对照着 Rainbond [官方文档]( https://www.rainbond.com/docs) 写的需求吗😂?

    1. 不用写 dockerfile ,直接提供源代码地址,就能直接打包出镜像运行在 k8s 上,可以参考[文档]( https://www.rainbond.com/docs/use-manual/component-create/language-support/java/java-maven),而且也可以定义 [Procfile]( https://www.rainbond.com/docs/use-manual/component-create/language-support/procfile/)。

    2. 支持[多集群管理]( https://www.rainbond.com/docs/delivery/continuous/multi-env),可以对接公有云、私有云等等。

    3. 既有[OpenAPI]( https://www.rainbond.com/docs/Intro),还有命令行工具[grctl]( https://www.rainbond.com/docs/ops-guide/tools/grctl/)

    4. 开发好的环境可以直接复制一套新的环境,跟 fork 代码一样的体验。可以看看这个 https://www.rainbond.com/docs/delivery/continuous/source-code

    5. 开源地址: https://github.com/goodrain/rainbondhttps://gitee.com/rainbond/Rainbond 。目前 github 4.2k star ,gitee 1.3k 。

    反正我觉得可以试试,[官网地址]( https://www.rainbond.com)。既不需要写 Dockerfile 、也不需要写 Yaml ,以及 CI/CD 的脚本。而且你开发的服务还能发布成一个应用模版,随时随地安装到各个集群,跟手机安装应用一样。甚至于你前期快速体验,都只需要运行一个容器就行,里面会启动一个 k3s ,所有业务都可以运行在容器内的 k3s 上。唯一需要注意的就是如果要用 tcp 策略,得从容器内把对应端口映射到宿主机上。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2876 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 95ms · UTC 11:23 · PVG 19:23 · LAX 03:23 · JFK 06:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.