ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Meshery 集成指南:以协作式基础设施即设计(IaaD)方式管理 AWS MemoryDB for Redis

2026/10/6 2:39:24 拓冰建站 浏览量
Meshery 集成指南:以协作式基础设施即设计(IaaD)方式管理 AWS MemoryDB for Redis 云原生微服务运维DevOps【免费下载链接】mesheryMeshery, the cloud native manager项目地址https://gitcode.com/GitHub_Trending/me/meshery点击查看免费下载本指南围绕 Meshery 仓库中的 AWS MemoryDB for Redis 集成模型文档 展开系统讲解该模型在 Meshery 中的组件Components、关系Relationships与底层模型定义并结合仓库源码给出 Cluster、ACL、User、SubnetGroup、ParameterGroup、Snapshot、MultiRegionCluster 等核心资源的字段级配置说明帮助你直接用可视化画布与声明式配置管理 AWS MemoryDB for Redis 集群。模型概览AWS MemoryDB for Redis 集成是什么AWS MemoryDB for Redis 是 AWS 提供的与 Redis 兼容的内存数据库服务它把 Redis 数据结构的易用性与亚马逊在内存计算领域的部署经验结合在一起。Meshery 通过社区贡献的aws-memorydb-controller模型把 MemoryDB 的资源抽象为可拖拽、可编排、可协作的设计组件使基础设施管理变成团队可同步协作的“设计”过程。从 index.md 的 frontmatter 可以看到本集成的基本属性属性值集成类别categoryProvisioning集成子类subcategoryDatabase注册方registrantGitHub组件数量components-count10关系数量relationship-count9别名aliases/extensibility/integrations/aws-memorydb-controller工作方式howItWorksCollaborative Infrastructure as Design协作式基础设施即设计其中howItWorks字段明确给出了本集成的核心理念协作式基础设施即设计Collaborative Infrastructure as Design——团队成员可以在 Meshery 画布中同步共享同一份设计共同编排 MemoryDB 资源。从仓库的模型注册表看该模型对应 models/aws-memorydb-controller 目录其中维护了从v1.4.1到v1.7.1共 6 个可用版本每个版本内部模型的 schema 版本均为v1.0.0每个版本均包含 9 个组件定义与 9 个关系定义。模型元数据定义于各版本的 model.json其核心信息包括模型名称aws-memorydb-controller显示名称AWS MemoryDB for Redis状态enabled可用主色调#C925D1图形形状cylinder圆柱体贴合数据库服务的语义组件 schema 版本components.meshery.io/v1beta2关系 schema 版本relationships.meshery.io/v1beta2底层 CRD 来源memorydb.services.k8s.aws/v1alpha1即 AWS Controllers for KubernetesACK的 memorydb-controller源码 URI 为git://github.com/aws-controllers-k8s/memorydb-controller/main/helm。这意味着Meshery 画布上绘制的每一个 MemoryDB 组件最终都会映射为一条 ACK MemoryDB 的 Kubernetes CR 资源由集群内的 ACK controller 负责调和reconcile为真实的 AWS 云资源。组件清单10 个可编排的 MemoryDB 资源index.md 的components列表定义了本模型暴露给用户的全部 10 个组件每个组件都配套有彩色图标与白色图标组件名说明结合 CRD 推断clusterMemoryDB 集群最核心的编排单元snapshot集群快照用于备份与恢复subnet-group子网组决定集群在 VPC 中的网络位置user访问用户附带密码与访问字符串parameter-group参数组控制引擎运行时参数acl访问控制列表将用户分组授予集群访问权field-export字段导出资源FieldExportadopted-resource已接管资源AdoptedResource用于接管既有 AWS 资源multi-region-cluster多区域集群iam-role-selectorIAM 角色选择器各组件对应的组件定义文件位于 models/aws-memorydb-controller/v1.7.1/v1.0.0/components分别是Cluster.json、ACL.json、User.json、SubnetGroup.json、ParameterGroup.json、Snapshot.json、MultiRegionCluster.json、FieldExport.json、IAMRoleSelector.json等。接下来逐一解析其中核心资源的配置字段。ClusterMemoryDB 集群的声明式配置Cluster.json 定义了Cluster组件的 JSON Schema其 API 组为memorydb.services.k8s.aws/v1alpha1。除name、nodeType两个必填字段外全部可用字段如下字段类型说明aclName/aclRefstring / object关联的访问控制列表名称或通过from.name/from.namespace引用其他 CRautoMinorVersionUpgradeboolean是否在发布后自动接收引擎小版本升级descriptionstring集群的可选描述engineVersionstring集群使用的 Redis OSS 引擎版本号kmsKeyID/kmsKeyRefstring / object用于集群加密的 KMS 密钥 ID或 CR 引用maintenanceWindowstring每周维护时间窗格式ddd:hh24:mi-ddd:hh24:mi24 小时制 UTC如sun:23:00-mon:01:30最小维护窗口为 60 分钟星期取值sun/mon/tue/wed/thu/fri/satnamestring必填集群名称全局唯一同时作为集群标识符正则^[a-zA-Z][a-zA-Z0-9\-]*$nodeTypestring必填节点的计算与内存容量规格numReplicasPerShardint64每个分片的副本数默认 1最大 5numShardsint64集群分片数量默认 1parameterGroupName/parameterGroupRefstring / object关联的参数组名称或 CR 引用portint64各节点接受连接的端口号securityGroupIDs/securityGroupRefsarray关联的安全组 ID 列表或安全组 CR 引用列表snapshotARNsarray用于填充新集群的 RDB 快照文件的 ARN 列表S3 对象名中不能含逗号snapshotName/snapshotRefstring / object用于恢复数据到新集群的现有快照名称或引用snapshotRetentionLimitint64自动快照保留天数例如设 5 表示今天产生的快照保留 5 天snapshotWindowstring每日快照时间窗UTC如05:00-09:00不指定则由系统自动选择snsTopicARN/snsTopicRefstring / object用于发送通知的 SNS 主题 ARN或 CR 引用subnetGroupName/subnetGroupRefstring / object集群使用的子网组名称或引用tagsarray标签列表key/value 键值对value 允许为 nulltlsEnabledboolean是否启用传输中加密值得关注的是Cluster 的 schema 中大量采用了 ACK 引入的AWSResourceReferenceWrapper模式即xxxRef.from.name/xxxRef.from.namespace。这让你在 Meshery 画布中可以直接把 Cluster 与同一模型或其他模型中的 CR 进行图形化关联而无需手工填写 ARN 或 ID——这正是“协作式设计”能够落到实处的关键机制。ACL 与 User身份与访问控制ACL.json 定义的ACL资源用于“通过将用户分组来组织对集群的访问”。其必填字段为name可选字段userNamesstring[]隶属于该访问控制列表的用户名列表userRefsarray of object用户 CR 引用列表from.name/from.namespacetagsarray资源标签。User.json 定义的User资源用于创建用户并为其分配权限必填字段为name、accessString、authenticationModename用户名唯一并充当用户标识符正则^[a-zA-Z][a-zA-Z0-9\-]*$accessString访问权限字符串正则\SauthenticationMode.passwords密码引用数组每个元素是 SecretKeyReferencename/namespace/key密码直接引用 Kubernetes Secret避免明文落盘authenticationMode.type_认证模式类型tags资源标签。用户被创建后通过 ACL 分组如 administrators、human resources 等角色再部署到一个或多个 MemoryDB 集群上实现细粒度的访问控制。SubnetGroup 与 ParameterGroup网络与运行参数SubnetGroup.json 定义的SubnetGroup是“供运行在 Amazon VPC 环境中的集群指定的子网通常是私有子网集合”必填字段为name可选字段包括description、subnetIDsVPC 子网 ID 列表、subnetRefs子网 CR 引用列表与tags。ParameterGroup.json 定义的ParameterGroup是“引擎软件启动时传入的参数值的组合”必填字段为name与family参数组所属的家族名可选字段包括description可选描述parameterNameValues参数名/值对数组每次更新至少提供一个参数名与值单次请求最多更新 20 个参数tags资源标签。Snapshot 与 MultiRegionCluster备份恢复与多区域部署Snapshot.json 定义的Snapshot是“在某个时间点对整个集群的副本”必填字段为name可选字段包括clusterName/clusterRef快照来源集群的名称或引用kmsKeyID/kmsKeyRef快照加密 KMS 密钥 ID 或引用sourceSnapshotName/sourceSnapshotRef用于复制快照的现有快照名称或引用tags资源标签。MultiRegionCluster.json 定义的MultiRegionCluster用于多区域集群编排必填字段为multiRegionClusterNameSuffix多区域集群名称后缀与nodeType可选字段包括description描述engine/engineVersion引擎名与版本multiRegionParameterGroupName关联的多区域参数组名numShardsint64分片数量tlsEnabledboolean是否启用 TLS 加密tags资源标签。FieldExport、AdoptedResource 与 IAMRoleSelector除上述资源外模型还包含三个 ACK 通用能力组件FieldExport把 ACK 资源的状态字段导出到同命名空间的 ConfigMap 或 Secret供其他工作负载消费AdoptedResource接管集群中已存在的、非 ACK 创建的 AWS 资源让存量资源进入 ACK 的声明式管理范围IAMRoleSelector选择 IAM 角色为 ACK controller 提供访问 AWS 服务所需的权限配置。这三个组件与 MemoryDB 模型一同注册保证了“新建资源、接管存量资源、导出运行时信息”的闭环能力。关系定义组件之间如何自动建立连接index.md 的relationships列表定义了本模型的 9 条关系其中 7 条为non-binding类型的edge边1 条为binding类型的edge1 条为parent类型的hierarchical层级关系。这些关系都落在 models/aws-memorydb-controller/v1.7.1/v1.0.0/relationships 目录下通过selectors.allow.from与selectors.allow.to描述关系两端的组件可跨模型引用并辅以patch字段描述如何自动写入引用字段。各关系文件与语义如下结合 selectors 推断关系文件类型 / kind / subtype语义edge-binding-firewall-pcsbl.jsonbinding / edge集群与防火墙规则的绑定关系edge-binding-firewall-vrfxq.jsonbinding / edge集群与防火墙规则的绑定关系edge-binding-network-ukvva.jsonbinding / edge集群与网络资源的绑定关系edge-binding-network-xocfs.jsonbinding / edge集群与网络资源的绑定关系edge-binding-permission-eblvo.jsonbinding / edge集群与权限资源的绑定关系edge-binding-reference-wljen.jsonbinding / edgeCluster → ParameterGroup 的引用关系edge-non-binding-network-dydcy.jsonnon-binding / edge非绑定网络关系edge-non-binding-reference-phgdk.jsonnon-binding / edge非绑定引用关系hierarchical-parent-inventory-bdmaa.jsonparent / hierarchicalMultiRegionCluster → Cluster 的父级/成员关系以 edge-binding-reference-wljen.json 为例关系从Cluster本模型指向ParameterGroup本模型patch.mutatorRef为[configuration,spec,parameterGroupName]patchStrategy为replace。也就是说当你在画布上把 ParameterGroup 连接到 Cluster 时Meshery 会自动把 ParameterGroup 的名称写入 Cluster 的spec.parameterGroupName实现引用字段的自动化填充。edge-binding-network-xocfs.json 则是一条跨模型关系从本模型的Cluster指向aws-ec2-controller模型的SecurityGroupmutatorRef为[configuration,spec,securityGroupIds]。它体现了 Meshery 关系系统的跨模型能力——把 EC2 安全组直接拖到 MemoryDB 集群上即可自动完成安全组 ID 的注入。hierarchical-parent-inventory-bdmaa.json 描述了MultiRegionCluster作为父组件、Cluster作为其成员的层级关系mutatorRef为[configuration,spec,regionalClusters]对应多区域集群由多个区域集群组成的业务模型。组件的统一能力Capabilities模型中每一个组件都声明了一组标准能力Capabilities见 Cluster.json 的capabilities数组它们定义了 Meshery 画布上每个组件可以执行的操作类别能力kind / type / subType适用状态Performance Test性能测试action / operator / perf-testinstanceWorkload Configuration负载配置mutate / configuration / configdeclarationLabels and Annotations Configurationmutate / configuration / labels-and-annotationsdeclarationRelationships查看关系view / configuration / relationshipdeclaration、instanceJson Schema查看组件定义view / configuration / definitiondeclaration、instanceStyling样式配置mutate / styledeclarationChange Shape修改图形形状mutate / style / shapedeclarationCompound Drag And Drop复合拖拽interaction / graph / compoundDnddeclaration其中值得注意的两点性能测试MemoryDB 组件实例可以直接在 Meshery 中发起负载测试load generation收集指标并呈现结果。这与文档 featureList 中“高吞吐、低延迟”的性能定位相呼应复合拖拽支持把一个组件拖入另一个父组件配合hierarchical-parent-inventory关系实现层级编排。这些能力以capability.meshery.io/v1alpha1schema 描述统一版本号为0.7.0保证了模型内部各组件交互行为的一致性。从画布到真实集群设计即交付综合 index.md 的元数据与仓库中的模型定义可以梳理出在 Meshery 中使用本集成管理 MemoryDB 的典型闭环流程建模在 Meshery 画布中拖入subnet-group、parameter-group、user、acl、cluster等组件通过关系连线binding/reference把它们组织成完整设计自动填充利用关系的patch.mutatorRef机制Meshery 自动把 ParameterGroup 名称写入 Cluster 的spec.parameterGroupName、把 SecurityGroup 写入spec.securityGroupIds、把多区域集群的成员 Cluster 写入spec.regionalClusters减少手写引用配置声明在组件的配置面板中按上文列出的字段填写 spec或直接粘贴 CR YAML交付Meshery 将设计转换为memorydb.services.k8s.aws/v1alpha1的 ACK CR 并下发到集群由 ACK memorydb-controller 调和为 AWS 云资源实现“设计即交付”持续协作团队成员实时共享同一设计协同调整配置避免“个人笔记式”的管理方式。延伸阅读本文依据的模型文档docs/content/en/extensions/models/aws-memorydb-controller/index.md模型注册表各版本完整定义models/aws-memorydb-controller组件定义示例Cluster.json、User.json、ACL.json、SubnetGroup.json、ParameterGroup.json关系定义示例edge-binding-reference-wljen.json、hierarchical-parent-inventory-bdmaa.json赞分享云原生微服务运维DevOps【免费下载链接】mesheryMeshery, the cloud native manager项目地址https://gitcode.com/GitHub_Trending/me/meshery点击查看免费下载相关推荐在 Meshery 中以基础设施即设计管理 AWS Kinesisaws-kinesis-controller 集成模型全解析在 Meshery 中以基础设施即设计管理 AWS Kinesisaws kinesis controller 集成模型全解析 本篇指南围绕 Meshery云原生微服务运维DevOpsMeshery 中的 Argo CD 应用模型以协作式基础设施即设计管理 GitOps 持续交付Meshery 中的 Argo CD 应用模型以协作式基础设施即设计管理 GitOps 持续交付 Argo CD 是 Kubernetes 生态中最流行的声明云原生微服务运维DevOps在 Meshery 中以基础设施即代码方式管理 AWS EKSaws-eks-controller 模型完整指南在 Meshery 中以基础设施即代码方式管理 AWS EKSaws eks controller 模型完整指南 导读本文基于 Meshery 开源仓库中的云原生微服务运维DevOps上一篇generative-ai-for-beginners 第 11 课用函数调用Function Calling让生成式 AI 应用接入外部数据与结构化输出下一篇Ruff ty 类型检查器的类遮蔽Class Shadowing语义与 invalid-assignment 诊断解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考