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">
接前文,我们已经创建一个容器集群,下一步将介绍怎样把我们的应用服务或者接口服务部署到容器集群上。
部署容器服务一般分为三大步骤,制作镜像、创建工作负载、配置访问service。
腾讯云官方文档上对各个组件有详细介绍,这里通过启动一个nginx服务为例罗列一下从0到1创建一个服务的完整流程。
(1)首先创建镜像命名空间和镜像仓库。
(2)使用官网Nginx镜像,编写Dockerfile。其中本地dist目录可以存放前端静态资源文件。
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,编译打包上传到镜像仓库。
## 制作镜像
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
这里可以看到,镜像已经上传到仓库了。
(1)创建工作负载deployment的命名空间,例如创建生产环境。
(2)创建一个configMap,用来存放nginx.conf配置文件。
这里示例只配置了静态文件,实际可以根据需要配置反向代理等nginx配置。
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和内存。
例如nginx容器服务我们配置监听了80端口,所以也暴露80端口出来给外部访问。
可以根据需要设置服务访问方式,例如可以开放公网访问,但一般不建议,演示才这样选。
至此,配置完成,点击确认即可。
浏览器访问一下,可以看到的资源文件了,配置成功!
至此,我们就成功部署一个应用到TKE集群了,服务创建成功后,可以通过升级镜像版本来升级服务,也可以调整pod数量来扩缩容等。等这里可以看到首次配置应用服务还是比较麻烦的,下一步,我们可以Coding流水线来配置CI/CD,构建我们的服务,下一篇《搭建大型分布式服务(二十六)如果通过Coding流水线CI/CD加速容器服务构建部署》
加我加群一起交流学习!更多干货下载、项目源码和大厂内推等着你
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。