欢迎访问我的GitHub
这里分类和汇总了欣宸的全部原创(含配套源码): https://github.com/zq2599/blog_demos
本篇概览
- 在生产环境中,常用到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环境,您可以参考以下文章进行快速搭建:
- 《rancher下的kubernetes之一:构建标准化vmware镜像》
- 《rancher下的kubernetes之二:安装rancher和kubernetes》
如何执行kubectl命令
- 实战中,需要在一台ubuntu电脑上安装kubectl工具,然后连接到kubernetes环境执行各种命令,kubectl工具的安装步骤可以参照:《rancher下的kubernetes之三:在linux上安装kubectl工具》
脚本文件下载
- 本次体验所需的deployment和service资源是通过脚本创建的,这个脚本可以通过以下两种方式中的任意一种下载:
- CSDN下载(无法设置免费下载,只能委屈您用掉两个积分了):http://download.csdn.net/download/boling_cavalry/10235034
- GitHub下载,地址和链接信息如下表所示:
名称 | 链接 | 备注 |
---|---|---|
项目主页 | https://github.com/zq2599/blog_demos | 该项目在GitHub上的主页 |
git仓库地址(https) | https://github.com/zq2599/blog_demos.git | 该项目源码的仓库地址,https协议 |
git仓库地址(ssh) | git@github.com:zq2599/blog_demos.git | 该项目源码的仓库地址,ssh协议 |
- 这个git项目中有多个目录,本次所需的资源放在k8s_nginx_tomcat_resource,如下图红框所示:
- 下到的k8stomcatcluster20180201.tar是个压缩包,复制到可以执行kubectl命令的ubuntu电脑上,然后解压开,是个名为k8stomcatcluster的文件夹;
执行脚本文件下载
- 进入解压好的k8stomcatcluster目录;
- 执行命令chmod a+x *.sh,给shell脚本赋可执行权限;
- 执行命令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下创建整个环境;
欢迎关注阿里云开发者社区博客:程序员欣宸
学习路上,你不孤单,欣宸原创一路相伴...