章节介绍
在生产环境中, 常用到 Nginx 加 Tomcat 的部署方式, 如下图:
从本章开始, 我们来实战 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, 如下图红框所示:
下到的 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 的管理页面看一下服务是否启动, 如下图, 名为 ngtomcathost 的两个服务都已经启动:
点击 tomcathost 服务, 看到详情信息, 里面有 pod 的情况, 如下图:
上图中显示 tomcathost 是在 node1 创建的, 我的 node1 机器的 IP 地址是 192.168.119.153, 所以在浏览器输入:
http://192.168.119.153:30006/getserverinfo
在浏览器看到的信息如下图所示, 机器 Tomcat 所在机器的 IP 地址和当前时间:
多次刷新页面, 能看到这三个 IP 地址: 10.42.38.12810.42.184.3510.42.127.135, 这就是三个 Tomcat Pod 的地址, Pod 信息如下图红框所示:
执行 k8stomcatcluster 目录下的 stop_all.sh 脚本, 可以将前面创建的所有 service,deployment 资源删除;
至此, 我们已经在 kubernetes 下简单体验了 Nginx 加 Tomcat 的网站结构, 接下来的章节, 我们一起来细看如何在 kubernetes 下创建整个环境;
来源: http://blog.csdn.net/boling_cavalry/article/details/79215453