TAP 系列文章2 | Tanzu Application Platform v1.1 安装配置步骤
Tanzu Application Platform v1.1安装配置步骤
如上图所示,Tanzu Application Platform v1.1的安装,主要分成以下步骤:
- TAP安装前的准备;
- 安装Tanzu CLI命令行工具与Tanzu Cluster Essentials(Tanzu K8S安装包管理套件);
- 根据集群的使用角色,参考前文提到的内容,准备TAP Profiles配置文件tap-values.yaml;
- 安装Tanzu Application Platform v1.1;
- 验证安装环境 ;
TAP 安装前的准备
注意:Tanzu Application Platform v1.1的官方安装说明参考如下位置,本文旨在帮助初次安装TAP的用户快速配置和构建TAP运行环境。
注意:本文安装过程中的桌面CLI环境基于MacOS&Linux 操作系统。对于Windows CLI环境的操作请参考官方安装文档。
准备VMware Tanzu Network登录账号并下载TAP安装包
- 登录 Tanzu Network注册并下载Tanzu Application Platfrom v1.1 packages;
- 保证TAP的安装K8S Cluster Worker的网络能够访问:https://registry.tanzu.vmware.com;
DNS Records的准备
- 准备应用部署后的访问域名,利用TAP部署的应用,部署完成后可以直接利用配置的域名进行访问;安装前需要准备好这个域名;例如:<app-name>.tap-app.example.vmware.com
Kubernetes Cluster运行环境的准备
当前TAP v1.1支持的Upstream Kubernetes版本:v1.21,v1.22,v1.23;
当前支持的K8S发行版的提供商:
- Azure Kubernetes Service
- Amazon Elastic Kubernetes Service
- Google Kubernetes Engine
- Tanzu Kubernetes Grid multicloud
- vSphere with Tanzu v7.0 U3a
TAP 安装Tanzu CLI命令行工具与Tanzu Cluster Essentials
- 下载 VMware Tanzu Application Platform tanzu-cli,根据安装桌面OS下载 ( tanzu-framework-bundle-windows, tanzu-framework-bundle-mac, or tanzu-framework-bundle-linux)
- 安装 Tanzu CLI for Linux
# Move to the folder containing the downloaded file. cd ~/Downloads # Make a directory to extract the archive into mkdir tanzu # Extract the tar archive into your ~/tanzu directory tar -xvf tanzu-framework-linux-amd64.tar -C ./tanzu # Change your working directory to the extracted archive directory. cd tanzu # Run the install binary to complete the base installation. sudo install cli/core/v0.11.2/tanzu-core-linux_amd64 /usr/local/bin/tanzu # Install the Tanzu CLI Plugins export TANZU_CLI_NO_INIT="true" tanzu plugin install --local cli all
- 验证 Tanzu CLI 的安装
# Expect version: v0.11.2 tanzu version # Expect the package, secret, apps, services, and accelerator plugins to have a STATUS of 'installed' tanzu plugin list
安装TAP Cluster Essentials 套件
前文说过,为了简化、角色化TAP 的K8S环境安装;VMware TAP team准备了标准化的TAP安装套件,简化TAP的安装、配置(模板参数化,定制化)、升级(Upgrade)、模块参数更新;这些Ops功能,由TAP Cluster Essentials套件负责帮助客户完成。
下面的安装过程仍然以Liunx系统作为客户的参考:
- 登录 Tanzu Network,下载 Cluster Essentials for VMware Tanzu product。
- 下载 tanzu-cluster-essentials-linux-amd64-1.1.0.tgz 到Linux桌面 Downloads folder。
- 在 Terminal 中按如下步骤操作:
# Move to the Downloads folder cd ~/Downloads # Specify the VMware Cluster Essentials for Tanzu bundle details export INSTALL_BUNDLE="registry.tanzu.vmware.com/tanzu-cluster-essentials/cluster-essentials-bundle@sha256:ab0a3539da241a6ea59c75c0743e9058511d7c56312ea3906178ec0f3491f51d" export INSTALL_REGISTRY_HOSTNAME="registry.tanzu.vmware.com" export INSTALL_REGISTRY_USERNAME='' # <- Insert Your Tanzu Network username export INSTALL_REGISTRY_PASSWORD='' # <- Insert Your Tanzu Network password # Make a folder for the extracted archive files mkdir tanzu-cluster-essentials # Extract the archive tar -xvf tanzu-cluster-essentials-linux-amd64-1.1.0.tgz -C ./tanzu-cluster-essentials # Move to the extracted folder cd tanzu-cluster-essentials # Install VMware Cluster Essentials for Tanzu ./install.sh
- 安装验证如下:
# Ensure that kapp-controller and secretgen-controller are ‘running’ kubectl get pods --all-namespaces
安装Tanzu Application Platform v1.1 – 安装包工具集
前文提到TAP的安装需要考虑使用的角色,采用合适的参考架构作为部署参考;下面的安装,假设的使用角色是Ops工程师,计划在单一的K8S环境中验证TAP的全部功能,采用Full Profile配置;未来再考虑参考架构中提到的多角色,多集群配置的场景;
事实上,多角色、多集群的TAP部署 ( Iterate、Build、Run、TAP GUI),在步骤上跟下面提到的安装完全一致,区别在于tap-values.yml 文件的参数配置;本文通过full profiles的tap-values.yml给大家展示,用户可以根据集群的角色,自行裁剪full profiles的tap-values.yml以满足多集群部署的需求;更为详细的多集群部署需要注意的参数配置,请参考官方TAP安装文档;
- 准备 Tanzu Application Platform 应用bundle安装环境参数
# Create Tanzu Application Platform Install Environment Variables export TAP_VERSION="1.1.0" export TAP_NAMESPACE="tap-install" export DOMAIN="example.com" export APPS_DOMAIN="apps.example.com" # Set the developer’s ‘push’ capable docker container registry details export DOCKER_SERVER="https://index.docker.io/v1/" export DOCKER_USERNAME='' # < Insert Your Docker Hub username export DOCKER_PASSWORD='' # < Insert Your Docker Hub password (or Access Token if 2FA is enabled) kubectl create ns $TAP_NAMESPACE
- 准备 Tanzu Application Platform 应用bundle Tanzu Network 下载用户配置
tanzu secret registry add tap-registry \ --username $INSTALL_REGISTRY_USERNAME \ --password $INSTALL_REGISTRY_PASSWORD \ --server $INSTALL_REGISTRY_HOSTNAME \ --namespace $TAP_NAMESPACE \ --export-to-all-namespaces \ --yes
- 安装 Tanzu Application Platform 应用bundle
tanzu package repository add tanzu-tap-repository \ --url $INSTALL_REGISTRY_HOSTNAME/tanzu-application-platform/tap-packages:$TAP_VERSION \ --namespace $TAP_NAMESPACE
- 安装 Tanzu Application Platform 应用bundle,验证
# Check for STATUS: “Reconcile succeeded” tanzu package repository get tanzu-tap-repository --namespace $TAP_NAMESPACE # Check for a big list of ready to use packages tanzu package available list --namespace $TAP_NAMESPACE
注意:Tanzu Application Platform安装的过程中,受到客户网络环境的影响,可能会发生tanzu CLI 超时退出的情况,这个时候无需对安装过程进行干扰,系统会继续安装,直至安装成功;
安装Tanzu Application Platform v1.1 – Iterate Profile 开发环境
TAP Iterate Profile 的安装主要针对Dev团队这个角色,当然也可以作为Ops团队熟悉TAP时构建的测试环境;另外,TAP 的Iterate环境也比较适合ISV作为COTS的应用的开发、调试环境;
- 下载并配置 Iterate Profile tap-values.yml
注意: 下面操作的运行依赖于前面章节配置的环境变量;
# Download the template file. curl -o template-tap-values.yml https://raw.githubusercontent.com/benwilcock/TAPonLAP/main/TAPonLAPv1.1/template-tap-values-nix.yml # Customize the template using the environment variables you created in step 1. envsubst < template-tap-values.yml > tap-values.yml
- 安装TAP Iterate Profile
注意:TAP 的安装依赖于主机/Host性能、网络带宽等因素的影响,可能需要比较久的时间;在此期间如果发生tanzu CLI退出的情况,无需进行人工调试,等待至少45min后再通过基本的Kubernetes调试技巧进行故障排查。
tanzu package install tap -p tap.tanzu.vmware.com -v $TAP_VERSION \ --values-file tap-values.yml \ --poll-timeout 45m \ --namespace $TAP_NAMESPACE
- 安装TAP Iterate 环境安装后的验证
安装Tanzu Application Platform v1.1 – Full Profile 环境
TAP full profile的安装过程跟 TAP Iterate profile非常接近,主要的不同点就是tap-values.yml的准备;客户可以自行参考TAP v1.1官方安装手册中的full profile建议的tap-values.yml,作为安装初始配置,进行定制化,位置如下:
https://docs.vmware.com/en/Tanzu-Application-Platform/1.1/tap/GUID-install.html#install-profile
- 安装TAP Full Profile
注意:TAP 的安装依赖于主机/Host性能、网络带宽等因素的影响,可能需要比较久的时间;在此期间如果发生tanzu CLI退出的情况,无需进行人工调试,等待至少45min后再通过基本的Kubernetes调试技巧进行故障排查。
tanzu package install tap -p tap.tanzu.vmware.com -v $TAP_VERSION \ --values-file tap-values.yml \ --poll-timeout 45m \ --namespace $TAP_NAMESPACE
Tanzu Application Platform v1.1 部署后,功能验证
- 创建应用运行Domain与租户配置
运行在TAP中的托管应用,通过Kubernetes Namespace进行租户隔离;同时根据租户应用所在的Namespace,分配一个访问应用的URL,供应用的使用者访问;
下面的步骤,用来创建租户应用的Kubernetes Namespace:
# Set the developer namespace value to 'default' export TAP_DEV_NAMESPACE="default" # Create a namespace for the developer to work in kubectl create ns $TAP_DEV_NAMESPACE # Add the secret for the BUILD Container Registry tanzu secret registry add registry-credentials \ --server $DOCKER_SERVER \ --username $DOCKER_USERNAME \ --password $DOCKER_PASSWORD \ --namespace $TAP_DEV_NAMESPACE # Obtain the service accounts file curl -o serviceaccounts.yml https://raw.githubusercontent.com/benwilcock/TAPonLAP/main/TAPonLAPv1.1/serviceaccounts.yml # Add the necessary RBAC Roles, Accounts, Bindings etc... kubectl -n $TAP_DEV_NAMESPACE apply -f "serviceaccounts.yml"
- 创建TAP托管的Web类型应用
在TAP的环境中,可以运行不同类型(风格)的应用,例如:传统Spring MVC风格的应用,或者基于Microservice架构的API风格的应用,比如:SpringBoot + Spring Cloud Service 类型的应用;下面的例子,演示一个基于Spring Boot的API风格的应用通过TAP进行安装、运行和访问和托管;其它风格的应用的部署,参考官方文档或者咨询VMware专家;
利用Tanzu TAP运行基于K8S的Web或者API应用,无需使用者提前进行OCI镜像的打包;平台服务负责应用OCI镜像的构建与K8S部署模板的实例化;TAP 开箱即用的模板引擎,甚至还负责应用的配置管理与蓝绿发布,K8S Reliability等模板的实例化,极大的简化了Dev对K8S的应用流程;
# Create the workload tanzu apps workload create tanzu-java-web-app \ --git-repo https://github.com/sample-accelerators/tanzu-java-web-app \ --git-branch main \ --type web \ --label app.kubernetes.io/part-of=tanzu-java-web-app \ --label tanzu.app.live.view=true \ --label tanzu.app.live.view.application.name=tanzu-java-web-app \ --annotation autoscaling.knative.dev/minScale=1 \ --namespace $TAP_DEV_NAMESPACE \ --yes # Watch the platform build the workload. Press Ctrl-C to exit. tanzu apps workload tail tanzu-java-web-app --since 10m --timestamp
安装成功后的验证如下:
结束语
Tanzu Application Platform的安装具有高度的可定制以满足不同场景,角色,可用性等配置与安装需求;相信读者在实践TAP的安装过程中,一定会遇到特殊的配置场景,环境等因素导致安装失败;这种情况,请阅读TAPv1.0官方安装手册,里面有更为详细的配置与环境说明;Troubleshooting技巧与工具的使用,以及遇到特殊问题后的Support渠道说明;
作者简介:
毕建华,VMware大中华区应用现代化部门高级解决方案架构师。多年来一直从事云原生相关领域工作,包括系统设计以及参与多种容器调度平台开发,部署,运维工作;包括,基于Mesos、DCOS平台,开发Dbaas框架;参与Kubernetes开源项目KUDO的开发与推广;CNCF认证CKA工程师;VMware认证Spring Professional工程师。
来源|公众号:VMwareTanzu云原生

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
在 Kubernetes 中基于 StatefulSet 部署 MySQL(上)
大家好,我是老 Z! 本文实现了 MySQL 数据库在基于 KubeSphere 部署的 K8s 集群上的安装部署,部署方式采用了图形化这种形式。下一篇文章将会涉及 GitOps 的基础操作,部署过程涉及的所有 YAML 文件都会使用 Git 进行版本管理,并存放在 Git 仓库中,敬请期待! 本文部署的 MySQL 选择了比较保守的 5.7 系列,其他版本可能会有不同。本文的操作仅适用于小规模数据量且对可靠性和性能要求不高的数据库使用场景,例如开发测试环境、例如我生产环境的 Nacos 服务。生产环境或是重要的数据库个人不建议将数据放到 K8s 上,优先采用云服务商提供的 RDS,其次自己利用虚拟机搭建 MySQL 主从或是 Galera Cluster,且一定做好备份方案。 数据库的可靠性、可用性是运维的重中之重,不容忽视,切记!!! 本文知识点 定级:入门级 单节点 MySQL 在 K8s 上的安装配置 KubeSphere 图形化部署工作负载 GitOps 入门 Git 常用操作 配置代码如何实现在 GitHub 和 Gitee 保持同步 MySQL 性能测试基础 运维思想、思...
- 下一篇
sitesCMS v3.0.2 发布,升级 JFinal 等依赖
sitesCMS简介 sitesCMS 是基于JFinal的多站点CMS内容管理系统,遵循JFinal极简设计理念,轻量级、易扩展、学习简单,除JFinal外无其他重度依赖。精简的多站点功能设计,极易二次开发,一天一个网站不是梦。 官方网站:http://sitescms.top/ 视频教程:https://ke.qq.com/course/3551225?tuin=92419b8c 更新内容 近期发布了两个版本,3.0.1是修复版,未单独发布公告,这里一并说明。 v3.0.2更新 升级JFinal至5.0.0版本 升级JFinal-Undertow至3.0版本 升级MySQL驱动至8.0.29版本,注意修改数据库驱动类 升级cos至2022.2版本,支持2G大文件 应用JFinal5.0的新特性,#para指令支持like查询 v3.0.1更新 修复文章编辑时TinyMCE图片不显示问题 新的视频课程 JFinal 5.0 极速入门 基于JFinal 5.0录制5节免费的极速入门课程,使用IDEA开发工具,主要讲解项目创建、开发、部署等核心问题,详细课程如下: JFinal简介 使用...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启