news 2026/4/18 11:00:46

【探索实战】基于Kubernetes部署Kurator

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【探索实战】基于Kubernetes部署Kurator

👨‍🎓博主简介

🏅CSDN博客专家
🏅云计算领域优质创作者
🏅华为云开发者社区专家博主
🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗


文章目录

  • 一、Kurator是什么?
    • 1.1 诞生背景
    • 1.2 顶层抽象
  • 二、Kurator 和 Kubernetes 的关系
    • 2.1 不是替代,而是“叠加”
    • 2.2 版本对应表
    • 2.3 部署拓扑
  • 三、Kurator 部署
    • 3.1 环境前置检查
    • 3.2 下载安装 Kurator CLI
    • 3.3 下载安装 cert-manager
    • 3.4 下载安装 helm
      • 3.4.1 启用命令补全
      • 3.4.2 仓库管理(Chart 来源配置)
    • 3.5 使用 Helm 安装 cluster-operator
    • 3.6 使用 Helm 安装 FluxCD
    • 3.7 使用 Helm 安装 Minio
  • 四、小结与展望

一、Kurator是什么?

1.1 诞生背景

2022 年华为云将内部“分布式云原生基础设施”能力开源,取名Kurator(Kubernetes + Curator)。它要解决的核心痛点是:

  • 企业手里有多朵云、多种边缘、多套 K8s,但缺乏“一朵控制面”统一生命周期、应用、流量、观测、策略。
  • 传统多云方案(KubeFed、KubeSphere、Rancher)要么只聚焦“多集群应用”,要么需要重量级商业组件,而 Kurator 选择“100 % 社区开源 + 纯云原生技术栈”,用 Cluster API + GitOps + Istio + Prometheus 等组合出“舰队级”治理能力。

1.2 顶层抽象

Kurator 把“集群”降维成一条 CR:Cluster.kurator.dev;把“跨集群资源”抽象成Fleet.kurator.dev
用户只需要声明“我要 3 个 1.26 集群、5 副本 nginx、跨集群金丝雀”,Kurator 控制器就会:

  1. 调用 Cluster API 在 AWS/VMware/裸机创建/升级/删除集群;
  2. 通过 FluxCD 把 Git 仓库渲染成多集群 HelmRelease;
  3. 通过 Istio east-west gateway 做跨集群负载均衡;
  4. 通过 Prometheus+Thanos 侧车把指标汇聚到中心 Bucket;
  5. 通过 Kyverno 做跨集群策略审计。

一句话总结:Kurator是“以 K8s 方式管理 K8s 舰队”的 K8s 原生操作系统。

二、Kurator 和 Kubernetes 的关系

2.1 不是替代,而是“叠加”

Kurator 不会替换kube-apiserverkubelet等任何原生组件,它只做三件事:

  1. 把“集群”当做自定义资源管理(Cluster API 范式);
  2. 把“跨集群交付”当做 GitOps 管道(FluxCD 范式);
  3. 把“跨集群观测/策略”当做联邦式数据面(Prometheus/Kyverno 范式)。

2.2 版本对应表

Kurator 版本管理集群 K8s被管集群 K8s备注
v0.6.x1.24–1.291.20–1.29官方 CI 用 1.29[^54]
v0.5.x1.22–1.271.20–1.27边缘场景大量采用
v0.4.x1.20–1.251.20–1.25已停止维护

⚠️ 注意:管理集群版本必须 ≥ 工作集群版本 –2 个小版本,否则 CRD 字段兼容会报错。

2.3 部署拓扑

“管理集群”可以复用业务集群,也可以单独再起一套。生产建议独立,原因:

  • Kurator 控制器需要 list-watch 大量集群,对 etcd 压力敏感;
  • 升级 Kurator 不会影响到业务集群的 kube-system;
  • 网络隔离(Kurator 需要 SSH/6443 直通被管节点)。

本文为了节省机器,直接把 Kurator 装在同一套 1.20.10 集群上,同时演示“自纳管”场景。

三、Kurator 部署

基于kubernetes 1.20.10版本二进制部署

3.1 环境前置检查

节点操作系统CPU内存磁盘角色
k8s-masterCentOS 7.98C16G100Gkube-apiserver + Kurator 控制面
k8s-node1CentOS 7.98C16G100Gworker + 被纳管
k8s-node2CentOS 7.98C16G100Gworker + 被纳管

注意事项:

  • 需提前关闭所有节点的firewalldselinux;
