使用 Meshery 的 AWS OpenSearch Service 模型可视化编排与托管 OpenSearch 域

📅 发布时间:2026/10/7 5:17:43
使用 Meshery 的 AWS OpenSearch Service 模型可视化编排与托管 OpenSearch 域
云原生微服务运维DevOps【免费下载链接】mesheryMeshery, the cloud native manager项目地址https://gitcode.com/GitHub_Trending/me/meshery点击查看免费下载导读Meshery 将云原生生态中的可设计基础设施封装为模型Modelaws-opensearchservice-controller模型正是面向 AWS OpenSearch Service 的集成载体。本文以该模型的文档页为核心结合仓库内 models/aws-opensearchservice-controller 的组件与关系定义系统讲解该模型涵盖的 7 类组件、核心Domain资源的关键配置字段、VPC 端点与 IAM 授权的关系以及如何借助这些定义在 Meshery 的可视化画布上以基础设施即设计Infrastructure as Design的方式部署和管理 OpenSearch。读完本文你将能够依据模型定义准确配置 OpenSearch 域、理解组件间的非绑定关系语义并在 Meshery 中完成领域对象的创建与编排。模型是什么Observability 类别下的 Logging 集成在 Meshery 的集成体系里aws-opensearchservice-controller属于Observability and Analysis可观测性与分析类别下的Logging日志子类别注册来源registrant为 GitHub由发现机制自动同步入库。其模型清单文件位于 models/aws-opensearchservice-controller/v1.7.2/v1.0.0/model.json声明了nameaws-opensearchservice-controllerdisplayNameAWS OpenSearch ServiceschemaVersionmodels.meshery.io/v1beta2statusenabled可直接在画布中使用模型文档 docs/content/en/extensions/models/aws-opensearchservice-controller/index.md 中给出的核心能力定位为Scalable search and analytics提供可扩展的搜索与分析能力Easy to deploy and manage简化 OpenSearch 域的部署与运维Integrates with other AWS services与账户内其他 AWS 服务如 EC2 安全组、子网、IAM、CloudWatch协同工作。其工作原理howItWorks一句话概括为Deploys and manages OpenSearch即负责部署并管理 OpenSearch 实例具体实现上则是简化 OpenSearch 管理与 AWS 集成。组件清单7 个可设计单元依据 index.md 的components声明components-count: 7模型对外暴露以下组件每个组件同时提供 color/white 两套图标存放于 docs/content/en/extensions/models/aws-opensearchservice-controller/components 下的对应目录组件名定位对应 Schema 文件DomainOpenSearch 域模型核心资源Domain.jsonFieldExport将资源字段导出到 ConfigMap/SecretFieldExport.jsonAdoptedResource纳管集群外已存在的 AWS 资源模型通用组件由 ACK 生态提供IAMRoleSelector通过标签/名称选择要注入的 IAM 角色IAMRoleSelector.jsonVPCEndpoint为域创建 VPC 连接端点VPCEndpoint.jsonVPCEndpointAccess授权主体通过端点访问域VPCEndpointAccess.json这些组件对应的 API 版本为opensearchservice.services.k8s.aws/v1alpha1Domain、VPCEndpoint、VPCEndpointAccess 等以及 ACK 公共 APIservices.k8s.aws/v1alpha1FieldExport、IAMRoleSelector说明该模型源自 AWS Controllers for KubernetesACK生态的 opensearchservice-controller通过 Helm 定义同步而来组件元数据中的source_uri指向git://github.com/aws-controllers-k8s/opensearchservice-controller/main/helm。核心组件 DomainOpenSearch 域的配置面Domain是模型的绝对核心。其组件定义 Domain.json 内嵌了完整的 JSON SchemaDomainSpecname是唯一必填字段命名规则为^[a-z][a-z0-9\-]$。围绕它可以配置以下关键维度集群与存储engineVersion指定引擎版本格式为Elasticsearch_X.Y或OpenSearch_X.Y如OpenSearch_1.0正则约束为^Elasticsearch_[0-9]{1}\.[0-9]{1,2}$|^OpenSearch_[0-9]{1,2}\.[0-9]{1,2}$clusterConfig容器化的集群配置包括instanceType、instanceCount、dedicatedMasterEnabled、dedicatedMasterCount、dedicatedMasterType、zoneAwarenessEnabled、zoneAwarenessConfig.availabilityZoneCount、multiAZWithStandbyEnabled、coldStorageOptions、warmEnabled/warmCount/warmType热温架构等ebsOptionsEBS 存储配置字段包括ebsEnabled、volumeType、volumeSize、iops、throughputencryptionAtRestOptions静态加密通过enabled与kmsKeyID指定 KMS 密钥nodeToNodeEncryptionOptions节点间加密开关。网络与端点vpcOptionsVPC 访问配置。不指定时 OpenSearch Service 会创建公网端点指定后需要securityGroupIDs/securityGroupRefs与subnetIDs/subnetRefs。其中Refs系列字段使用from.name/from.namespace引用集群内其他资源便于在 Meshery 画布中直接连线domainEndpointOptions端点策略包括enforceHTTPS强制全量 HTTPS、tlsSecurityPolicy、customEndpointEnabled、customEndpoint、customEndpointCertificateARNipAddressType指定dual stackIPv4/IPv6 双栈推荐且设置后不可更改或仅 IPv4。安全与访问控制advancedSecurityOptions细粒度访问控制包含enabled、internalUserDatabaseEnabled、anonymousAuthEnabled、masterUserOptions支持masterUserARN、masterUserName以及以 Secret 引用的masterUserPassword、sAMLOptionsSAML IdP 配置、jwtOptionsJWT 认证配置accessPoliciesIAM 策略文档字符串cognitoOptionsCognito 认证集成enabled、identityPoolID、userPoolID、roleARNtags创建时附加的标签键长 1–128 字符、值 0–256 字符。运行优化advancedOptions高级键值对配置常见项包括rest.action.multi.allow_explicit_index默认 true、indices.fielddata.cache.size默认不设上限、indices.query.bool.max_clause_count默认 1024超限报TooManyClauses、override_main_response_version新建默认 false、升级默认 true——注意这些值一律以字符串形式给出autoTuneOptionsAuto-Tune 优化desiredState取ENABLED/DISABLED支持maintenanceSchedules与useOffPeakWindowoffPeakWindowOptions每日 10 小时的低峰窗口默认起始时间 10:00 PM域所在区域的本地时间通过windowStartTime.hours/windowStartTime.minutes自定义softwareUpdateOptions自动软件更新开关logPublishingOptions将 OpenSearch 应用日志与慢日志发布到 CloudWatch LogscloudWatchLogsLogGroupARNenabled。注意启用日志发布后仍需通过 OpenSearch REST API 开启慢日志采集。从源码结构可以推断Domain 组件在画布中被标记为 namespaced 资源并附带了Performance TestWorkload ConfigurationLabels and Annotations ConfigurationRelationshipsJson SchemaStylingChange ShapeCompound Drag And Drop等能力capability描述说明它既可作为声明被实例化也可直接触发负载性能测试。VPC 网络编排VPCEndpoint 与 VPCEndpointAccess当需要让集群内的应用通过私有网络访问 OpenSearch 域时模型提供了两个专用组件VPCEndpointVPCEndpoint.json其spec必填vpcOptions并支持domainARN不可变正则^arn:aws[a-z\-]*:[a-z]:[a-z0-9\-]:[0-9]:domain\/[a-z0-9\-]$或domainRef.from引用集群内的 Domain 资源同样可配置安全组与子网IDs 或 Refs。它对应 AWS 的VpcEndpoint用于通过代理连接 OpenSearch 域的连接端点。VPCEndpointAccessVPCEndpointAccess.json必填principal可填 12 位 AWS 账户 ID 或服务主体如application.opensearchservice.amazonaws.com控制器会据此调用AuthorizeVpcEndpointAccess/RevokeVpcEndpointAccessdomainName不可变或domainRef指定目标域serviceOptions.supportedRegions可限定授权区域——省略时默认授权域自身所在区域且移除全部区域等于撤销授权应删除该资源而非清空。这两个组件共同支撑VPC 内端点 授权的完整访问链先由Domain声明域与 VPC 归属再由VPCEndpoint建立私有连接最后由VPCEndpointAccess完成主体授权。辅助组件AdoptedResource、FieldExport 与 IAMRoleSelectorAdoptedResource用于把集群外部已存在的 AWS OpenSearch 域纳管进 Kubernetes/Meshery 控制面实现声明式跟踪。在关系定义中它通过spec.aws.nameOrID字段与Domain建立非绑定引用关系见下文。FieldExport将某个 ACK 资源的指定字段导出为 ConfigMap 或 Secret。其spec.from.resource需指明group/kind/name与pathspec.to指定输出目标kind枚举为configmap/secret可用key覆盖默认的namespace.FieldExport-resource-name命名。典型用途是把 Domain 的端点地址、ARN 等动态字段下发给业务工作负载。IAMRoleSelector通过选择器批量指定注入的 IAM 角色 ARNarn必填且不可变支持namespaceSelector按names或标签选择、resourceLabelSelector按资源标签匹配与resourceTypeSelector按group/kind/version限定资源类型。从metadata.isNamespaced: false可推断其为集群级资源。组件间关系三类非绑定 Edge模型声明了 3 条non-binding非绑定类型的edge关系relationship-count: 3定义文件位于 models/aws-opensearchservice-controller/v1.7.2/v1.0.0/relationships。非绑定意味着边仅表达语义关联不强制生命周期归属firewall安全组绑定edge-binding-firewall-izanu.json 建立Domain→aws-ec2-controller模型下SecurityGroup的关系补丁patch会把安全组的 displayName 写入 Domain 的spec.vpcOptions.securityGroupIds实现画布连线即自动填充。network子网绑定edge-binding-network-ewszv.json 建立Domain→Subnet的关系补丁写入spec.vpcOptions.subnetIds。reference资源引用edge-non-binding-reference-dkfvh.json 建立AdoptedResource→Domain的引用关系把纳管资源的名称/ID 与域对象关联起来。正是这些边让 Meshery 画布具备连线即配置的能力将 Domain 与 EC2 安全组、子网连线replace策略会自动完成字段回填这是本模型在可视化设计层面最直接的落地价值。在 Meshery 中使用该模型的建议流程综合模型文档与组件定义可在 Meshery 中按以下路径落地装载模型在 Meshery 的模型/集成目录中确认AWS OpenSearch Serviceaws-opensearchservice-controller处于enabled状态并确保集群已配置 ACK 控制器所需的 AWS 凭证与 IAM 权限声明域向画布拖入Domain至少填写name再按需配置引擎版本、实例规格、EBS、加密与vpcOptions可通过 Refs 直接引用集群内已有的子网与安全组资源编排网络需要私有访问时添加VPCEndpoint并将其domainRef指向域通过VPCEndpointAccess声明允许访问的账户或服务主体纳管与下发对既有域使用AdoptedResource纳管需要把端点信息传递给工作负载时用FieldExport导出到 ConfigMap/Secret校验与运维利用组件附带的 JSON Schema 能力核对声明合法性必要时可对域实例发起性能测试perf-test并借助关系视图检查连线是否完整。需要说明的是模型定义以当前仓库快照模型版本v1.7.2API 版本v1alpha1为准不同版本间的可用组件如早期 v1.4.2 仅有 Domain/FieldExport/IAMRoleSelectorv1.6.x 起加入 VPCEndpointv1.7.x 加入 VPCEndpointAccess存在差异实际使用时请以对应模型版本的能力清单为准。赞分享云原生微服务运维DevOps【免费下载链接】mesheryMeshery, the cloud native manager项目地址https://gitcode.com/GitHub_Trending/me/meshery点击查看免费下载相关推荐使用 AWS SDK for Kotlin 管理 Amazon OpenSearch Service 域创建、查询、更新与删除实战指南使用 AWS SDK for Kotlin 管理 Amazon OpenSearch Service 域创建、查询、更新与删除实战指南 导读 本文基于 AWS示例工程教程后端用 Meshery 可视化编排 AWS CloudFrontaws-cloudfront-controller 模型组件与关系深度解析用 Meshery 可视化编排 AWS CloudFrontaws cloudfront controller 模型组件与关系深度解析 本篇技术指南以 Mes云原生微服务运维DevOpsModern UI for WPF完整指南从基础控件到高级主题定制Modern UI for WPF完整指南从基础控件到高级主题定制 Modern UI for WPF是一款强大的界面框架为WPF应用程序提供现代化的用户界创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考