kubernetes下的Nginx加Tomcat三部曲之一:极速体验

时间:2022-11-07 22:38:28

章节介绍

在生产环境中,常用到Nginx加Tomcat的部署方式,如下图:
kubernetes下的Nginx加Tomcat三部曲之一:极速体验

原文地址:http://blog.csdn.net/boling_cavalry/article/details/79215453

从本章开始,我们来实战kubernetes下部署上述Nginx和Tomcat服务,并开发spring boot的web应用来验证环境,整个实战分为以下三篇内容:
1. 极速体验kubernetes下的nginx加tocmat;
2. 细说nginx和tomcat镜像的制作;
3. 实战tomcat server的在线扩容和应用升级;

实战工程介绍

本次实战创建的Pod如下:
1. 一个Nginx的Pod,负责转发web请求到Tomcat;
2. 三个Tomcat的Pod,上面部署了web应用,收到Nginx转发的请求后,返回的内容是当前Pod的IP地址;

准备kubernetes环境

本次实战需要可用的kubernetes环境,您可以参考以下文章进行快速搭建:
1. 《rancher下的kubernetes之一:构建标准化vmware镜像》
2. 《rancher下的kubernetes之二:安装rancher和kubernetes》

如何执行kubectl命令

实战中,需要在一台ubuntu电脑上安装kubectl工具,然后连接到kubernetes环境执行各种命令,kubectl工具的安装步骤可以参照这篇文章:《rancher下的kubernetes之三:在linux上安装kubectl工具》

脚本文件下载

本次体验所需的deployment和service资源是通过脚本创建的,这个脚本可以通过以下两种方式中的任意一种下载:
1. CSDN下载(无法设置免费下载,只能委屈您用掉两个积分了):http://download.csdn.net/download/boling_cavalry/10235034
2. 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,如下图红框所示:

kubernetes下的Nginx加Tomcat三部曲之一:极速体验

下到的k8stomcatcluster20180201.tar是个压缩包,复制到可以执行kubectl命令的ubuntu电脑上,然后解压开,是个名为k8stomcatcluster的文件夹;

执行脚本文件下载

  1. 进入解压好的k8stomcatcluster目录;
  2. 执行命令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的两个服务都已经启动:
    kubernetes下的Nginx加Tomcat三部曲之一:极速体验

  • 点击tomcathost服务,看到详情信息,里面有pod的情况,如下图:
    kubernetes下的Nginx加Tomcat三部曲之一:极速体验

  • 上图中显示tomcathost是在node1创建的,我的node1机器的IP地址是192.168.119.153,所以在浏览器输入:
    http://192.168.119.153:30006/getserverinfo

  • 在浏览器看到的信息如下图所示,机器Tomcat所在机器的IP地址和当前时间:
    kubernetes下的Nginx加Tomcat三部曲之一:极速体验

  • 多次刷新页面,能看到这三个IP地址:10.42.38.128、10.42.184.35、10.42.127.135,这就是三个Tomcat Pod的地址,Pod信息如下图红框所示:
    kubernetes下的Nginx加Tomcat三部曲之一:极速体验

  • 执行k8stomcatcluster目录下的stop_all.sh脚本,可以将前面创建的所有service,deployment资源删除;

  • 至此,我们已经在kubernetes下简单体验了Nginx加Tomcat的网站结构,接下来的章节,我们一起来细看如何在kubernetes下创建整个环境;