dayeye2006199

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

  •  1
     
  •   dayeye2006199 · Oct 26, 2022 · 3924 views
    This topic created in 1335 days ago, the information mentioned may be changed or developed.
    小公司,没有专门的运维. 现在的流程是程序员自己负责写 Dockerfile + YAML + Kustomize 然后部署到 k8s 上面.
    但是这个工作量不小. 希望能够提供一个类似 heroku 的部署体验, 对主流的 web 框架,只需要程序员写个 Procfile 和配置环境变量,然后推送 repo 就可以了. 有什么开箱即用的轮子吗?
    几个要求:

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

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

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

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

    实在想省,自己写脚本,用环境变量+模板吧,我手写过一个 k8s 全部应用和依赖的部署脚本,也用不了一个小时
    jtwor
        9
    jtwor  
       Oct 26, 2022
    kubesphere
    konakona
        10
    konakona  
       Oct 26, 2022
    如果不依赖云厂商(阿里云、腾讯云、联通云这些)的话,你需要有一个 DevOps 团队来承担维护的工作,以启用你所述的方案,这才是实实在在的。
    你的想法更像是仅使用原生 Kubernetes 的能力,来承载 Paas 。
    那么你需要学习 CICD ,并实现自己的 Helm Repo 做软件的脚手架启动,再建立 Harbor 来运行程序镜像。
    而维护和撰写 Dockerfile 是一个永恒不变的话题。
    gtx990
        11
    gtx990  
       Oct 26, 2022 via Android
    cdk8s
    zergmk2
        12
    zergmk2  
       Oct 26, 2022
    argo cd
    dnsjia
        13
    dnsjia  
       Oct 26, 2022
    zhujq
        14
    zhujq  
       Oct 27, 2022
    kubevela
    Catkinni
        15
    Catkinni  
       Jul 29, 2023
    这真的不是对照着 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 策略,得从容器内把对应端口映射到宿主机上。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   971 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 23:26 · PVG 07:26 · LAX 16:26 · JFK 19:26
    ♥ Do have faith in what you're doing.