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

news2024/9/29 21:34:41

腾讯云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:8

COPY *.jar /test-service-1.0.0.jar

LABEL authors ="zyl"

CMD ["--server.port=8020"]

EXPOSE 8020

ENTRYPOINT ["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.coloradmin.cn/o/1410164.html

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

相关文章

数据结构:非完全二叉树(递归实现)

非完全二叉树是指在二叉树中&#xff0c;除了叶子节点&#xff08;无子节点&#xff09;外&#xff0c;其他节点的子节点个数可以不同&#xff0c;即不一定是每个节点都有两个子节点&#xff0c;有右孩子时也不一定有左孩子。 tree.h /* * 文件名称&#xff1a;tree.h * …

SpringBootAdmin邮件通知

在上一篇中我们学习到了 Admin Service Clustering 分布式缓存配置 &#xff0c;这一篇我们来学习&#xff0c;客户端离线&#xff0c;出现故障的时候&#xff0c;我们这么能及时知道呢&#xff0c;发现邮件通知也许是最简单的方式了&#xff01; 邮件通知 邮件通知将作为使用…

代码随想录 Leetcode111. 二叉树的最小深度

题目&#xff1a; 代码(首刷自解 2024年1月24日&#xff09;&#xff1a; class Solution { public:int minDepth(TreeNode* root) {if(root nullptr) return 0;queue<TreeNode*> que;TreeNode* cur root;que.push(cur);int size 0;int depth 0;while (!que.empty()…

【方法】如何打开7Z格式压缩文件?

7Z是一种常见的压缩文件格式&#xff0c;那遇到7Z压缩文件&#xff0c;要如何打开呢&#xff1f; 想要打开7Z压缩包&#xff0c;需要用到解压缩软件&#xff0c;比如WinRAR、7-Zip等软件。安装软件后&#xff0c;只需要用鼠标双击7Z压缩包&#xff0c;就可以打开压缩包&#x…

高数总结(3

目录 1.总结&#xff1a;小结&#xff1a; 1.总结&#xff1a; 小结&#xff1a; 关注我给大家分享更多有趣的知识&#xff0c;以下是个人公众号&#xff0c;提供 ||代码兼职|| ||代码问题求解|| 由于本号流量还不足以发表推广&#xff0c;搜我的公众号即可&#xff1a;

ECharts实现简单饼图和柱状图

1.JAVA 1.饼图 前端使用vue&#xff0c;后端使用SpringBoot <template><div><div class"card" style"padding: 15px">数据可视化分析&#xff1a;图书类型销量</div><div style"display: flex; margin: 10px 0"&g…

autosar学习笔记 之SecOC

SecOC 接下来SecOC标准就更复杂一点,它不单单是做了通讯校验。 SecOC是基于对称密钥加密的一套机制,需要对ECU间的通讯作身份认证处理,来更好的防止伪装攻击,谈起对称或非对称加密,就会涉及到密钥的存储和Mac值的计算。 因此SECOC机制对于密钥的硬件存储,也有一定的要求…

从零学习Hession RPC

为什么学习Hessian RPC&#xff1f; 存粹的RPC&#xff0c;只解决PRC的四个核心问题&#xff08;1.网络通信2.协议 3.序列化 4.代理&#xff09;Java写的HessianRPC落伍了&#xff0c;但是它的序列化方式还保存着&#xff0c;被Dubbo(Hessian Lite)使用。 被落伍&#xff0c;只…

K8S图像化工具rancher

Rancher是一个开源的企业级多集群的k8s管理平台 Rancher和k8s的区别 都是为了容器的调度和编排系统&#xff0c;但是rancher不仅能够调度&#xff0c;还能挂历k8s集群&#xff0c;自带监控&#xff08;普罗米修斯&#xff09;&#xff0c;你哪怕不知带k8s是什么&#xff0c;一样…

如何在Kali系统配置启动SSH并结合内网穿透实现远程连接

文章目录 1. 启动kali ssh 服务2. kali 安装cpolar 内网穿透3. 配置kali ssh公网地址4. 远程连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 简单几步通过[cpolar 内网穿透](cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站)软件实现ssh 远程连接kali! …

【Kafka】Kafka安装:Linux本地和Docker

目录 Linux本地安装kafkajava环境配置Zookeeper的安装配置Kafka的安装与配置生产与消费 Docker安装kafkaZookeeper安装Kafka安装 Linux本地安装kafka java环境配置 1、上传jdk-8u261-linux-x64.rpm到服务器并安装&#xff1a; rpm -ivh jdk-8u261-linux-x64.rpm2、配置环境变…

抖音跳转微信公众号是怎么实现的丨数灵通

抖音是一款非常流行的社交媒体应用程序&#xff0c;用户可以在其中分享短视频和互动内容。许多用户希望通过抖音来引流到他们的微信公众号&#xff0c;以扩大影响力并吸引更多粉丝。以下是一些关于如何在抖音上跳转到微信公众号的科普信息&#xff1a; 1.信息流广告&#xff1a…

爬虫笔记(二):实战58二手房

第一&#xff1a;给大家推荐一个爬虫的网课哈&#xff0c;码起来 第二&#xff1a;今夜主题&#xff1a;通过xpath爬取58二手房的title信息&#xff0c;也就是标红的位置~ 第三&#xff1a;先分析一波title所在的位置 打开按下f12打开抓包工具&#xff0c;即可看到网站的源码…

RBD —— 不同材质破碎

目录 Working with concrete Chipping Details Proxy geometry Constraints Working with glass Chipping Proxy geometry Constraints Resolving issues with glass fracturing Working with wood Clustering Using custom cutters Working with concrete Concr…

2024年破圈9套商业模式电商干货,真心分享丨项目孵化必看

2024年破圈9套商业模式电商干货&#xff0c;真心分享丨项目孵化必看 文丨微三云营销总监胡佳东&#xff0c;点击上方“关注”&#xff0c;为你分享市场商业模式电商干货。 - 疫情过后&#xff0c;市场瞬息万变&#xff0c;理想状态的消费复苏和消费回暖的机遇并没有到来&…

简述Elasticsearch(ES)是什么 全文搜索概念 (倒排索引 管理文档)

今天 我们来说说 NoSql 中的 Elasticsearch 大家基本都叫它 ES 官方介绍 它是一个分布式全文搜索引擎 分布式是一个系统架构的概念 而 全文搜索引擎 全文搜索 可以说基本大家天天都在接触 就比如 我们京东购物 想买什么东西 在全文输入框中搜索 它就会在所有物品中 帮你找出需…

2023年AI大模型:从科技热潮到商业变革

出品&#xff1a;新商纪&#xff0c;作者&#xff1a;独孤依风 2023年&#xff0c;大模型技术在全球科技界掀起了一场风暴&#xff0c;引发了科技巨头们的激烈角逐。这一年&#xff0c;大模型不仅重新定义了人工智能的边界&#xff0c;还催生了跨行业技术革新。 根据IDC的预测…

年少不知 Base 好,错把总包当成宝。。

今天聊一个很现实的话题&#xff1a;选 offer 对比薪资时&#xff0c;我强烈建议以 Base 为主&#xff0c;而不是总包。 为什么&#xff1f;且听鱼皮娓娓道来。 注意&#xff0c;以下为个人观点&#xff0c;仅供参考&#xff01; 首先明确 Base 和总包的概念&#xff1a; Base&…

使用PowerShell命令行,批量修改文件编码

目录 ■前言 ■PowerShell命令 ■效果 ■前言 今天统计修改代码量&#xff0c;使用工具时&#xff0c;发现有些代码无法统计。 原因时UTF-8中有某些特殊字符&#xff0c;工具不能识别。 但是&#xff0c;如果把代码转换为SJIS格式&#xff0c;就能正常统计了。 因此&…

猫头虎分享:已解决RuoYi-Vue3 项目代码生成器默认生成代码使用的Vue2模板代码问题与Vue2升级到Vue3解决方案

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通Golang》…