腾讯云tsf平台-部署微服务项目

腾讯云tsf平台-部署微服务项目

  • 一、腾讯云tsf平台简介
  • 二、部署准备0(数据库、中间件等部署)
  • 三、部署准备1(创建集群和命名空间)
    • 1、准备部署资源--集群
    • 2、使用容器部署微服务
      • 步骤 1:创建容器集群
      • 步骤 2:创建命名空间
  • 四、部署准备2(导入云主机,初始化集群)
  • 五、创建容器应用
  • 六、创建部署组
  • 七、创建镜像和推送镜像到仓库
  • 八、部署应用及访问测试


💖The Begin💖点点关注,收藏不迷路💖

在这里插入图片描述

一、腾讯云tsf平台简介

腾讯云tsf平台(Tencent Service Framework)是一款用于部署和管理微服务架构的云原生应用平台,可使用以下两种方式部署。本文档使用容器部署微服务。

1、使用容器部署微服务
2、使用虚拟机部署微服务

二、部署准备0(数据库、中间件等部署)

1、应用所需数据库正常。
2、中间件等,如nginx、redis等正常。

三、部署准备1(创建集群和命名空间)

1、准备部署资源–集群

集群是指云资源管理的集合,包含了运行应用的云主机等资源。集群包括虚拟机集群和容器集群两种类型。

集群操作支持新建集群、删除集群、导入云主机、移出云主机等。

2、使用容器部署微服务

步骤 1:创建容器集群

TSF 容器功能依赖于底层容器平台。

1.登录 TSF 控制台。 
2.在左侧导航栏中,单击 【集群】。
3.在集群列表页的左上方,单击【新建集群】。
4.设置集群的基本信息。 
• 集群名称:集群名称,不超过 60 个字符。 
• 集群类型:选择集群类型 – 虚拟机集群:虚拟机集群中的主机用于部署虚拟机应用。
– 容器集群:容器集群中的主机用于部署容器应用。
– 集群描述:集群的描述,不超过 200 个字符。

注:独立版暂不支持导入容器集群功能

在这里插入图片描述

5、集群创建完后如下:

在这里插入图片描述

步骤 2:创建命名空间

1、命名空间概述

命名空间 ( Namespace ) 是对一组资源和对象的抽象集合。例如可以将开发环境、联调环境和测试环境的服务分别放到不同的命名空间中。在网络连通性的前提下,同一命名空间内的服务可以相互发现和相互调用。

2、命名空间使用场景

使用命名空间划分开发环境和测试环境

场景:用户希望部署一套开发环境和一套测试环境,两套环境支持部署同一个应用不同版本的程序包。两套环境可以共享一个集群作为底层部署资源。

解决方案:

1.创建两个命名空间分别为 dev-env 和 test-env 作为开发环境和测试环境。
2.创建一个虚拟机集群,并绑定 dev-env 和 test-env 命名空间。
3.创建应用(如 promotion),并创建 2 个部署组(dev-promotion 和testpromotion),分别选择 dev-env 和 test-env 命名空间。
4.部署组 dev-promotion 部署程序包版本 v1.1,部署组test-promotion部署程序包版本 v1.0。 

如果用户希望开发和测试环境的部署资源是隔离的,可以使用两个集群来划分开发和测试环境。

3、实现服务跨集群访问

在网络连通性的前提下,同一命名空间内的服务可以相互发现和相互调用。如果要实现跨集群的服务访问,有两个前提:
1.集群内实例网络互通
2.集群关联相同的命名空间。多个集群通过命名空间名称(而不是命名空间ID)作为关联的 key。用户可以在命名空间一级页面中看到关联的集群信息。

例如:有 2 个集群分别是 cluster-1 和 cluster-2,两个集群内实例网络互通,并且都关联了命名空间 test-namespace。要实现跨集群访问,需要确保在创建部署组 provider-group 和 consumer-group 时,使用相同的命名空间testnamespace。

在这里插入图片描述

4、创建命名空间并关联集群

创建命名空间

1.登录 TSF 控制台,在左侧导航栏中,单击【命名空间】。
2.在命名空间列表页的左上方,单击【新建命名空间】。
3.在命名空间对话框内填写名称。 
4.单击【提交】,完成创建。

在这里插入图片描述

集群关联命名空间

1.选择目标集群,进入集群详情页,单击【命名空间】标签页。
2.在命名空间列表左上方,单击【关联命名空间】。 
3.选择要关联的命名空间,并单击【提交】。 

集群仅支持关联自定义命名空间。

