- 云原生
- 微服务
- 运维
- DevOps
【免费下载链接】meshery
Meshery, the cloud native manager
本篇基于 Meshery 开源仓库中的 Hybridnet 集成模型文档,系统梳理 Meshery 如何将 Hybridnet 作为"云原生网络(Cloud Native Network)"类别的集成模型加载、注册与可视化呈现。文章覆盖模型元数据、16 个管理组件的三大 API 分组、核心 CRD 的 spec 字段解析、组件能力(Capabilities)与图形化设计操作,帮助读者在 Meshery 中直接定位、拖放并配置 Hybridnet 的网络资源。
Hybridnet 集成模型概览
Meshery 将 Hybridnet 以独立集成模型(Model)的形式纳入组件目录,其模型页面位于 docs/content/en/extensions/models/hybridnet/index.md。该页面的副标题将其定位为 "Collaborative and visual infrastructure as design for Hybridnet",即把 Hybridnet 的网络基础设施转化为可在 Meshery 画布上协作设计的可视化图形。
根据该文档的 front matter 与 models/hybridnet/0.6.9/v1.0.0/model.json 中的模型定义,可以得到如下关键元数据:
| 元数据项 | 值 |
|---|---|
| 模型名称 | hybridnet(displayName:Hybridnet) |
| 模型 Schema 版本 | models.meshery.io/v1beta2 |
| 组件 Schema 版本 | components.meshery.io/v1beta1 |
| 集成分类 | Cloud Native Network(子分类 Uncategorized) |
| 注册来源(registrant) | Artifact Hub(kind:artifacthub,status:discovered) |
| 底层版本 | hybridnet 0.6.9(模型自身版本 v1.0.0) |
| 组件数量 | 16 |
| 关系(relationship)数量 | 0 |
| 视觉主题 | 主色#FF6A00、副色#00D3A9、形状 shape:circle |
文档 front matter 声明的模型功能清单(featureList)包括三项核心能力:
- Flexible network configuration:灵活的网络配置能力;
- Supports both overlay and underlay networks:同时支持 overlay(叠加)与 underlay(底层)网络;
- Multi-cluster networking:多集群组网能力。
其工作方式描述为 "Integrates Hybridnet configurations",细节描述为 "Streamlined network management and flexibility in Kubernetes",即在 Kubernetes 中通过集成 Hybridnet 配置实现精简的网络管理与灵活性。
模型注册来源与仓库侧对应
从 models/component_models.yaml 可以确认 hybridnet 模型在组件目录中的登记条目(repository 名为hybridnet),模型定义文件则按版本目录组织在 models/hybridnet/0.6.9/v1.0.0/ 下,其中:
model.json:模型级定义,声明分类、视觉样式、注册信息与组件/关系计数;components/目录:16 个组件的结构化定义文件(如 Network.json、Subnet.json、IPInstance.json 等)。
从源码结构看,Meshery 以"模型(Model)→ 组件(Component)"的两级结构承载第三方网络插件,模型注册来源标记为 Artifact Hub,状态为discovered(自动发现),这与文档中registrant: Artifact Hub的声明一致。
组件全景:三大 API 分组
依据 models/hybridnet/0.6.9/v1.0.0/components/ 下各组件 JSON 中的version与kind字段,16 个组件可划分为三个 API 分组:
1.networking.alibaba.com/v1(Hybridnet 核心组网 CRD,4 个)
Network:定义网络(network)实体;Subnet:定义子网(subnet)实体;IPInstance:定义 IP 实例及其与 Pod/节点的绑定关系;NodeInfo:记录节点作为 VTEP(VXLAN Tunnel End Point)的基础信息。
2.multicluster.alibaba.com/v1(多集群互联 CRD,4 个)
RemoteCluster:描述成员集群的接入端点与凭证;RemoteSubnet:描述远端子网;RemoteVtep:描述远端 VTEP;RemoteEndpointSlice:描述远端端点切片。
3.crd.projectcalico.org/v1(Calico 兼容 CRD,8 个)
IPPool、BGPConfiguration、NetworkPolicy、GlobalNetworkPolicy、GlobalNetworkSet、HostEndpoint、FelixConfiguration、ClusterInformation。
这一分组表明:Hybridnet 模型在 Meshery 中不仅暴露自身的网络 API,还携带动态发现的 Calico 系列 CRD,用于在可视化画布中统一表达 L2/L3 网络策略与 BGP 配置。
核心组件 Spec 解析
以下字段直接取自各组件 JSON 内嵌的 JSON Schema,可在 Meshery 中通过 "Json Schema" 能力查看或用于书写配置声明。
Network(networking.alibaba.com/v1)
Network 是网络的顶层抽象,spec支持字段:
| 字段 | 类型 | 说明 |
|---|---|---|
mode | string | 网络模式(对应 overlay / underlay 能力) |
type | string | 网络类型 |
netID | integer (int32) | 网络 ID,用于网络间隔离标识 |
nodeSelector | map[string]string | 将该网络调度绑定到指定标签的节点 |
config.bgpPeers | array | BGP 对等体列表,每项含address(对端地址,必填)、asn(AS 号,必填)、password、allowNotEstablished、doesNotRouteTraffic、gracefulRestartSeconds |
其中netID与nodeSelector组合使用,可以按节点标签划定某个网络的生效范围;config.bgpPeers则把 BGP 邻居关系直接下沉到网络声明中,对应模型页 featureList 中的 "Flexible network configuration"。
Subnet(networking.alibaba.com/v1)
Subnet 用于细分网络地址空间,spec必填字段为network与range:
range.cidr(必填):子网 CIDR;range.version(必填):IP 版本标识;range.start/range.end:可分配地址的起止范围;range.gateway:子网网关;range.excludeIPs:排除不参与分配的 IP 列表;range.reservedIPs:预留 IP 列表;netID:子网所属网络 ID;config:包含gatewayNode(网关所在节点)、gatewayType(网关类型)、autoNatOutgoing(自动 SNAT 出网)、private(私有子网标识)、allowSubnets(允许互通的子网列表)。
autoNatOutgoing与gatewayType的组合,可用于控制 Pod 访问集群外部网络时的 NAT 行为,这一维度对应文档所述的 underlay 直连与 overlay 隧道并存场景。
IPInstance(networking.alibaba.com/v1)
IPInstance 描述单个 IP 地址实例,spec必填项为address、network、subnet:
address(必填ip、mac、version):IP 地址、MAC 地址、IP 版本,可选gateway、netID;binding:绑定信息,包括nodeName、podName、podUID、referredObject(kind/name/uid)以及stateful.index(绑定有状态工作负载时的序号);network/subnet:归属的网络与子网。
stateful.index字段表明 Hybridnet 对有状态工作负载(StatefulSet 类)的 IP 稳定性有专门建模——每个 Pod 副本可以对应固定的 IP 实例,这是支撑多集群、跨节点场景下网络地址稳定性的关键。
NodeInfo(networking.alibaba.com/v1)
NodeInfo 记录节点作为 VTEP 的信息,spec.vtepInfo包含:
ip:VTEP 的网关 IP 地址;mac:VTEP 的 MAC 地址;localIPs:VTEP 自身可用的 IP 地址数组。
其字段描述明确注明"Not necessary if no overlay network exist"(若不存在 overlay 网络则不必设置),从源码结构看,这是 Hybridnet overlay 模式中节点间隧道端点发现的基础数据。
RemoteCluster(multicluster.alibaba.com/v1)
多集群模型的基础入口,spec必填apiEndpoint(成员集群 API 端点,支持 hostname、hostname:port、IP 或 IP:port),另有:
caData/certData/keyData:PEM 编码的 CA、客户端证书与私钥(优先于文件类配置);timeout:请求超时(int32,0 表示不超时)。
配合RemoteSubnet、RemoteVtep、RemoteEndpointSlice,共同构成 Hybridnet 在多集群场景下同步远端网络对象的数据面,对应文档 featureList 中的 "Multi-cluster networking"。
IPPool(crd.projectcalico.org/v1,Calico 兼容组代表)
IPPool 负责 IP 地址池管理,spec必填cidr,可选字段包括:
blockSize:分配块大小(IPv4 默认 26,IPv6 默认 112);disabled:为 true 时 Calico IPAM 不再从该池分配地址;natOutgoing:池内 Pod 访问外部目的地址时进行源地址伪装;nodeSelector:仅向匹配标签的节点分配;ipipMode/vxlanMode:IPIP / VXLAN 隧道模式,默认 "Never"(关闭)。
同一模型中同时存在 BGPConfiguration、GlobalNetworkPolicy 等 Calico CRD,说明 Meshery 将 Hybridnet 与其策略/隧道生态一并纳管,可在画布中一体化编排。
组件能力(Capabilities)与可视化设计
每个组件 JSON 都携带 8 项通用能力(capabilities,schemaVersion capability.meshery.io/v1alpha1,version 0.7.0):
| 能力 | kind | 说明 |
|---|---|---|
| Performance Test | action | 对实例发起性能测试,由 Meshery 执行负载生成、采集指标并呈现结果 |
| Workload Configuration | mutate | 配置组件的 workload 级参数 |
| Labels and Annotations Configuration | mutate | 为组件配置标签与注解 |
| Relationships | view | 查看组件的关联关系 |
| Json Schema | view | 查看组件定义(即上文所述 spec 结构) |
| Styling | mutate | 配置组件的视觉样式 |
| Change Shape | mutate | 修改组件在画布中的形状 |
| Compound Drag And Drop | interaction | 在图形视图中将组件拖放入父组件 |
在可视化层面,所有组件统一采用#FF6A00主色、#00D3A9副色与circle形状,模型文档 front matter 中为每个组件登记了 colorIcon 与 whiteIcon 两套图标(彩色/白色),用于明暗背景下的图形渲染。这使 Hybridnet 的网络、子网、IP 实例等对象在 Meshery 设计画布中具备一致的视觉语言,支持"以设计即基础设施"(infrastructure as design)的方式编排网络拓扑。
在 Meshery 中使用 Hybridnet 模型
基于模型定义与组件能力,使用流程可以归纳为:
- 加载模型:Meshery 从 Artifact Hub 自动发现(status:discovered)hybridnet 模型并加载其 16 个组件,无需手工编写组件清单;
- 拖放组网:在画布中通过 "Compound Drag And Drop" 将 Network、Subnet、IPInstance 等组件组合成网络拓扑,并通过 "Workload Configuration" 填写上文解析的 spec 字段;
- 校验与查看:通过 "Json Schema" 能力随时查看组件完整定义;通过 "Relationships" 查看组件间关系(当前该模型 relationship-count 为 0,即 16 个组件之间未预置绑定关系,连线由用户按需构建);
- 下发与观测:对已声明实例使用 "Performance Test" 能力发起网络性能验证,配合节点 VTEP 信息(NodeInfo)确认 overlay 隧道健康状态。
小结
Hybridnet 集成模型是 Meshery "Cloud Native Network" 类别下的一个典型条目:它通过 Artifact Hub 自动发现,以 models.meshery.io/v1beta2 模型定义承载 16 个组件,跨越networking.alibaba.com/v1、multicluster.alibaba.com/v1与crd.projectcalico.org/v1三组 API,覆盖 overlay/underlay 网络、多集群互联与 Calico 策略生态。开发者既可在 Meshery 中直接查阅各组件的 JSON Schema 完成配置,也可以在可视化画布中拖放组装,将 Hybridnet 的网络管理纳入统一的基础设施设计流程。相关定义文件均可在 models/hybridnet/0.6.9/v1.0.0/ 目录下查看与复用。
- 云原生
- 微服务
- 运维
- DevOps
【免费下载链接】meshery
Meshery, the cloud native manager
相关推荐
Meshery 集成 CNI Host NIC:云端原生多网卡 CNI 的可视化设计与协作管理指南
Meshery 集成 CNI Host NIC:云端原生多网卡 CNI 的可视化设计与协作管理指南 Meshery 作为云原生管理平台,通过模型(Model)机
云原生微服务运维DevOpsMeshery 扩展模型详解:Contrail Analytics 的 40 个云原生网络组件如何被组织成设计模型
Meshery 扩展模型详解:Contrail Analytics 的 40 个云原生网络组件如何被组织成设计模型 本文以 Meshery 扩展模型文档 doc
云原生微服务运维DevOps基于 Crossplane 的 Exoscale 云资源可视化设计:Meshery 集成模型实战指南
基于 Crossplane 的 Exoscale 云资源可视化设计:Meshery 集成模型实战指南 本篇技术指南围绕 Meshery 仓库集成目录中的 cro
云原生微服务运维DevOps
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考