# 禁止防火墙开机自启,关闭防火墙systemctl disable firewalld&&systemctl stop firewalld# 永久关闭selinuxvim/etc/selinux/config## 吧selinux=改为disabledSELINUX=disabled

  • 提前安装kubernetsdockercfssl

二进制部署kubernetesdockercfssl可参考:https://blog.csdn.net/liu_chen_yang/article/details/151709127

3.2 下载安装 Kurator CLI

# 拉取kurator源码wgethttps://github.com/kurator-dev/kurator/releases/download/v0.6.0/kurator-0.6.0-linux-amd64.tar.gz## 下载不下来也可以通过加速等直接访问下载,并上传到服务器上# 上传到服务器上解压tarxf kurator-0.6.0-linux-amd64.tar.gz# 将解压出来的命令移动到/usr/local/bin/目录mvkurator /usr/local/bin/# 验证安装kurator version

3.3 下载安装 cert-manager

  • 下载cert-manager

安装地址:https://github.com/cert-manager/cert-manager/releases
根据自己k8s集群版本找到对应版本下载,这里我是1.20.10版本,所以可以直接下载1.19.0版本;

wgethttps://github.com/cert-manager/cert-manager/releases/download/v1.19.0/cert-manager.yaml
  • 安装cert-manager
# 下载好之后直接运行kubectl apply -f cert-manager.yaml# 验证(状态都为1/1即可)kubectl get pods -n cert-manager

3.4 下载安装 helm

  • 下载helm

访问地址:https://github.com/helm/helm/releases
根据k8s集群版本来下载对应的版本即可;我这里是1.20.1版本,可以下载helm的3.19.0版本;

wgethttps://get.helm.sh/helm-v3.19.0-linux-amd64.tar.gz
  • 安装helm
# 解压下载的安装包tarxf helm-v3.19.0-linux-amd64.tar.gz# 将命令直接移动到/usr/local/bin/下可执行mvlinux-amd64/helm /usr/local/bin/# 验证helm version

3.4.1 启用命令补全

source<(helm completionbash)

3.4.2 仓库管理(Chart 来源配置)

# 1. 添加常用公开仓库helm repoaddbitnami https://charts.bitnami.com/bitnami# 常用应用仓库helm repoaddstable http://mirror.azure.cn/kubernetes/charts# 稳定版仓库helm repoaddaliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts# 阿里云仓库helm repoaddincubator https://charts.helm.sh/incubator# 孵化版仓库# 2. 更新仓库索引(获取最新 Chart 列表)helm repo update# 3. 查看已添加仓库helm repo list# 4. 搜索仓库中的 Chart(如搜索 stable 仓库的 Chart)helm search repo stable# 5. 删除无用仓库(如删除 incubator)helm repo remove incubator

3.5 使用 Helm 安装 cluster-operator

  • 下载cluster-operator集群操作员
curl-LO https://github.com/kurator-dev/kurator/releases/download/v0.6.0/cluster-operator-0.6.0.tgz
  • 安装集群操作员到管理集群中
# 安装helminstall--create-namespace kurator-cluster-operator cluster-operator-0.6.0.tgz -n kurator-system# 查看pod(状态为1/1即成功)kubectl get pod -l app.kubernetes.io/name=kurator-cluster-operator -n kurator-system

如图,代表安装成功;

如果需要清理,可使用命令进行清理:helm uninstall kurator-cluster-operator -n kurator-system

3.6 使用 Helm 安装 FluxCD

舰队管理器依赖于Fluxcd,Kurator 使用来自 Fluxcd 社区的 Helm Chart,更多详情可以找到。

helm repoaddfluxcd-community https://fluxcd-community.github.io/helm-chartscat<<EOF|helminstallfluxcd fluxcd-community/flux2 --version2.7.0 -n fluxcd-system --create-namespace -f -imageAutomationController: create: false imageReflectionController: create: false notificationController: create: false EOF

执行回车之后会卡到这块,那是因为在进行下载解包等操作

  • 验证

所有pod的状态都为1/1则正常,如果不是可使用命令查看卡到哪了:kubectl describe pods -n fluxcd-system pod名称

kubectl get pods -n fluxcd-system

3.7 使用 Helm 安装 Minio

cat<<EOF|helminstallminio oci://registry-1.docker.io/bitnamicharts/minio -n monitoring --create-namespace -f -auth: rootPassword: minio123 rootUser: minio defaultBuckets: thanos,velero accessKey: password: minio secretKey: password: minio123 service: type: LoadBalancer EOF