删除命名空间

前提条件:删除命名空间前,需要先解除命名空间与集群的绑定关系(解除命名空间绑定时,需要先删除具有该命名空间属性的全部部署组)。

解除关联集群

1.登录[TSF 控制台,在左侧导航栏中,单击【集群】。
2.选择目标集群,进入集群详情页,单击【命名空间】标签页。
3.在命名空间列表的操作列,单击【解除绑定】。 

在这里插入图片描述

删除集群

1.在控制台左侧导航栏中,单击【命名空间】。
2.在命名空间列表的操作列,单击【删除】。 
3.单击【确认】,即可删除命名空间。

在这里插入图片描述

四、部署准备2(导入云主机,初始化集群)

云主机导入

云主机用于部署应用,您需要先将云主机导入到集群中。

1.在集群列表页中,单击目标集群的 ID/集群名 。 
2.在云主机列表标签页中,在云主机列表中,单击左上方的【导入云主机】按钮。 

在这里插入图片描述
在这里插入图片描述

移出云主机

注意:只有当节点上没有运行应用时,才可以将节点从集群中移出。停止应用需要到部署组的实例列表页面中操作。

1.在集群列表页中,单击目标集群的 ID/名称,进入集群的节点列表页面。
2. 在集群节点列表页面,选择需要移出的云主机,单击操作列的【删除】。
3. 在弹出的提示框中,单击【确定】将云主机移出节点。

五、创建容器应用

TSF 应用分为两种类型:

• 虚拟机应用:通过程序包部署在云服务器上的应用。
• 容器应用:通过镜像部署在 Docker 容器中的应用。

在这里插入图片描述

虚拟机应用和容器应用的对比如下:

在这里插入图片描述

创建容器应用步骤:

1.登录 TSF 控制台。 
2.在左侧导航栏中,单击【应用管理】。 
3.在应用列表上方,单击【新建应用】。
4.设置应用信息后,单击【提交】按钮。– 部署方式:选择容器部署 
– 应用类型:选择普通应用

在这里插入图片描述

六、创建部署组

1.登录 TSF 控制台。 
2.在左侧导航栏中,单击【部署组】进入部署组详情页。
3.选择部署组所属集群和所属命名空间。 
4.在部署组列表上方,单击【新建部署组】按钮。
5.设置部署组相关信息。 – 部署组名称:部署组的名称,不超过 60 个字符。
– 关联应用:选择部署组关联的应用。 – 实例资源保留:分配给单个实例使用的 CPU 核数和内存资源Request 值。
– 实例数量:一个实例由相关的一个容器构成,可单击+ 和- 控制实例数量。实例数和实例资源限制的乘积不能超过集群剩余的可用资源。– 网络访问方式: 网络的访问方式决定了部署组内应用的网络属性,不同访问方式的应用可以提供不同网络能力。• NodePort:访问方式不绑定外网负载均衡,在集群内所有主机自动分配 NodePort 端口,可通过集群内任意主机IP+NodePort 访问该服务。 
• 集群内访问:访问方式不绑定外网负载均衡,该服务只能在集群内部访问。 – 端口映射:容器端口与服务端口的映射关系。
• 协议:TCP、UDP。 
• 容器端口:容器内应用程序监听的端口。
• 服务端口:集群外通过负载均衡域名或IP+服务端口访问服务;集群内通过服务名+服务端口访问服务。建议和容器端口保持一致。 – 更新方式:选择部署的更新方式。• 快速更新:直接关闭所有实例,启动相同数量的新实例。• 滚动更新:对实例进行逐个更新,这种方式可以让您不中断业务实现对服务的更新。 
– 日志配置项:选择日志配置项,用于采集应用的业务日志数据。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、创建镜像和推送镜像到仓库

注意:制作镜像操作前,请确保执行命令的机器上已安装docker 。

1、在应用列表中,单击创建的应用 ID/应用名。

2、单击镜像标签页,TSF 会针对每个容器应用创建一个名为tsf_<账号ID>/<应用名> 的镜像仓库。

3、使用 Dockerfile 创建镜像。

Dockerfile 内容:

FROM java:8COPY *.jar /test-service-1.0.0.jarLABEL authors ="zyl"CMD ["--server.port=8020"]EXPOSE 8020ENTRYPOINT ["java", "-jar","/test-service-1.0.0.jar"]

----其中,8020为容器端口,Dockerfile文件和test-service-1.0.0.jar放在同级目录。

 docker build -t  test-service:1.0 .

—制作镜像,之后推送到镜像仓库即可。

4、将镜像推送到registry

sudo docker tag [ImageId] registry-tcnp.zyliv2.gz.csg/tsf_100010005/test-service:[tag]sudo docker push registry-tcnp.zyliv2.gz.csg/tsf_100010005/test-service:[tag]

—其中,[ImageId]请根据您的实际镜像ID信息进行填写,[tag]请根据您的镜像版本信息进行填写

5、推送完成后,在镜像版本列表可查看镜像仓库中的镜像。

在这里插入图片描述

八、部署应用及访问测试

1、在部署组页面中,单击目标部署组右侧操作栏的【部署应用】按钮。
2、设置部署相关信息。
– 选择镜像:选择要部署的镜像。
– 单实例资源保留:分配给单个实例使用的 CPU 核数和内存资源Request 值。
– 实例数量:一个实例由相关的一个容器构成,可单击+ 和- 控制实例数量。实例数和实例资源限制的乘积不能超过集群剩余的可用资源。
– 启动参数(选填):设置 Java 应用的启动参数。
3、单击【提交】按钮。
4、部署完成后,如下:
在这里插入图片描述
5、访问测试:

IP+服务端口+服务名

💖The End💖点点关注,收藏不迷路💖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/639675.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

canvas绘制六芒星

查看专栏目录 canvas实例应用100专栏&#xff0c;提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重…

计算机网络——运输层(2)暨小程送书

计算机网络——运输层&#xff08;2&#xff09;暨小程送书 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU) 运输层&#xff08;2&#xff09;TCP/IP对比TCP&#xff08;传输控制协议&#xff09;&#xff1a;IP&#xff08;互联网协议&#xff09;&#xff1a;总结 拥塞…

一.初识Linux 1-3操作系统概述Linux初识虚拟机介绍

目录 一.初识Linux 1.操作系统概述 计算机组成 硬件&#xff1a; 软件&#xff1a; 操作系统&#xff1a; 操作系统工作流程 操作系统作用 常见的操作系统 PC端&#xff1a; 移动端&#xff1a;&#xff08;掌上操作系统&#xff09; 一.初识Linux 2.Linux初识 linu…

【微信小程序独立开发 5】后端搭建联调

前言&#xff1a;上节我们完成了个人信息页的编写&#xff0c;本节完成将个人信息发给后端&#xff0c;并由后端存储 创建Spring Boot项目 配置maven仓库 使用自己下载的maven版本 添加pom文件 <dependencies><dependency><groupId>org.springframework.boo…

【服务器】Xshell与Xftp软件的使用指南

目录 【Xshell软件】 1.1 Xshell软件的功能 1.2 Xshell软件的使用 【Xftp软件】 2.1 Xftp软件的功能 2.2 Xftp软件的使用 可替代产品【FinalShell】 3.1 FinalShell软件的使用 3.2 FinalShell连接服务器失败解决方法 可替代产品【FileZilla】

Java网络编程——UDP通信原理

一、TCP和UDP概述 传输层通常以TCP和UDP协议来控制端点与端点的通信 TCPUDP协议名称传输控制协议用户数据包协议是否连接面向连接的协议。数据必须要建立连接无连接的协议&#xff0c;每个数据报中都给出完整的地址信息&#xff0c;因此不需要事先建立发送方和接受方的连接是…

Java面试题50道

文章目录 1.谈谈你对Spring的理解2.Spring的常用注解有哪些3.Spring中的bean线程安全吗4.Spring中的设计模式有哪些5.Spring事务传播行为有几种6.Spring是怎么解决循环依赖的7.SpringBoot自动配置原理8.SpringBoot配置文件类型以及加载顺序9.SpringCloud的常用组件有哪些10.说一…

toad 库中 iv 计算逻辑

merge 函数默认为决策树合并 决策树叶子结点默认值DEFAULT_BINS 10&#xff0c;可通过 n_bins 人为设置叶子结点数

Eureka整合seata分布式事务

文章目录 一、分布式事务存在的问题二、分布式事务理论三、认识SeataSeata分布式事务解决方案1、XA模式2、AT模式3、SAGA模式4.SAGA模式优缺点&#xff1a;5.四种模式对比 四、微服务整合Seata AT案例Seata配置微服务整合2.1、父工程项目创建引入依赖 2.2、Eureka集群搭建2.3、…

19万9的小米SU7已经彻底被否了

文 | AUTO芯球 作者 | 李诞 雷总 您是真不听劝啊 还要准备和米粉“干一架”啊 我和大家一样啊 这下好了 19万9的小米SU7已经彻底被否了 说实话 我心理真不是滋味 毕竟大家都说了&#xff0c; 9.9是雷爹&#xff0c;9万9是雷帝&#xff0c;15w是雷神 19万是雷总&#x…

Java开发工具:IntelliJ IDEA 2023 for Mac中文激活

IntelliJ IDEA 2023是一款由JetBrains开发的强大的集成开发环境&#xff08;IDE&#xff09;软件&#xff0c;适用于多个编程语言。它旨在提高开发人员的生产力和代码质量。 软件下载&#xff1a;Java开发工具&#xff1a;IntelliJ IDEA 2023 for Mac中文激活 IntelliJ IDEA 20…

[Java面试]JavaSE知识回顾

&#x1f384;欢迎来到边境矢梦的csdn博文&#x1f384; &#x1f384;本文主要梳理Java面试中JavaSE中会涉及到的知识点 &#x1f384; &#x1f308;我是边境矢梦&#xff0c;一个正在为秋招和算法竞赛做准备的学生&#x1f308; &#x1f386;喜欢的朋友可以关注一下&#x…

设计螺栓长度的基本原理和细节考虑——SunTorque智能扭矩系统

螺栓长度通常是指从螺栓头部到底部的整体长度。在选择或设计螺栓长度时&#xff0c;需要考虑多个因素&#xff0c;如被连接件的材料、厚度、螺栓间距以及预紧力等。设计螺栓长度应注意哪些原则和细节&#xff0c;SunTorque智能扭矩系统和大家一起来了解。设计螺栓长度的基本原则…

每日一题——LeetCode1304.和为零的N个不同整数

方法一 个人方法 n为偶数&#xff0c;只要同时放入一个数的正数和负数&#xff0c;那么和总为0&#xff0c;n是奇数就放入一个0&#xff0c;剩下的当偶数看待 var sumZero function(n) {let res[]if(n%2!0){res.push(0)n--}nn/2for(let i1;i<n;i){res.push(i)res.push(-i…

Sci Transl Med | 自体中和抗体在早期抗逆转录病毒治疗中增加

今天给同学们分享一篇实验文章“Autologous neutralizing antibodies increase with early antiretroviral therapy and shape HIV rebound after treatment interruption”&#xff0c;这篇文章发表在Sci Transl Med期刊上&#xff0c;影响因子为17.1。 结果解读&#xff1a; …

vue3自定义按钮点击变颜色实现(多选功能)

实现效果图&#xff1a; 默认选中第一个按钮&#xff0c;未选中按钮为粉色&#xff0c;点击时颜色变为红色 利用动态类名&#xff0c;当定义isChange数值和下标index相同时&#xff0c;赋予act类名&#xff0c;实现变色效果 <template><div class"page"&…

Elastic Search 8.12:让 Lucene 更快,让开发人员更快

作者&#xff1a;来自 Elastic Serena Chou, Aditya Tripathi Elastic Search 8.12 包含新的创新&#xff0c;可供开发人员直观地利用人工智能和机器学习模型&#xff0c;通过闪电般的快速性能和增强的相关性来提升搜索体验。 此版本的 Elastic 基于 Apache Lucene 9.9&#xf…

re:从0开始的HTML学习之路 2. HTML的标准结构说明

1. <DOCTYPE html> 文档声明&#xff0c;用于告诉浏览器&#xff0c;当前HTML文档采用的是什么版本。 必须写在当前HTML文档的首行&#xff08;可执行代码的首行&#xff09; HTML4的此标签与HTML5不同。 2. <html lang“en”> 根标签&#xff0c;整个HTML文档中…

如何本地部署虚VideoReTalking

环境&#xff1a; Win10专业版 VideoReTalking 问题描述&#xff1a; 如何本地部署虚VideoReTalking 解决方案&#xff1a; VideoReTalking是一个强大的开源AI对嘴型工具&#xff0c;它是我目前使用过的AI对嘴型工具中效果最好的一个&#xff01;它是由西安电子科技大学、…

数据结构学习1 初识泛型

装箱和拆箱 装箱/装包: 把一个基本数据类型转变为包装类型 拆箱/拆包: 把一个包装类型转变为一个基本数据类型 int a 1;Integer i a;// 自动装箱int b i;// 自动拆箱Integer ii Integer.valueOf(a);// 手动装箱&#xff0c;推荐使用 Integer.valueOf() 而不是 new Integer(…