前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >搭建大型分布式服务(二十五)如何将应用部署到TKE容器集群?

搭建大型分布式服务(二十五)如何将应用部署到TKE容器集群?

原创
作者头像
hanyi_
修改2022-02-19 18:37:00
4890
修改2022-02-19 18:37:00
举报
文章被收录于专栏:爱上编程爱上编程

系列文章目录

https://blog.csdn.net/hanyi_/article/details/113945026

前言

以前,我们部署一个应用或者接口服务,往往是先编译构建打成jar或者war包,然后通过shell脚本或命令上传到虚拟机或者物理机上,覆盖Tomcat或其它容器指定目录,然后再重启Tomcat进程来升级应用或者接口服务。这种模式实施起来较为简单,但在如今看来,存在诸多缺陷。例如:应用服务无法动态扩缩容,应用服务很难做到资源隔离等等,服务混合部署难管理,资源能充分利用等。现在有了容器服务,这些问题会得到很大程度上的缓解。

<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

一、本文要点

接前文,我们已经创建一个容器集群,下一步将介绍怎样把我们的应用服务或者接口服务部署到容器集群上。

系列文章完整目录

  • 腾讯云容器集群
  • 接口服务部署到容器集群
  • 应用服务部署到容器集群
  • 容器部署nginx前端服务
  • 挂载点和configMap的使用

二、开发环境

  • jdk 1.8
  • maven 3.6.2
  • springboot 2.4.3
  • idea 2020
  • 腾讯云tke

三、部署容器服务

部署容器服务一般分为三大步骤,制作镜像、创建工作负载、配置访问service。

腾讯云官方文档上对各个组件有详细介绍,这里通过启动一个nginx服务为例罗列一下从0到1创建一个服务的完整流程。

在这里插入图片描述
在这里插入图片描述
1、制作Nginx镜像,用来打包前端web服务。

(1)首先创建镜像命名空间和镜像仓库。

xx
xx

(2)使用官网Nginx镜像,编写Dockerfile。其中本地dist目录可以存放前端静态资源文件。

代码语言:shell
复制
FROM nginx:lasted
MAINTAINER hanyi hanyi@qq.com
# 存放Nginx日志
RUN mkdir -p /usr/local/blog/logs/
# 存在静态资源文件路径
RUN mkdir -p /usr/local/blog/dist/
# 复制前端WEB工程打包后的目录到镜像
COPY dist/ /usr/local/blog/dist/

(3)定义一个版本号1.0.0,编译打包上传到镜像仓库。

代码语言:shell
复制
## 制作镜像
docker build -t ccr.ccs.tencentyun.com/angel/nginx:1.0.0 . -f Dockerfile
## 登录镜像仓库
docker login ccr.ccs.tencentyun.com --username=100011745047
## 上传镜像
docker push ccr.ccs.tencentyun.com/angel/nginx:1.0.0

这里可以看到,镜像已经上传到仓库了。

在这里插入图片描述
在这里插入图片描述
2、创建工作负载,用来运行前端web服务。

(1)创建工作负载deployment的命名空间,例如创建生产环境。

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

(2)创建一个configMap,用来存放nginx.conf配置文件。

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

这里示例只配置了静态文件,实际可以根据需要配置反向代理等nginx配置。

代码语言:shell
复制
server {
	listen       80;
	server_name  10.xx.xx.32;
	access_log /usr/local/blog/logs/access.log;
    error_log /usr/local/blog/logs/error.log;

	location / {
		# 这里指向镜像打包的静态资源文件路径
		root /usr/local/blog/dist;
   		index index.html index.htm;
    		try_files $uri $uri/ /index.html;
	}
}

(3)创建工作负载

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

配置工作负载,设置数据挂载点,选择configMap。

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

配置容器镜像,选择挂载点,使用configMap中的配置来配置nginx,另外可以根据需要设置CPU和内存。

在这里插入图片描述
在这里插入图片描述
3、配置service,用来访问前端web服务。

例如nginx容器服务我们配置监听了80端口,所以也暴露80端口出来给外部访问。

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

可以根据需要设置服务访问方式,例如可以开放公网访问,但一般不建议,演示才这样选。

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

至此,配置完成,点击确认即可。

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

浏览器访问一下,可以看到的资源文件了,配置成功!

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

四、小结

至此,我们就成功部署一个应用到TKE集群了,服务创建成功后,可以通过升级镜像版本来升级服务,也可以调整pod数量来扩缩容等。等这里可以看到首次配置应用服务还是比较麻烦的,下一步,我们可以Coding流水线来配置CI/CD,构建我们的服务,下一篇《搭建大型分布式服务(二十六)如果通过Coding流水线CI/CD加速容器服务构建部署

加我加群一起交流学习!更多干货下载、项目源码和大厂内推等着你

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

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