在生产环境中,常用到Nginx加Tomcat的部署方式,如下图:
从本章开始,我们来实战kubernetes下部署上述Nginx和Tomcat服务,并开发spring boot的web应用来验证环境,整个实战分为以下三篇内容:
- 极速体验kubernetes下的nginx加tocmat;
- 细说nginx和tomcat镜像的制作;
- 实战tomcat server的在线扩容和应用升级;
实战工程介绍
本次实战创建的Pod如下:
- 一个Nginx的Pod,负责转发web请求到Tomcat;
- 三个Tomcat的Pod,上面部署了web应用,收到Nginx转发的请求后,返回的内容是当前Pod的IP地址;
准备kubernetes环境
本次实战需要可用的kubernetes环境,您可以参考以下文章进行快速搭建:
- http://blog.csdn.net/boling_cavalry/article/details/78762829
- http://blog.csdn.net/boling_cavalry/article/details/78764915
如何执行kubectl命令
实战中,需要在一台ubuntu电脑上安装kubectl工具,然后连接到kubernetes环境执行各种命令,kubectl工具的安装步骤可以参照这篇文章: http://blog.csdn.net/boling_cavalry/article/details/79223091
脚本文件下载
本次体验所需的deployment和service资源是通过脚本创建的,这个脚本可以通过以下两种方式中的任意一种下载:
- CSDN下载(无法设置免费下载,只能委屈您用掉两个积分了):http://download.csdn.net/download/boling_cavalry/10235034
- GitHub下载,地址和链接信息如下表所示:
这个git项目中有多个目录,本次所需的资源放在k8s_nginx_tomcat_resource,如下图红框所示:
下到的k8stomcatcluster20180201.tar是个压缩包,复制到可以执行kubectl命令的ubuntu电脑上,然后解压开,是个名为k8stomcatcluster的文件夹;
执行脚本文件下载
- 进入解压好的k8stomcatcluster目录;
- 执行命令chmod a+x *.sh,给shell脚本赋可执行权限;3.
执行命令start_all.sh,创建本次实战的资源,页面输出如下信息:
root@maven:/usr/local/work/k8s/k8stomcatcluster# ./start_all.sh
deployment "tomcathost" created
service "tomcathost" created
deployment "ng" created
service "ng" created
nginx and tomcat running now
验证服务已经启动
- 先去kubernetes的管理页面看一下服务是否启动,如下图,名为ng、tomcathost的两个服务都已经启动:
- 点击tomcathost服务,看到详情信息,里面有pod的情况,如下图:
- 上图中显示tomcathost是在node1创建的,我的node1机器的IP地址是192.168.119.153,所以在浏览器输入:
http://192.168.119.153:30006/getserverinfo -
在浏览器看到的信息如下图所示,机器Tomcat所在机器的IP地址和当前时间:
- 多次刷新页面,能看到这三个IP地址:10.42.38.128、10.42.184.35、10.42.127.135,这就是三个Tomcat Pod的地址,Pod信息如下图红框所示:
-
执行k8stomcatcluster目录下的stop_all.sh脚本,可以将前面创建的所有service,deployment资源删除;
-
至此,我们已经在kubernetes下简单体验了Nginx加Tomcat的网站结构,接下来的章节,我们一起来细看如何在kubernetes下创建整个环境;
原文出处:csdn -> http://blog.csdn.net/boling_cavalry/article/details/79215453