写点什么

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

作者:程序员欣宸
  • 2022 年 5 月 09 日
  • 本文字数:1277 字

    阅读完需:约 4 分钟

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

欢迎访问我的 GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos


本篇概览

  • 在生产环境中,常用到 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 下载,地址和链接信息如下表所示:



  • 这个 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" createdservice "tomcathost" createddeployment "ng" createdservice "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 下创建整个环境;


欢迎关注 InfoQ:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...

发布于: 刚刚阅读数: 5
用户头像

搜索"程序员欣宸",一起畅游Java宇宙 2018.04.19 加入

前腾讯、前阿里员工,从事Java后台工作,对Docker和Kubernetes充满热爱,所有文章均为作者原创,个人Github:https://github.com/zq2599/blog_demos

评论

发布
暂无评论
kubernetes下的Nginx加Tomcat三部曲之一_Java_程序员欣宸_InfoQ写作社区