前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tanzu Application Platform 学习中心:动手教程来学习

Tanzu Application Platform 学习中心:动手教程来学习

作者头像
Henry Zhang
发布2023-04-04 08:41:54
3890
发布2023-04-04 08:41:54
举报
文章被收录于专栏:亨利笔记

题图摄于北京德胜门

本篇转发TAP系列文章之八,Tanzu Application Platform (TAP) 的学习中心。

背景

Tanzu Application Platform 致力于为开发团队、应用安全团队、应用运维团队打造一条简化的端到端开发运维体验的路径,以提升软件开发效率、加固应用安全、简化应用运维复杂度。

可见 TAP 产品的涵盖面很广泛:包括基于 Kubernetes 的 Cloud Native Runtimes 运行时;应用 Source to URL 的软件供应链;面向应用开发者的开发插件,工具和应用仪表盘App Live View;API Portal 以及应用服务目录和服务绑定等。

如何让应用开发和应用运维人员快速了解和掌握整套平台体系以及动手实验?成为了开发和运维团队领导者们关注的焦点之一。

有没有通用的学习框架和平台,帮助团队更直观的掌握 PaaS 平台相关内容?如何更高效、更方便的对 TAP 和 K8S,容器平台的用户进行培训?作为产品功能的使用者和推广者,如何将相关知识,更直观的 hands-on 环境传授给其他用户?等等。那么,TAP Learning Center 目标就是设计并解决这类问题。

传统 PaaS 类平台软件

复杂的上手和学习过程

1)  搭建和协调底层 IaaS 环境;搭建和协调 K8S 集群环境;

2)  安装相关的 PaaS 和组件;

3)  配置和分配学习环境资源;

4)  创建和配置演示用专有的环境,并保存模版;

5)  用模版创建多套类似实验环境,分配给用户实验和演示使用,并维护多套环境的生命周期;

6)  管理员自己定期检查确认上述环境是否在使用,根据情况销毁实验环境和回收资源;

7)  当随机发生新的培训、自己学习和实验、workshop、参展和演示等请求时 ,申请并重复上述所有步骤;

8)  很可能时间紧、来不及而造成延期,或者需要连续加班来填坑;

9)  甚至大多数情况是没有实际的动手学习

10) …… 

问题和场景

PaaS 类产品的安装配置,构建和使用相对复杂难度较高。使用者初期经常会遇到下述类似问题(包括但不限于):

·  合作伙伴不同团队,每次希望演示和讲解 TAP,Tanzu K8S,TBS 等产品时,都需提前耗费很多时间搭建临时环境,重复工作量加大。

·  客户开发、测试、运维团队成员,不同团队的不同个人希望有自己独立的 K8S 或 TBS,TAP 的自我动手操作和学习环境;每个用户使用的环境需要各自独立,避免影响。但很难得到这样的支持。

·  对于前述相互隔离的环境,最好可以由 Learning Center 和 Workshop 管理员进行控制管理,比如限制同时创建的独立学习空间环境个数,以限制 Learning Center 占有的集群资源总量,保障服务质量。

·  在展商产品宣讲会和演示活动中, 参会用户希望通过简单动手操作,直观理解 Tanzu 产品特性。

·  学习中心内的学习单元-也称为 workshop,可以根据用户独立创建、运行和销毁。Workshop 环境完成后可以销毁以释放 Pod 等各类资源,但不需要销毁后台运行的 K8S 集群。需要自助式服务创建、运行和回收管理实验环境。

·  ……

所以我们需要一种更为便捷,高效的构建和管理 Learning Center 的方法来解决以上的各种问题。

TAP 学习中心技术原理

核心概念:

· Training Portal —由管理员在集群中创建,触发培训门户的部署。Training Portal 提供了一个基于 web 的界面,用于注册和访问 Workshop。它还提供了一个 REST API 来请求对 workshop 的访问。

· Workshop —提供 workshop 的定义。由管理员预加载到集群中,它是 workshop 内容托管的位置,以及将 workshop 所需的内容和其他工具打包在一起的容器映像。

· Workshop Environment —由 Training Portal 触发为 Workshop 创建一个 Workshop Environment。系统将为 Workshop 设置一个 NameSpace,其中运行 Workshop Session 和部署共享资源。

· Workshop Session —由 Training Portal 触发针对 Workshop Environment 的 workshop 实例。Operator 设置特定于 workshop session 的名称空间,并预先创建相应额外资源。也可以在需要时分发,或者根据需要创建资源。

Learning Center 平台架构

学习中心依靠 K8S Operator 完成工作。Operator 通过使用一组特定于学习中心的 Custom Resources 来控制。如图所示,

· 创建一个培训门户 Training portal;

· 然后该门户 Training portal 自动触发一个或多个 workshop environments 的安装和设置过程,每个不同的 workshop 都有一个 workshop environment;

