ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

在 Meshery 中以可视化方式管理 AWS DocumentDB:aws-documentdb-controller 模型深度解析

在 Meshery 中以可视化方式管理 AWS DocumentDB:aws-documentdb-controller 模型深度解析 云原生微服务运维DevOps【免费下载链接】mesheryMeshery, the cloud native manager项目地址https://gitcode.com/GitHub_Trending/me/meshery点击查看免费下载AWS DocumentDB 是亚马逊推出的兼容 MongoDB 工作负载的可扩展 NoSQL 数据库服务。在 Mesherycloud native manager中aws-documentdb-controller模型将 AWS DocumentDB 的云资源抽象为可直接拖拽、配置与关联的画布组件让开发者以“基础设施即设计”的方式编排 DocumentDB 集群、实例与子网组。读完本文你将掌握该模型包含的 6 类组件及其核心 spec 参数、9 条组件关系的真实语义并能结合 模型定义文件 在 Meshery 中落地一套可运行的 DocumentDB 部署方案。模型总览从文档 Front Matter 看定位模型的官方集成文档位于 docs/content/en/extensions/models/aws-documentdb-controller/index.md。该文档的元数据明确给出了模型的核心定位集成分类integrations-categoryApp Definition and Development集成子类integrations-subcategoryDatabase注册方registrantGitHub即模型由社区通过 GitHub 注册表自动发现并收录工作方式howItWorksIntegrates DocumentDB即模型把 DocumentDB 的管控面能力桥接进 Meshery核心特性featureList可扩展的 NoSQL 数据库Scalable NoSQL database支持 MongoDB 工作负载Supports MongoDB workloads高可用与持久化Highly available and durable。在models/目录下该模型按控制器版本号组织为多个版本目录v1.4.2、v1.5.0、v1.5.1、v1.6.0、v1.7.0、v1.7.1每个版本下再按组件定义版本v1.0.0存放model.json、components/与relationships/三部分。以最新版 model.json 为例模型名为aws-documentdb-controller显示名为 AWS DocumentDBschema 版本为models.meshery.io/v1beta2控制器版本为 v1.7.1其元数据还记录了画布样式矩形 shape、主色#ED7100与内嵌的 SVG 图标定义。六类组件模型的可编排对象文档 front matter 的components列表声明了 6 个组件components-count: 6。其中 DBCluster、DBInstance、DBSubnetGroup 是核心数据库资源AdoptedResource、FieldExport、IAMRoleSelector 是 AWS 服务 Kubernetes 控制器ACKAWS Controllers for Kubernetes体系下的辅助资源。每个组件均以components.meshery.io/v1beta2schema 描述并在component字段中携带完整的 Kubernetes OpenAPI schema来源指向git://github.com/aws-controllers-k8s/documentdb-controller/main/helm。DBCluster集群的期望状态定义DBCluster.json 对应 Kubernetes CRDDBClusterdocumentdb.services.k8s.aws/v1alpha1其 schema 定义了创建 DocumentDB 集群的核心参数必填项为dbClusterIdentifier与engine参数类型说明与约束dbClusterIdentifierstring集群标识1~63 个字母/数字/连字符首字符必须为字母不能以连字符结尾或含两个连续连字符enginestring引擎名合法值docdbengineVersionstring引擎版本生产环境建议显式声明主版本dbSubnetGroupNamestring关联的子网组名称必须匹配已存在的 DBSubnetGroupdbSubnetGroupRefobject通过from.name/from.namespace引用 Kubernetes 资源来定位子网组backupRetentionPeriodinteger自动备份保留天数最小 1取值范围 1~35preferredBackupWindowstring自动备份时间窗口格式hh24:mi-hh24:miUTC至少 30 分钟preferredMaintenanceWindowstring每周维护窗口格式ddd:hh24:mi-ddd:hh24:miUTCavailabilityZonesarray集群实例可创建的 EC2 可用区列表vpcSecurityGroupIDs/vpcSecurityGroupRefsarray关联的 VPC 安全组ID 列表或引用portinteger实例接受连接的端口号masterUsernamestring主用户名称1~63 个字母或数字首字符须为字母masterUserPasswordobject主用户密码以 Secret 引用key/name/namespace方式提供8~100 字符不可含/、、manageMasterUserPasswordboolean是否用 AWS Secrets Manager 托管主密码不可与masterUserPassword同时指定kmsKeyID/kmsKeyRefstring/object集群加密的 KMS 密钥ARN、别名或引用storageEncryptedboolean集群是否加密storageTypestring存储类型合法值standard默认或iopt1networkTypestring网络类型合法值IPV4、DUAL取决于子网组能力deletionProtectionboolean删除保护开关开启后需先关闭才能删除集群serverlessV2ScalingConfigurationobjectServerless 集群伸缩配置minCapacity/maxCapacityenableCloudwatchLogsExportsarray导出到 CloudWatch Logs 的日志类型audit、profilerglobalClusterIdentifierstring所属 Global Cluster 标识正则^[A-Za-z][0-9A-Za-z-:._]*$snapshotIdentifierstring从快照/集群快照恢复时的标识ARN 或名称sourceRegion/destinationRegionstring用于请求预签名presigning的源/目标区域preSignedURLstring当前不受支持tagsarray集群标签key-value 键值对DBInstance集群内的计算与内存单元DBInstance.json 对应 CRDDBInstance必填项为dbInstanceClass、dbInstanceIdentifier、engine。核心参数包括dbInstanceClass实例规格如db.r5.large决定计算与内存容量dbClusterIdentifier/dbClusterIdentifierRef实例所属集群标识或from引用在关系定义中会由画布自动填充availabilityZone实例所在可用区设置了不可变校验self oldSelfpromotionTier主实例故障后副本提升次序默认 1合法值 0~15autoMinorVersionUpgrade该参数对 DocumentDB 不适用DocumentDB 不会执行小版本升级caCertificateIdentifier实例服务器证书的 CA 证书标识performanceInsightsEnabled/performanceInsightsKMSKeyID/performanceInsightsKMSKeyRefPerformance Insights 开关与数据加密 KMS 密钥copyTagsToSnapshot是否将标签复制到快照preferredMaintenanceWindow每周维护窗口UTC格式同集群tags实例标签最多 10 个。DBSubnetGroup网络边界的载体DBSubnetGroup.json 对应 CRDDBSubnetGroup必填项为description与name。参数包括name子网组名称最多 255 个字母/数字/句点/下划线/空格/连字符不能命名为defaultdescription子网组描述subnetIDsEC2 子网 ID 列表subnetRefs以from.name/from.namespace引用子网资源tags子网组标签。AdoptedResource纳管存量 AWS 资源AdoptedResource是 ACK 体系中的通用组件用于将 AWS 账户中已存在的 DocumentDB 资源如手工创建好的集群纳管进 Kubernetes 与 Meshery 画布使存量资源进入声明式编排循环无需重建。它在文档的组件列表中以adopted-resource出现。FieldExport字段导出到 ConfigMap 或 SecretFieldExport.jsonservices.k8s.aws/v1alpha1用于把某个资源字段导出到目标存储供应用消费连接信息from.path要导出的字段路径from.resource源资源定位group/kind/name必填to.kind导出目标类型枚举值为configmap或secretto.name、to.namespace目标资源名与命名空间to.key可选覆盖默认键名默认namespace.FieldExport-resource-name。典型用途是把 DBCluster 的连接端点/端口导出为 Secret供业务 Pod 注入使用。IAMRoleSelector按标签把 IAM 角色绑定到资源IAMRoleSelector.jsonservices.k8s.aws/v1alpha1实现按标签选择器把 IAM 角色 ARN 授权给目标资源必填项为arn不可变。可选选择器包括namespaceSelector.names按命名空间名选择namespaceSelector.labelSelector.matchLabels按命名空间标签选择resourceLabelSelector.matchLabels按资源标签选择resourceTypeSelector按资源的group/kind/version三元组选择。九条关系画布中的组件如何自动互联文档声明了 relationship-count: 9包括 8 条non-bindingedge非绑定边与 1 条parenthierarchical层级父子关系。关系文件均以relationships.meshery.io/v1beta2schema 描述存放在 relationships/ 目录下。父子层级关系DBCluster 容纳 DBInstancehierarchical-parent-inventory-dwvtf.json 定义了 typeparent、kindhierarchical、subTypeinventory 的关系from端为 DBClusterto端为 DBInstance并通过mutatorRef把父组件集群的显示名写入子组件spec.dbClusterIdentifierpatchStrategy: replace。这意味着在画布中把 DBInstance 拖入 DBCluster 的容器内时Meshery 会自动将集群标识注入实例 spec保证实例归属于对应集群。非绑定边DBInstance 到 DBSubnetGroup 的网络关系以 edge-binding-network-irndv.json 为例non-binding、edge、subTypenetwork该关系连接 DBInstancefrom与 DBSubnetGroupto通过mutatorRef将子网组显示名写入spec.dbSubnetGroupName。其余 7 条非绑定边覆盖 network、firewall、reference 等子类型从文件名如 edge-non-binding-network-fsjdp、edge-non-binding-reference-bscap、edge-non-binding-firewall-ciqep、edge-binding-firewall-kcbpb 等可以看出组件之间还存在安全组firewall、通用引用reference等约束型连接用于在画布上表达并校验资源间的网络与安全依赖。组件能力每个节点可执行的操作从任一组件定义文件的capabilities数组可以看到 Meshery 为这些 DocumentDB 组件挂载的能力集合capability.meshery.io/v1alpha1版本 0.7.0Performance Testoperator / perf-test对已部署的实例发起负载压测Meshery 负责生成负载、采集指标并呈现结果Workload Configurationconfiguration / config针对声明态declaration组件做工作负载级配置Labels and Annotations Configuration配置标签与注解Relationshipsview / relationship查看该组件的全部关联关系Json Schemaview / definition查看组件定义 JSON SchemaStyling与Change Shapestyle调整画布中组件的视觉样式与形状Compound Drag And Dropgraph / compoundDnd把组件拖入父组件容器以建立层级归属。版本演进与落地路径models/aws-documentdb-controller/下共维护 6 个控制器版本目录v1.4.2、v1.5.0、v1.5.1、v1.6.0、v1.7.0、v1.7.1各版本下组件与关系文件结构一致便于追踪 ACK documentdb-controller 上游演进。落地到 Meshery 的典型路径为在 Meshery 中启用/加载aws-documentdb-controller模型并完成 AWS 账户凭据对接ACK 控制器需要具备 DocumentDB 与 IAM 权限的凭证在画布中依次拖入 DBSubnetGroup、DBCluster、DBInstance利用内置关系让组件自动互填dbSubnetGroupName、dbClusterIdentifier等引用字段按上文的 spec 参数配置引擎版本、实例规格、端口、VPC 安全组与备份窗口密码等敏感值通过masterUserPassword的 Secret 引用注入通过 FieldExport 将连接信息导出到 Secret/ConfigMap供业务工作负载消费对存量资源使用 AdoptedResource 纳管通过 IAMRoleSelector 为命名空间或资源贴上角色授权利用节点的 Performance Test 能力对部署后的 DocumentDB 执行压测验证。需要说明的是以上结论均以本仓库当前实际内容为准组件/关系 schema 直接取自 模型定义 与 components 下的 JSON 文件实际运行时仍受 AWS 服务配额、控制器版本与 IAM 权限制约生产环境建议先在测试账号中验证。赞分享云原生微服务运维DevOps【免费下载链接】mesheryMeshery, the cloud native manager项目地址https://gitcode.com/GitHub_Trending/me/meshery点击查看免费下载相关推荐在 Meshery 中以代码形式管理 AWS IAMaws-iam-controller 模型深度解析在 Meshery 中以代码形式管理 AWS IAMaws iam controller 模型深度解析 本篇指南聚焦 Meshery 对 AWS Identi云原生微服务运维DevOps在 Meshery 中以可视化方式管理 APISIX Ingress Controller模型组件与 CRD 配置深度解析在 Meshery 中以可视化方式管理 APISIX Ingress Controller模型组件与 CRD 配置深度解析 本篇技术指南围绕 Meshery云原生微服务运维DevOps在 Meshery 中以基础设施即设计IaD方式管理 AWS SNSaws-sns-controller 模型深度解析在 Meshery 中以基础设施即设计IaD方式管理 AWS SNSaws sns controller 模型深度解析 本文以 Meshery 中 aws云原生微服务运维DevOps创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表