MSE Nacos Controller:为 Kubernetes 生态构建配置管理与服务发现的桥梁
以 Higress 为例,当其结合 Nacos 作为 MCP 注册中心时,可高效地将 REST API 自动转换为 MCP 服务。然而,对于已运行在 Kubernetes 上的微服务应用而言,亟需一种机制,能够将其服务快速、自动地注册到 Nacos 中,从而无缝接入 MCP 协议转换体系。
作者:正己
背景
在企业加速推进数字化转型的今天,大多数组织正面临一个共同的挑战:如何在从传统基础设施向云原生架构迁移的过程中,保障业务连续性、配置一致性以及服务间的高效互通。这种转型通常并非一蹴而就,而是渐进式的演进过程。在此期间,企业往往需要同时维护多套异构的基础设施——既有运行在虚拟机或物理机上的传统微服务,也有部署在 Kubernetes 中的云原生应用。这不仅导致配置管理分散,也使得服务注册与发现机制割裂:传统系统依赖如 Nacos、Eureka 等注册中心实现服务治理,而 Kubernetes 原生则通过 DNS 和 Service 机制进行服务定位,两者互不相通。
这种架构上的不统一,带来了服务调用链路断裂、跨环境发现困难、配置协同复杂等问题,严重影响系统的稳定性与迭代效率。因此,构建一个跨平台的统一配置管理、服务注册与发现机制,实现传统微服务与云原生服务之间的无缝对接,已成为企业平滑演进至云原生时代的关键需求。
与此同时,在 AI 技术迅猛发展的背景下,越来越多的应用需要将 REST API 转换为 MCP(Model Context Protocol)服务,以支持 AI Agent 的调用需求。这类协议转换功能通常由网关类产品实现,例如 Higress。而要完成这一转换,关键在于有一个统一的服务注册与发现机制作为支撑。
以 Higress 为例,当其结合 Nacos 作为 MCP 注册中心时,可高效地将 REST API 自动转换为 MCP 服务。然而,对于已运行在 Kubernetes 上的微服务应用而言,亟需一种机制,能够将其服务快速、自动地注册到 Nacos 中,从而无缝接入 MCP 协议转换体系。
上述趋势带来了三大核心问题:
-
异构架构下的配置如何统一管理?
—— 如何实现 Kubernetes ConfigMap 与 Nacos 配置的协同治理? -
异构架构下的服务如何统一注册与发现?
—— 如何打通 Kubernetes Service 与传统微服务之间的调用壁垒? -
存量 Kubernetes 服务如何快速接入 MCP 网关?
—— 如何实现服务自动注册,支撑 AI 场景下的协议转换?
Nacos-Controller 带来的新价值
MSE Nacos Controller 的推出,正是为了解决上述痛点,构建起 Kubernetes 与 Nacos 之间的桥梁,实现配置与服务的双向同步,助力企业构建统一的云原生治理平台。
一、构建异构架构下的统一配置管理平台
Nacos Controller 充当配置同步引擎,实现实时双向同步 Kubernetes ConfigMap 与 Nacos 配置:
- 将 Kubernetes 中的 ConfigMap 自动同步至 Nacos,由 Nacos 统一管理;
- 支持从 Nacos 控制台反向修改配置,变更自动同步回 Kubernetes 集群;
- 用户无需频繁切换控制台,降低误操作风险,提升运维效率;
- 充分利用 Nacos 提供的高级配置能力,如:
- 配置灰度发布
- 配置版本管理
- 配置加密存储
- 动态推送机制
二、打造服务互通的服务注册与发现中心
通过 Nacos Controller,Kubernetes 中的 Service 可被自动注册到 Nacos 注册中心,实现跨环境、跨架构的服务互通:
- 支持 Kubernetes 微服务、传统 IDC 虚拟机/物理机服务、多集群服务统一注册;
- 应用可通过 Nacos 发现并调用任意位置的服务提供者;
- 实现跨平台服务调用的无缝集成,提升系统整体灵活性与可扩展性。
典型架构示意图如下:
三、成为 AI 场景下 MCP 协议转换的关键桥梁
在 AI 应用场景中,Higress 等 MCP 网关依赖 Nacos 作为服务注册源,动态感知 REST API 并转换为 MCP 服务。Nacos Controller 正是连接 Kubernetes 与 MCP 生态的关键组件:
- 将 Kubernetes 中的 Service 实时同步至 Nacos;
- Higress 从 Nacos 订阅服务列表,自动识别 REST 接口并生成对应的 MCP 服务;
- AI Agent 可通过标准 MCP 协议调用后端服务,无需关心底层实现细节。
操作实践
1. 购买 MSE Nacos 实例
方式一:未开通 MSE 集群托管服务
- 进入 MSE 产品页,点击【立即购买】;
- 选择【注册配置中心】页签;
- 根据业务需求选择商品类型、地域、规格等参数;
- 完成支付并创建实例。
方式二:已开通 MSE 集群托管服务
- 登录 MSE 管理控制台;
- 左侧导航栏选择【注册配置中心 > 实例列表】;
- 点击【创建实例】,填写相关信息后提交。
详细操作指南:创建 MSE Nacos 实例【1】
2. 创建 Secret ,保存 Nacos 用户名密码(可选)
Nacos 引擎版本 3.0 及以上,运维接口默认开启了鉴权,默认使用用户名密码鉴权。因此,需要首先创建 Secret 保存 Nacos 用户名密码,可通过 ACK/ACS 控制台或命令行创建。这里以命令行创建为例,需要注意的是用户名密码需要经 base64 编码。
apiVersion: v1
kind: Secret
metadata:
name: nacos-auth
data:
username: <base64 your-nacos-username>
password: <base64 your-nacos-password>
使用命令部署:
kubectl apply -f nacos-auth-secret.yaml -n <namespace>
3. 开启 ACK/ACS RRSA 功能,创建 RAM 角色,并授予相关权限(可选)
若启用阿里云 RAM 鉴权,需配置 OIDC 支持的 RRSA(Role-based Service Account):
- 在 ACK/ACS 控制台开启容器 RRSA 功能,相关操作细节参考:开启容器RRSA功能并授权【2】。
- 创建 RAM 角色,配置信任策略,允许特定 ServiceAccount 担任角色;
- 授予 Nacos 相关权限(如读写配置、服务注册等)。
以 ACK 为例,这里给出最终 RAM Role 信任策略示例:
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"oidc:aud": [
"sts.aliyuncs.com"
],
"oidc:iss": [
"https://oidc-ack-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/<ACK集群ID>"
],
"oidc:sub": [
"system:serviceaccount:<K8s命名空间>:mse-nacos-controller",
]
}
},
"Effect": "Allow",
"Principal": {
"Federated": [
"acs:ram::<阿里云UID>:oidc-provider/ack-rrsa-<ACK集群ID>"
]
}
}
],
"Version": "1"
}
授权策略如下图:
4. ACK/ACS 安装 MSE Nacos Controller
- 登录容器服务管理控制台【3】。
- 在左侧导航栏中单击市场 -> 应用市场,在运维/可观测应用场景下找到 mse-nacos-controller 应用并单击。
- 在页面右上方单击一键部署,选择需要安装的集群、集群中的命名空间,填写发布名称,单击下一步。
- 在参数配置页面,参考通用参数配置说明修改参数,也可以使用默认的配置,单击确定。
- 等待指定命名空间中的 pod 全部变成
Running
状态,表示安装已完成。
安装完成后可以看到相关 CRD 及 Controller。
5. 创建自定义资源,实现 configmap 双向同步
完成 MSE Nacos Controller 安装后,只需创建 DynamicConfiguration
资源,即可实现配置双向同步。以下给出示例
apiVersion: nacos.alibabacloud.com/v1
kind: DynamicConfiguration
metadata:
name: dc-demo
spec:
nacosServer:
# serverAddr: nacos地址
serverAddr: <MSE Nacos域名>
# namespace: 用户指定的命名空间
namespace: <Nacos命名空间Id>
# authRef: 引用存放Nacos 客户端鉴权信息的Secret,支持用户名/密码,Nacos服务端未开启鉴权可忽略
authRef:
apiVersion: v1
kind: Secret
# secret名称要与前序步骤中创建的Secret名称一致
name: nacos-auth-secret
strategy:
# scope: 同步策略,因安全考虑只支持按需同步,不支持全量同步
scope: partial
# 是否同步配置删除操作
syncDeletion: true
# conflictPolicy: 同步冲突策略,preferCluster 表示初次同步内容冲突时以Kubernetes集群配置为准,preferServer 表示以Nacos配置为准
conflictPolicy: preferCluster
objectRefs:
- apiVersion: v1
kind: ConfigMap
name: nacos-config-cm
- apiVersion: v1
kind: ConfigMap
name: nacos-config-cm-1
使用 kubectl 命令部署,之后即可实现 configmap 双向同步。
kubectl apply -f dc-demo.yaml -n <configmap所在的命名空间>
6. 创建自定义资源,同步 Kubernetes 服务到 Nacos
服务同步与配置同步类似,创建 ServiceDiscovery
自定义资源,指定需要同步的服务列表即可,示例如下:
apiVersion: nacos.alibabacloud.com/v1
kind: ServiceDiscovery
metadata:
name: sd-demo
spec:
nacosServer:
# serverAddr: nacos地址
serverAddr: <MSE Nacos域名>
# namespace: 用户指定的命名空间
namespace: <Nacos命名空间Id>
# authRef: 引用存放Nacos 客户端鉴权信息的Secret,支持用户名/密码,Nacos服务端未开启鉴权可忽略
authRef:
apiVersion: v1
kind: Secret
# secret名称要与前序步骤中创建的Secret名称一致
name: nacos-auth-secret
# 用户需要同步的service名称列表;
services: ["nginx-test","nginx-test-1"]
使用 kubectl 命令部署,之后即可实现 Kubernetes 服务同步至 Nacos。
kubectl apply -f sd-demo.yaml -n <Service所在的命名空间>
同步完成后,相关服务将在 Nacos 控制台中可见,供 Higress 或其他客户端消费。
总结
MSE Nacos Controller 是连接 Kubernetes 与 Nacos 生态的核心组件,有效解决了企业在云原生迁移与 AI 转型过程中面临的配置割裂、服务孤岛与协议不兼容等问题。
它通过 双向配置同步 与 服务自动注册 两大能力,实现了:
- 统一配置管理:打破 Kubernetes 与 Nacos 之间的配置壁垒,实现configmap变更历史管理、快速回滚等;
- 统一服务注册中心:打通 Kubernetes、传统 IDC 与多集群服务,实现跨环境服务互通;
- 支撑 AI 场景下的 MCP 协议转换:为 Higress 等网关提供服务源,助力 REST API 快速升级为 AI 可调用的 MCP 服务。
通过简单的 CRD 配置,即可完成复杂系统的集成,大幅降低运维复杂度,提升系统灵活性与智能化水平。
参考文章:
手把手带你玩转基于 Nacos + Higress 的 MCP 开发新范式
https://nacos.io/blog/nacos-gvr7dx_awbbpb_lup4w7e1cv6wktac/
Nacos 3.0 架构全景解读,AI 时代服务注册中心的演进
https://nacos.io/blog/nacos-gvr7dx_awbbpb_gzlzyehxberthsng/
Nacos 配置中心变更利器:自定义标签灰度
https://nacos.io/blog/nacos-gvr7dx_awbbpb_ir01zzd3q20fa3xq/
企业生产环境中,实现 MCP 服务的统一管理和智能路由的实践
https://nacos.io/blog/nacos-gvr7dx_awbbpb_kpokkrgszm1ic3x5/
附:
【1】创建 MSE Nacos 实例
https://idealab.alibaba-inc.com/ideaTalk#
【2】开启容器RRSA功能并授权
https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/use-rrsa-to-authorize-pods-to-access-different-cloud-services
【3】容器服务管理控制台
https://cs.console.aliyun.com/
2025杭州·云栖大会,来了!
9月24日至26日,杭州·云栖小镇
三场重磅主论坛
超110场聚合话题专场
40000平方米智能科技展区
点击此处免费注册领取云栖大会门票
更多推荐
所有评论(0)