题图摄于北京三环路
【编者注】为了能够让读者比较清晰地了解 TAP 的产品技术体系,以及 TAP 对企业用户 IT 的开发和运维带来的诸多产品技术价值和能力价值,转发Tanzu 云原生公众号的TAP系列文章,从如下的不同角度,来进行详细阐述,敬请留意:
· TAP 的技术概览
· TAP 1.1 的安装配置实现
· TAP 的部署参考架构介绍
· 基于 Backstage 的 TAP 开发者门户
· TAP 学习中心-通过动手教程来学习
· 应用开发加速器
· 云原生构建服务
· TAP 的应用模型
· 自动化部署的必要条件-易于管理的流水线配置
· 从惯例服务谈 TAP 的应用感知能力
· 利用 TAP 实现应用云调试与面向开发者的应用运行状态监控
· 小步快跑的代码扫描,实现安全左移
· 基于 Knative 的 TAP 云原生运行时
本篇转发TAP系列文章之三, TAP 的部署参考架构。
Tanzu Application Platform
安装参考架构
Tanzu Application Platform 的使用角色
Tanzu Application Platform 作为面向应用(Web 应用,Micoservice 应用等)的部署与管理平台,在设计之初就充分的考虑到了平台的不同使用角色对平台个性化需求,例如:功能配置,可用性部署等;这种因为角色而产生的平台个性化需求,决定了 TAP 的安装参考架构与安装部署配置(TAP Profiles)。
参考下图,TAP 在设计之初,考虑到了使用平台的三类用户,分别是:
· Dev 开发工程师
作为 TAP 平台的主要受众群体,Dev 利用 TAP 构建的应用部署平台,进行日常的 K8S 分布式应用开发,编译与构建,测试与集成测试;TAP 为 Dev 群体提供了简单易用的应用开发与 K8S 云运行环境;
· Ops 工程师
作为部署与运维 TAP 平台的技术团队,需要满足 Dev 使用 TAP 的日常运维需求之外;还需要特别考虑应用运行期间的资源分配与故障隔离、平台的高可靠架构、TAP 平台的访问安全与策略管控等精益相关的架构、优化与配置。
· Sec 安全与合规工程师
对于一个高度自动化的应用部署平台,在规格化、标准化不同形态应用的 K8S 部署与发布后;应用的安全授信与合规不得不在规模化、生产就绪的 TAP 使用的全生命周期进行考虑和配置、部署;
TAP 面向角色的参考架构
与部署配置 (Profiles)
面向开发团队的 TAP Workspace Cluster
安装与部署配置
15 要素(15-factor)云原生应用最佳实践告诉我们,作为 Dev 工程师的日常开发环境,需要与 Ops 部署的应用部署环境进行能力配对(Paring);带来的好处是显而易见的:
· 便于开发工程师的集成测试;特别是在微服务场景下,工程师的桌面算力,Data 服务依赖,导致必须通过远程的 Dev 环境进行功能验证与集成测试;
· 为应用最终能够一致的运行在 Ops 部署的应用运行生产环境提供了支撑与保证;
· 开发工程师提前熟悉应用 PaaS 平台的基本功能,为后期故常排除、版本回退做了技术储配;
因此,一个多租户的 TAP Dev 部署环境就变得非常重要。同时,TAP Dev 环境也需要做出适当的简配,不一定与真实的 TAP Ops 生产环境做到 100% 的匹配以减少 Dev 环境的部署、配置的复杂度,从而减少 Dev 环境对计算资源的需求与日常运维负担;
VMware 推荐的 TAP Dev (Workspace Cluster)环境的部署参考架构如图:
TAP Dev Workspace Cluster 部署计算需求如下:
· K8S 集群需要配置有 LoadBalancer 作为 TAP ingress controller;也可以使用开箱即用的 VMware Tanzu Contour;
· 需要配置有 K8S default storage class;TAP 部分组件需要云原生的 volume 持久化状态;
· TAP 的部署 K8S 集群 worker node 全部内存配置至少大于 16 GB;单个 worker node 的内存配置需要至少大于 8 GB;
· Optional:配置有 Logging Infra 与Monitoring Infra,可以选择安装 Tanzu Standard Ops Suite。
面向生产的 TAP Cluster 安装与部署配置
作为 TAP 的生产环境,推荐的安装与部署参考架构,主要考虑环境故障隔离,功能责任分离,计算调优等因素;将 TAP 按照逻辑功能与角色,划分成 Build Cluster,Run Cluster 与TAP UI 控制台 Cluster;参考下图:
· TAP Build Cluster
TAP Build Cluster 是 TAP 应用构建计算集群, 作为 TAP Supplychain 的计算环境,将不同形态的应用利用标准化的 Supplychain 进行应用的 CI 构建,OCI 镜像打包与推送,安全漏洞扫描与应用依赖物料清单 metadata BOM 持久化(应用依赖物料清单作为安全漏洞 audit 的资产,需要持久化保存),应用单实例启动参数配置,应用 K8S 运行时配置,运行精益配置生成,最后将输出的应用资产 Assets(应用 OCI image 与运行时配置)推送到 GitOps 仓库以供后续 Run Cluster 进行部署,同时为 Change Management 做好了清单与审计 BOM 的准备;
· TAP Run Cluster
TAP Run Cluster 准确的说也可以分成不同的环境,例如:QA、Stage、Production;应用程序根据发布的流程,在 QA、Stage 环境中进行验证并过渡到真正的 Production 生产环境中;Run Cluster 的部署 assets(应用OCI image与运行时配置)来自于 TAP Build Cluster,基于这个验证过的 assets,Ops 团队可以进一步根据生产环境的部署需求,对应用的部署进行生产环境调参与精益调优,例如:HA 的多副本配置,注入应用依赖的持久化中间件,暴露监控 endpoint 并对接平台监控 Infra 等;
· TAP GUI Cluster
TAP GUI Cluster 为 Ops 与 Dev 团队提供了多集群、集中式的应用管理控制台;团队成员可以利用 TAP GUI 查看运行在不同 TAP Run Cluster 中的应用运行状态;同时,TAP GUI 还为 Dev 提供了应用 API、DOC 等控制台能力;详情参考 TAP GUI 相关文档;
TAP 安装与部署配置 Profiles
要想了解云原生、机器学习和区块链等技术原理,请立即长按以下二维码,关注本公众号亨利笔记 ( henglibiji ),以免错过更新。