kustomize-controller是Flux(CNCF毕业项目)的核心组件,专为Kubernetes集群设计,用于实现GitOps工作流中的Kustomize资源自动化管理。该控制器通过监控Git仓库或其他配置源中的Kustomize清单,自动同步、部署和维护Kubernetes资源,确保集群运行状态与声明式配置保持一致,是实现配置即代码(Configuration as Code)和持续部署的关键工具。
kustomize-controller通常作为Flux组件集的一部分部署在Kubernetes集群中,推荐通过Flux CLI快速安装:
bash# 安装Flux(包含kustomize-controller及其他核心组件) flux install
如需独立部署(用于开发或测试),可通过容器运行(假设镜像名为fluxcd/kustomize-controller:v1.1.0):
bashdocker run -d \ --name kustomize-controller \ -e KUBECONFIG=/etc/kubeconfig \ -e LOG_LEVEL=info \ -v /path/to/your/kubeconfig:/etc/kubeconfig \ fluxcd/kustomize-controller:v1.1.0
kustomize-controller通过Kubernetes自定义资源Kustomization进行配置,关键参数说明如下:
| 参数路径 | 说明 | 示例值 |
|---|---|---|
spec.sourceRef | 配置源引用(通常为GitRepository或Bucket资源) | {kind: GitRepository, name: app-repo} |
spec.path | 配置源中Kustomize清单的相对路径 | ./kustomize/prod |
spec.interval | 配置同步间隔(支持m/h单位) | 5m(每5分钟同步一次) |
spec.prune | 是否自动删除集群中不存在于配置源的资源 | true |
spec.healthChecks | 资源健康检查规则列表(支持Deployment、StatefulSet等类型) | [{apiVersion: apps/v1, kind: Deployment, name: app}] |
spec.timeout | 部署超时时间 | 3m |
以下是一个典型的Kustomization资源配置,用于同步Git仓库中的生产环境配置:
yamlapiVersion: kustomize.toolkit.fluxcd.io/v1beta2 kind: Kustomization metadata: name: prod-app namespace: flux-system spec: sourceRef: kind: GitRepository name: app-config-repo # 指向已配置的Git仓库源 path: ./kustomize/prod # Git仓库中生产环境Kustomize清单路径 interval: 10m # 每10分钟检查一次配置变更 prune: true # 自动删除Git中已移除的资源 healthChecks: # 检查应用Deployment健康状态 - apiVersion: apps/v1 kind: Deployment name: app-server namespace: prod timeout: 5m # 部署超时时间5分钟
部署后可通过kubectl查看控制器状态及资源同步情况:
bash# 查看kustomize-controller日志 kubectl logs -n flux-system deploy/kustomize-controller -f # 检查Kustomization资源状态 kubectl get kustomizations.kustomize.toolkit.fluxcd.io -n flux-system
source-controller已部署并正常运行,否则无法获取Git仓库中的配置源。15m)并调整控制器CPU/内存资源限制。来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429