网站首页 > 文章精选 正文
目录结构如下:
.
├── 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-07-09 五分钟轻松熟悉一个k8s Operator应用制作
- 2025-07-09 iLogtail 使用入门 - K8S 环境日志采集到 SLS
- 2025-07-09 k8s之配置CNI网络(k8s 网络配置)
- 2025-07-09 Linux系统K8S集群架构及常用操作命令之K9S安装及使用
- 2025-07-09 Centos 安装部署Kubernetes(K8s)(k8s环境搭建 centos)
- 2025-07-09 集群外部署Prometheus+Grafana监控K8S解析
- 2025-07-09 k8s安装UI管理工具Kuboard安装(k8s安装步骤)
- 2025-07-09 k8s中使用Helm安装生产级别redis集群
- 2025-07-09 K8s集群(K8s集群添加新节点更新步骤)
- 2025-07-09 Kubernetes (k8s) 基本命令速查(k8s kubernetes教程)
- 最近发表
-
- 五分钟轻松熟悉一个k8s Operator应用制作
- iLogtail 使用入门 - K8S 环境日志采集到 SLS
- k8s之配置CNI网络(k8s 网络配置)
- Linux系统K8S集群架构及常用操作命令之K9S安装及使用
- Centos 安装部署Kubernetes(K8s)(k8s环境搭建 centos)
- 集群外部署Prometheus+Grafana监控K8S解析
- k8s安装UI管理工具Kuboard安装(k8s安装步骤)
- k8s中使用Helm安装生产级别redis集群
- K8s集群(K8s集群添加新节点更新步骤)
- Kubernetes (k8s) 基本命令速查(k8s kubernetes教程)
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)