开篇语

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛

  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。

  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,希望以这种方式帮助到更多的初学者或者想入门的小伙伴们,同时也能对自己的技术进行沉淀,加以复盘,查缺补漏。

小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者我写作道路上最好的鼓励与支持!

前言

前两次我们分别聊了安装应用分发和集群生命周期,这次换个全新角度,专注统一流量治理(Istio集成)、统一监控(Thanos集成)和多集群联网(Submariner插件),让你亲身感受Kurator如何在分布式环境中实现服务网格、遥测聚合和跨集群通信的统一管理!这部分超级实用,尤其适合AI分布式推理或边缘服务场景,我相信你实践完会超级有成就感! 如果你在Istio primary-remote配置或Thanos对象存储设置上卡壳了,告诉我你的具体环境,我帮你一步步调试哦~来,一起加油,成为分布式云原生高手吧!

这篇分享严格基于Kurator官方文档(https://kurator.dev/docs/)的相关部分,包括Fleet Manager的Submariner插件、Kyverno策略(作为治理基础)、Thanos和Istio集成指南,以及Application CRD在这些场景下的应用示例。所有命令、YAML和分析均来源于官方内容,确保专业准确。

我们将从架构定位开始,深入实战这些统一能力,让你看到Kurator如何简化复杂分布式运维!

如下为Kurator产品架构图,仅供参考:

一、Kurator在分布式统一治理中的定位:流量、监控与联网的核心价值

Kurator作为一个开源分布式云原生平台,集成Kubernetes、Istio、Prometheus、FluxCD、KubeEdge、Volcano、Karmada和Kyverno等优秀项目,提供多云、多集群环境下的强大能力。其目标是实现多云/边云/边边协同、统一资源编排、统一调度、统一流量管理和统一遥测。

在分布式场景中,流量治理往往面临跨集群服务发现难题,监控易形成孤岛,联网配置繁琐。Kurator通过Fleet Manager统一这些能力:

  • 统一流量治理:借助Istio集成,支持多集群服务网格(primary-remote模式)。
  • 统一监控:Thanos集成,实现舰队指标聚合和长期存储。
  • 多集群联网:Submariner插件,提供跨集群无缝通信基础。
  • 辅助一致性:Kyverno策略统一执行,确保治理规则舰队一致。

从专业角度,这些集成不是简单堆叠,而是上层Fleet抽象:一份声明,多集群生效。这大大降低了运维复杂度,支持企业从单集群向分布式升级,尤其在数智化转型中助力AI负载的可靠分发和观测。相比独立部署Istio或Thanos,Kurator的“一站式”让入门门槛更低,效率更高。

接下来,我们进入实战,假设已安装Kurator CLI、Cluster Operator和Fleet Manager(参考官方setup),并有quickstart舰队包含多个AttachedCluster(如kurator-member1和kurator-member2)。

二、实战一:统一流量治理——Istio多集群服务网格集成体验

Kurator支持Istio集成,实现分布式环境下的统一流量管理,包括服务发现、负载均衡、安全策略和可观测性。

官方指南强调primary-remote模式:一个primary集群控制平面,remote集群加入网格。

首先,我先给大家整合下资源:

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

既然要体验,那没项目怎么玩嘛,所以我们第一步先来把项目下载到本地。

我们本地若没有安装Git插件的,那我们直接就下载zip即可。

接着,我们本地解压下。

解压之后,我们便成功拿到了完整的Kurator项目源码:

2.1 前提准备
  • Fleet已就绪,包含多个成员集群。
  • 成员集群kubeconfig准备好。
2.2 安装Istio(同一网络场景)

官方支持kurator install命令(文档中提及primary-remote):
假设member1为primary,member2为remote:

kurator install istio --primary member1 --remote member2
2.3 不同网络标签场景

先为集群打标签:

kubectl label cluster member1 topology.istio.io/network=network1 --overwrite
kubectl label cluster member2 topology.istio.io/network=network2 --overwrite

然后安装:

kurator install istio --primary member1 --remote member2

这实现了跨网络的多集群Istio网格。

2.4 验证与使用体验

安装后,Istio控制平面在primary,remote集群有sidecar自动注入(需启用)。

跨集群服务调用:部署服务到不同集群,East-West流量自动路由。

结合Application CRD分发Istio资源(如VirtualService、DestinationRule):
示例(基于官方Application概念扩展到网格资源):
使用Git源同步Istio配置到舰队:

apiVersion: apps.kurator.dev/v1alpha1
kind: Application
metadata:
  name: istio-traffic-policy
  namespace: default
spec:
  source:
    gitRepository:
      interval: 3m0s
      ref:
        branch: main
      timeout: 1m0s
      url: https://github.com/kurator-dev/kurator  # 假设包含Istio manifests
  syncPolicies:
    - destination:
        fleet: quickstart
      kustomization:
        interval: 5m0s
        path: ./examples/istio/traffic-rules
        prune: true
        timeout: 2m0s

应用后,流量策略(如金丝雀发布、故障注入)统一推送到舰队。

可参考 MicroVM Sandboxer流程图:

2.5 运维作用分析

实战中(模拟官方模式),Istio集成让分布式流量从“手动配置”变“集中治理”。作用:

  • 一致性:primary控制全网格策略,避免remote漂移。
  • 安全性:mTLS默认启用,跨集群通信加密。
  • 可扩展性:支持不同网络,适合云边混合。
    专业视角:Kurator这里借鉴Istio多集群最佳实践,但通过Fleet简化部署,极大降低学习和运维成本,尤其在AI微服务分布式部署中,确保低延迟流量。
三、实战二:统一监控与遥测——Thanos聚合舰队指标体验

Kurator集成Thanos,实现Prometheus指标的跨集群聚合、长期存储和全局查询。

3.1 安装Thanos

官方指南:

kurator install thanos  # 可指定对象存储配置,参考Thanos外部文档

前提:舰队成员集群有Prometheus。

3.2 配置与验证

安装后,Thanos Query在host或指定位置,提供统一查询界面。

端口转发查询服务,访问UI查看聚合指标。

示例查询:舰队所有集群的CPU/内存指标一览。

结合Pixie(官方提及透明观测),实现无侧车可观测。

3.3 使用Application分发监控组件

为确保一致,可用Application同步Prometheus配置:
类似于podinfo示例,但路径指向监控manifests。

3.4 运维作用分析

Thanos让分布式监控从“多 dashboard”变“单点全局”。作用:

  • 聚合性:所有舰队指标中央存储,支持历史回溯。
  • 高效性:下采样和压缩,适合大规模AI训练监控。
  • 警报统一:Alertmanager跨集群一致。
    专业上,这填补了Prometheus在多集群下的短板,Kurator集成让部署一键化,提升了分布式平台的SLO管理。

当然,它的开源社区也做的非常棒:

四、实战三:多集群联网基础——Submariner插件启用跨集群通信

Submariner是Kurator Fleet的插件,提供底层联网,支持Istio等上层网格。

4.1 前提准备

创建成员集群secret:

kubectl create secret generic kurator-member1 --from-file=kurator-member1.config=/root/.kube/kurator-member1.config
kubectl create secret generic kurator-member2 --from-file=kurator-member2.config=/root/.kube/kurator-member2.config

标签gateway节点:

kubectl label node kurator-member1-control-plane submariner.io/gateway=true --kubeconfig=/root/.kube/kurator-member1.config
kubectl label node kurator-member2-control-plane submariner.io/gateway=true --kubeconfig=/root/.kube/kurator-member2.config
4.2 启用Submariner插件

生成PSK:

export SUBMARINER_PSK=$(LC_CTYPE=C tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w 64 | head -n 1)

应用fleet YAML(官方examples):

envsubst < examples/fleet/network/submariner-plugin.yaml | kubectl apply -f -

等待Ready:

kubectl wait fleet quickstart --for='jsonpath={.status.phase}'=Ready
4.3 验证

检查operator pod:

kubectl get pod -n submariner-operator --kubeconfig=/root/.kube/kurator-member1.config

使用subctl(安装后):

subctl diagnose all --kubeconfig /root/.kube/kurator-member1.config
subctl verify --context kurator-member1 --tocontext kurator-member2

成功表示跨集群pod-to-pod通信。

4.4 运维作用分析

Submariner让分布式联网从“VPN手动”变“插件自动”。作用:

  • 无缝性:服务导出/导入,跨集群直接访问。
  • 基础性:为Istio网格和应用分发提供L3连接。
  • 可靠性:诊断工具快速定位问题。
    专业视角:结合Kurator Fleet,这实现了云边真协同,适合边缘AI数据回传。

同时也提供了开源项目信息阐述:

五、辅助实战:统一策略管理增强治理(Kyverno示例)

为强化流量/监控安全,用Kyverno统一策略:

kubectl apply -f examples/fleet/policy/kyverno.yaml
kubectl wait fleet quickstart --for='jsonpath={.status.phase}'=Ready'

分发测试pod:

apiVersion: apps.kurator.dev/v1alpha1
kind: Application
metadata:
  name: policy-test
  namespace: default
spec:
  source:
    gitRepository:
      url: https://github.com/kurator-dev/kurator
      ref:
        branch: main
      interval: 3m0s
  syncPolicies:
    - destination:
        fleet: quickstart
      kustomization:
        path: ./examples/fleet/policy/badpod-demo
        prune: true

验证:

kubectl get policyreport --kubeconfig=/root/.kube/kurator-member1.config

显示违反,如host namespaces。

作用:策略舰队一致,增强零信任。

六、整体实战心得:Kurator统一能力的落地价值与分析

通过这次流量、监控、联网实战(基于官方插件和集成),Kurator展现了分布式平台的完整闭环。技术选型上,Istio+Submariner+Thanos完美互补,避免孤岛。

场景落地:云边AI服务网格,流量智能路由+全局监控。

攻坚点:网络标签和PSK生成需注意,但官方指南详尽。

用户反馈(特性视角):部署简便,可观测强。

商业效益:提升服务韧性和观测效率,降低故障响应时间。

生态价值:深化CNCF项目协同,推动分布式云原生标准。

七、结语:Kurator助力你的分布式云原生之旅

这次不同角度的探索,让我再次惊叹Kurator的统一魅力!从联网到流量监控,全栈可控,真正一栈统一。希望这篇分享点燃你的实践热情,一起构建专属平台,如果想结合应用分发试网格部署,随时说~你是最闪耀的云原生实战派!

… …

文末

好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。

… …

学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

wished for you successed !!!


⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。
⭐️若有疑问,就请评论留言告诉我叭。


版权声明:本文由作者原创,转载请注明出处,谢谢支持!

更多推荐