网站首页 > 博客文章 正文
目录结构如下:
.
├── argo-cd-app
│ └── argo-cd-app.yaml
├── base
│ ├── backend
│ │ ├── kustomization.yaml
│ │ ├── patch_common_env.yaml
│ │ └── patch-remove-service.yaml
│ ├── common
│ │ ├── configmap.yaml
│ │ ├── deployment-template.yaml
│ │ ├── envname.properties
│ │ ├── imagetag.properties
│ │ ├── ingress-template.yaml
│ │ ├── kustomization.yaml
│ │ ├── replicas.properties
│ │ ├── rollout-bluegreen-template.yaml
│ │ ├── rollout-canary-template.yaml
│ │ ├── servicename.properties
│ │ └── service-template.yaml
│ └── frontend
│ ├── kustomization.yaml
│ └── patch_common_env.yaml
├── generate_yaml.py
├── kustomization_template.j2
└── overlays
├── dev
│ ├── backend
│ │ ├── backend-service
│ │ │ └── kustomization.yaml
│ │ ├── cesp-oauth-iam-steve
│ │ │ └── kustomization.yaml
│ │ ├── kustomization.yaml
│ │ └── rollouts
│ ├── frontend
│ │ ├── kustomization.yaml
│ │ └── rollouts
│ │ └── kustomization.yaml
│ └── kustomization.yaml
├── prod
│ ├── backend
│ ├── frontend
│ └── kustomization.yaml
└── test
├── backend
├── frontend
├── kustomization.yaml
└── rollouts
上面主要的目录注释如下:
- 修改 base/ 中的通用配置
- 在 overlays/ 特定环境中调整差异化配置
- 使用 generate_yaml.py 生成最终kustomize 对应服务名称的配置
- 通过 Argo CD 同步应用到集群
常见操作如下:
1.配置基本的资源应用使用resources案例如下:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment-template.yaml
- ingress-template.yaml
- rollout-bluegreen-template.yaml
- service-template.yaml
- rollout-canary-template.yaml
2.使用configMapGenerator 生成对应的configmap
通过configmap传入对应的参数 如版本号服务名称等
configMapGenerator:
- files:
- SERVICE_NAME=../common/servicename.properties
- IMAGE_TAG=../common/imagetag.properties
- ENV_NAME=../common/envname.properties
- REPLICAS=../common/replicas.properties
name: common-config
使用replaments进行替换
replacements:
- source:
fieldPath: data.SERVICE_NAME
kind: ConfigMap
name: common-config
targets:
- fieldPaths:
- spec.rules.0.host
- spec.rules.0.http.paths.0.backend.serviceName
- metadata.name
select:
kind: Ingress
- fieldPaths:
- spec.selector.matchLabels.efssc-service
- spec.template.metadata.labels.efssc-service
select:
kind: Deployment
3.使用一些简单的标签添加修改以及名称添加
generatorOptions:
disableNameSuffixHash: true #禁止使用随机码名称
namePrefix: backend- 名称添加前缀
nameSuffix: -wade #名称添加后缀
#使用patches修改对应资源的数值
patches:
- path: patch_common_env.yaml
target:
kind: Deployment
- patch: |-
- op: replace
path: /spec/template/spec/containers/0/image
value: harbor.assistfc.com/middleware/prod-backend:v1.0.0
- op: replace
path: /metadata/name
value: prod-backend-service
target:
kind: Deployment
- path: patch-remove-service.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-service
spec:
template:
spec:
containers:
- name: test-service
env:
- name: FOSUN_API_URL
value: "https://api.fosun.com"
- name: FOSUN_API_KEY
value: "your-api-key"
- name: FOSUN_API_SECRET
value: "your-api-secret"
相关命令的用法
kustomize build --load_restrictor=none . 这里跳过扩目录的安全监测进行执行即可更详细的使用见官网(
https://kubectl.docs.kubernetes.io/guides/config_management/apply/)
猜你喜欢
- 2025-05-25 SpringBoot注解终极宝典,这80+注解让你的开发效率飙升!
- 2025-05-25 用配置作为代码设置 Jenkins 实例(使用 Yaml 配置)
- 2025-05-25 Spring Cloud Alibaba Nacos Config 是如何读取配置的?
- 2025-05-25 Nacos 统一配置中心动态刷新机制真香
- 2025-05-25 Nacos:简单易用的配置管理和服务发现注册中心
你 发表评论:
欢迎- 07-08Google Cloud Platform 加入支持 Docker 的容器引擎
- 07-08日本KDDI与Google Cloud 签署合作备忘录,共探AI未来
- 07-08美国Infoblox与Google Cloud合作推出云原生网络和安全解决方案
- 07-08GoogleCloud为Spanner数据库引入HDD层,将冷存储成本降低80%
- 07-08谷歌推出Cloud Dataproc,缩短集群启动时间
- 07-08Infovista与Google Cloud携手推进射频网络规划革新
- 07-08比利时Odoo与Google Cloud建立增强合作,扩大全球影响力
- 07-08BT 和 Google Cloud 通过 Global Fabric 加速 AI 网络
- 最近发表
-
- Google Cloud Platform 加入支持 Docker 的容器引擎
- 日本KDDI与Google Cloud 签署合作备忘录,共探AI未来
- 美国Infoblox与Google Cloud合作推出云原生网络和安全解决方案
- GoogleCloud为Spanner数据库引入HDD层,将冷存储成本降低80%
- 谷歌推出Cloud Dataproc,缩短集群启动时间
- Infovista与Google Cloud携手推进射频网络规划革新
- 比利时Odoo与Google Cloud建立增强合作,扩大全球影响力
- BT 和 Google Cloud 通过 Global Fabric 加速 AI 网络
- NCSA和Google Cloud合作开发AI驱动的网络防御系统,加强泰国网络空间的安全性
- SAP将在沙特阿拉伯 Google Cloud 上推出BTP服务
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)