· 当用户访问培训门户 Training portal 并选择他们想要进行的 Workshop 时,培训门户 Training portal 根据相应的 workshop environment 为该用户分配和创建 workshop session;

· 并将用户定向到相应的 workshop session 实例。

Workshop session 与 Kubernetes Nampspace 关联起来,在该会话中使用。应用于该会话的 Account 的 RBAC(基于角色的访问控制),确保用户只能访问对应的 NameSpace 和资源。

TAP 学习中心的使用介绍

1.在 TAP Profile 中确认已经安装 Learning Center Packages

如图所示,通过 tanzu package CLI 查看 Learning Center 安装和相应的 Kubernetes 资源运行状态正确。

$tanzu package installed list -n tap-install

$tanzu get trainingportals

2.通过 Training Center 链接打开 Learning Center Workshop 界面

点击相应的 workshop 之后,可以看到新的 workshop session 资源自动创建并正常运行。

:当多次点击创建 workshop 时,会自动创建多个隔离的 workshop,自动分配给用户使用。

如下图所示,资源是相互隔离的 Namespace: learninig-center-guided-w01-s010 和 learninig-center-guided-w01-s011。

3.浏览和使用 Learning Center 中 TAP workshop

Workshop 可以是一个 Kubernetes workshop 或 TAP workshop。

左侧为 MarkDown 风格的指导说明,右侧则可以展示 Terminal 终端、Console、IDE 编辑器或者 Slides PPT。

以 Markdown 或 AsciiDoc 文件的形式指导用户完成 Workshop。指导说明可以被注解为可执行命令,这样当在 Workshop 仪表板上单击时,它们会在右侧的终端上自动为用户执行和展示结果。文本被标注为可复制的,所以当在 Workshop 仪表板上单击时,它会被复制到浏览器的粘贴缓冲区中,以便粘贴到终端或其他 web 应用程序。在 web 浏览器中提供 Workshop 仪表板编辑器(VSCode IDE)的访问。提供访问基于 web 的控制台 Shell 和 Console 来访问 Kubernetes 集群。支持 Kubernetes 仪表盘或 Octant 的使用。能够在 Workshop 仪表板上显示特定 PPT 幻灯片。

TAP Learning Center 示例过程图解:

a) 点击 workshop 进入如下页面,左侧是 Workshop Overview 说明向导,右侧是包括 Terminal/Console/IDE Editor 的展示页面。

本例中点击进入 Learning Center 按钮,进入 Application Accelerator 页面。

b) 左侧顺序点击 MarkDown 的向导链接 link,Learning Center 会帮助您展示 K8S resource,并自动打开 Application  Accelerator 页面,引导自动生成不同类型的应用程序代码框架。

c) 通过 Accelerator 下载代码框架后,通过 IDE Tools 进行代码查看和编辑。

d)右侧嵌入式 IDE 编辑界面中,包含完整 IDE 编辑器,并自动打开刚刚通过 Accelerator 创建的代码框架。

e) 点击左侧说明向导中

Editor: Open file “spring-sensors/Tiltfile”

Editor:Execute command “tanzu.liveUpdateStart”

在右侧 IDE Editor 中看到,自动执行 liveUpdate 模式。任何代码更新会自动进行重新编译、打包和部署的过程。

f) 下一步,更新代码并 submitting the build, git 提交代码,并查看 supply chain。

g) 如图点击指导说明中的「App URL」,则自动打开浏览器展示 TAP 的应用界面和应用 Supply Chain 视图。您可以点击「结束 workshop」终止并回收资源。

TAP 学习中心总结

TAP 学习中心帮助用户快速学习和掌握 TAP,K8S,CNR,TBS 等技术、产品和组件。提供一个通用的学习框架和平台,帮助团队更直观的掌握 PaaS 平台相关内容。大幅提升开发和运维人员掌握平台的效率。

为演示和展台、活动等,提供灵活的产品和技术演示环境,自助式创建和管理资源。同时,TAP 学习中心本身支持扩展和自定义 Workshop 内容和模块并支持扩展能力。请持续关注 TAP 并与 TAP 产品和服务团队联系使用 TAP 和学习中心。

作者简介

Peng Liu, VMware 资深云原生应用架构师,多年软件开发设计和产品管理工作。

在 VMware/Pivotal 之前曾就职于 IBM 中国实验室、Oracle、Ericsson 等 IT 企业,从事企业级平台和云计算相关软件的系统架构、产品管理和研发等工作。具有丰富的电信和银行、交通等行业经验。

拥有 Spring Core professional,  Kubernetes CKA, AWS Solution Architect,Cloud Foundry 和软件架构师认证,目前主要专注企业级 PaaS,容器云平台产品及云原生微服务应用架构设计。


要想了解云原生、机器学习和区块链等技术原理,请立即长按以下二维码,关注本公众号亨利笔记 ( henglibiji ),以免错过更新。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 亨利笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档