• 陈敏
    2023-03-12 来自福建
    老师,如果我们用变量替换各环境 Manifest 里的差异配置,并在部署的时候根据部署参数使用 sed -s 替换为各环境对应的配置,这种做法您看怎么样呢?

    作者回复: 是一种方案。不过这样的话就失去了声明式应用定义优势了,正常情况下,Manifest 定义的应用就是最终的状态描述。

    
    2
  • ghostwritten
    2023-02-02 来自北京
    如果是单纯、轻量的项目拉取、构建、推送、部署管理,用kustomize管理较好,如果项目包含代码、Docs、API说明、项目部署文件等等,kustomize 感觉更增加复杂混乱了,用分支感觉好。老师你觉得呢?

    作者回复: 我个人的意见是简单应用可以使用 Kustomize,复杂应用可以考虑用 Helm,但不推荐以分支的模型来管理应用,首先是多分支会导致分叉,后期很难相互 rebase。其次随着时间推移,分支差异往往会越来越大,不同的环境差异也越来越大。

    
    1
  • 橙汁
    2023-01-28 来自北京
    “这三个环境部署的应用都是同一套,但在配置上所有不同。” 感觉应该是有所不同吧 另外想了下,helm和kustomize的区别 helm偏应用,deployment svc ingress hpa这四部分安装应用差异化通过单独value.yaml文件,有时需在通用yaml中进行大量判断,后续进行更改较复杂,可读性差 kustomize偏项目,适用于一个应用的整体 包含数据库应用等更加全面,差异化是两个文件的不同之处进行对比,无需在基准yaml中进行大量判断,后续好维护 学完各位可以在简历上加上,“熟悉使用helm和kustomize进行项目改造和快速部署”

    作者回复: 感谢指正。 很好的差异分析,的确如此。如果是复杂应用的话还是可以考虑 Helm 来封装。

    共 3 条评论
    1
  • 一位不愿透露姓名的王...
    2023-01-30 来自福建
    用目录区分环境跟用分支区分环境哪种好?

    作者回复: 从我的经验来看目录区比分支的管理成本更低,也更清晰。

    
    
  • 无名无姓
    2023-01-23 来自北京
    环境的工具么?

    作者回复: 可以用来管理环境。

    
    
  • m1k3
    2023-01-28 来自广东
    第一:kustomize文件配置 apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization bases: - ../../base - database.yaml patchesStrategicMerge: - hpa.yaml - deployment.yaml 第二:deployment配置 apiVersion: apps/v1 kind: Deployment metadata: name: backend spec: template: spec: containers: - name: flask-backend image: lyzhang1999/backend:v1.2.3 --- apiVersion: apps/v1 kind: Deployment metadata: name: frontend spec: template: spec: containers: - name: react-frontend image: lyzhang1999/frontend:v1.2.3
    
    