执行回车之后会卡到这块,那是因为在进行下载解包等操作

  • 验证

所有pod的状态都为1/1则正常,如果不是可使用命令查看卡到哪了:kubectl describe pods -n monitoring pod名称

kubectl get pods -n monitoring

四、小结与展望

在“零 Helm、零外网、二进制 1.20.10”这种极端受限场景下,Kurator 依然可以通过“先源码编译、再拆包 YAML、最后自纳管”的路径跑通完整功能。对个人而言,最大的收获是:

  1. 真正体会到“把集群当资源”的声明式爽点——一条 YAML 就能让 3 台裸机瞬间拥有“舰队级”治理体感;
  2. GitOps 统一交付极大降低了“多环境漂移”风险,以前用 Ansible 需要 200 行 playbook,现在 20 行 YAML 搞定;
  3. 统一监控+策略让“事后救火”变成“事前拦截”,上线两周已拦截 3 起无资源限制的“炸弹镜像”。

下一步计划:

  • 通过使用kurator批量管理kubernetes;
  • 把边缘 K3s 节点通过 KubeEdge 纳入同一 Fleet,验证“中心云+边缘云”混部;
  • 基于 Kurator 的 ClusterClass 做“一键 day-2 升级”,把 1.20.10 滚动到 1.26,实现“不带业务中断”的跨版本迁移;

如果你也在为多集群运维头疼,不妨给自己的老集群一次“舰长”机会——Kurator 不会让你失望。

Kurator 分布式云原生开源社区地址:https://gitcode.com/kurator-dev
Kurator 分布式云原生项目部署指南:https://kurator.dev/docs/setup/

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/11 16:23:31

Awesome Selfhosted:终极自托管工具大全指南

Awesome Selfhosted&#xff1a;终极自托管工具大全指南 【免费下载链接】awesome-selfhosted 一份可在您自己的服务器上托管的自由软件网络服务和Web应用程序的清单。 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-selfhosted 想要完全掌控自己的数字生活…

作者头像 李华
网站建设 2026/4/18 8:02:24

如何快速掌握DiskSpd:Windows存储性能测试的完整指南

如何快速掌握DiskSpd&#xff1a;Windows存储性能测试的完整指南 【免费下载链接】diskspd DISKSPD is a storage load generator / performance test tool from the Windows/Windows Server and Cloud Server Infrastructure Engineering teams 项目地址: https://gitcode.c…

作者头像 李华
网站建设 2026/4/18 8:33:28

如何实现全栈云资源的统一智能管理?

在数字化转型的浪潮中&#xff0c;企业普遍采用了多种云环境——从公有云到私有云&#xff0c;从容器集群到虚拟化平台。然而&#xff0c;这些异构资源往往各自为政&#xff0c;形成一个个“资源孤岛”。运维团队需要切换多个控制台&#xff0c;安全策略难以统一执行&#xff0…

作者头像 李华
网站建设 2026/4/18 9:07:20

构建企业级终端共享平台:xterm.js与WebRTC深度融合架构实践

构建企业级终端共享平台&#xff1a;xterm.js与WebRTC深度融合架构实践 【免费下载链接】xterm.js 项目地址: https://gitcode.com/gh_mirrors/xte/xterm.js 在数字化转型浪潮中&#xff0c;远程终端协作已成为企业运维、在线教育和协同开发的核心需求。传统方案如SSH隧…

作者头像 李华
网站建设 2026/4/18 9:07:21

shadPS4模拟器实战指南:在电脑上畅玩PS4游戏的完整方案

还在为无法在电脑上体验PS4独占游戏而遗憾吗&#xff1f;shadPS4这款免费开源的跨平台模拟器将彻底改变你的游戏方式。作为目前最活跃的PS4模拟器项目&#xff0c;它让Windows、Linux和macOS用户都能在个人电脑上享受海量PS4游戏带来的乐趣。 【免费下载链接】shadPS4 PS4 emul…

作者头像 李华
网站建设 2026/4/18 9:44:57

SeedVR视频修复革命:让模糊记忆重获新生

SeedVR视频修复革命&#xff1a;让模糊记忆重获新生 【免费下载链接】SeedVR-7B 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed/SeedVR-7B 那些尘封在硬盘深处的老视频&#xff0c;是否曾让你感到惋惜&#xff1f;婚礼录像的模糊身影&#xff0c;家庭聚…

作者头像 李华