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

时间:2024-01-26 10:44:11

腾讯云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????点点关注,收藏不迷路????