如何覆盖Kubernetes中已应用的外部YAML文件?
覆盖Kubemq外部部署YAML的自定义配置方法
以下是几种实用的方式来覆盖外部YAML的配置,按需选择即可:
1. 下载YAML本地修改后重新应用
适合需要批量修改多个字段的场景:
- 先将外部YAML文件下载到本地:
curl -O https://deploy.kubemq.io/community - 用文本编辑器(如
vim、VS Code)打开下载后的community文件,直接修改空字段或需要自定义的配置项,比如资源配额、环境变量、持久化卷声明等。 - 修改完成后,应用本地文件:
kubectl apply -f community
2. 使用kubectl patch或set命令动态修改
适合仅需调整个别字段的快速场景:
- 先执行官方命令完成基础部署:
kubectl apply -f https://deploy.kubemq.io/community - 用
kubectl patch修改结构化字段,比如调整Deployment的副本数:kubectl patch deployment kubemq -n kubemq --patch '{"spec":{"replicas":3}}' - 用
kubectl set修改环境变量、资源等简单字段,比如调整日志级别:kubectl set env deployment/kubemq -n kubemq KUBEMQ_LOG_LEVEL=debug
3. 使用Kustomize实现配置叠加
适合需要版本化管理自定义配置、且保留原YAML更新能力的场景:
- 在本地创建
kustomization.yaml文件,内容示例如下:apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - https://deploy.kubemq.io/community patches: - patch: |- apiVersion: apps/v1 kind: Deployment metadata: name: kubemq namespace: kubemq spec: replicas: 3 template: spec: containers: - name: kubemq resources: limits: cpu: "1" memory: "1Gi" requests: cpu: "0.5" memory: "512Mi" - 执行命令应用叠加后的配置:
kubectl apply -k .
内容的提问来源于stack exchange,提问作者John Winston
相关产品推荐
相关产品推荐

