初识Kubernetes(K8s):从一个单机部署实现Java Web应用例子开始


本文是通过yum方式安装Kubernetes,并部署tomcat+mysql实现Jave Web应用。此应用是JSP页面通过JDBC访问Mysql数据库,只要程序正确连接到数据库上,就会自动完成对应的Table的创建与初始化数据的准备工作。当我们通过浏览器访问此应用时,就会显示一个表格的页面,数据则来自数据库。

此应用需要启动两个容器:Web App容器和MySQL容器,并且Web App容器需要访问MySQL容器。现在我们就来看看通过Kubernetes是如何实现Java Web应用的。
在继续阅读之前,我们需要对Kubernetes有一个基本的认识,需要了解它的原理、核心架构、核心组件和对象、以及各组件之间的联系等基础概念,可以参考我的上一篇博文《初识Kubernetes(K8s):理论基础》,https://blog.51cto.com/andyxu/2308937
系统环境
操作系统:Centos 7.5 64位
IP地址:192.168.2.2381、关闭Centos自带的防火墙服务
注:Kubernetes集群之间会有大量的网络通信,在一个安全的内部网络环境中建议关闭防火墙服务2、安装etcd和Kubernetes软件(会自动安装Docker软件)注:yum方式安装的kubernetes的版本是1.5.2

3、生成rhsm证书文件注:创建容器时需要从redhat站点下载pod-infrastructure:latest镜像,如果没有此证书文件会报错,Pod会一直显示ContainerCreating状态。
4、修改docker和kube-apiserver的配置文件
docker配置文件为/etc/sysconfig/docker,将OPTIONS的内容修改为kube-apiserver配置文件为/etc/kubernetes/apiserver,修改KUBE_ADMISSION_CONTROL的内容,将–admission-control参数中的ServiceAccount删除。5、按顺序启动所有服务1、创建mysql的Deployment定义文件
mysql-dep.yaml文件内容如下:2、创建deployment、RS、Pod和容器
创建过程需要先下载镜像,时间会比较久,可喝杯茶撩撩旁边的妹子,哈哈,请耐心等待3、查看创建好的deployment运行情况注:都是1表示运行正常
4、查看ReplicaSet(RS)的运行情况注:都是1表示运行正常
5、查看Pod的运行情况注:READY的值是1/1,并且STATUS的值是Running,表示运行正常
由于Pod的创建需开发云主机域名要花费一些时间,在还没有创建好容器时,STATUS的状态会是ContainerCreating,表示正在创建容器,这时只需要等待。Pod创建好后,STATUS的状态会是Running,这时可以通过docker ps命令查看容器运行的情况。
6、查看容器的运行情况7、查看Pod里容器的时间,检查时间是否与本地时间一致注:exec后面跟pod的名称
8、创建mysql的service定义文件
mysql-svc.yaml文件内容如下:9、创建Service10、查看Service的运行情况kubernetes会给Service分配一个Cluster IP,这是个虚拟IP地址,此后集群中的其他新创建的Pod就可以通过此Cluster IP+端口号的方式来连接和访问mysql服务了。1、创建tomcat的Deployment定义文件
myweb-dep.yaml文件的内容如下:2、创建tomcat的deployment、RS、Pod和容器创建过程比较久,请耐心等待,pod的STATUS状态为Running时表示创建成功。
3、创建tomcat的Service定义文件
myweb-svc.yaml文件的内容如下:此Service开启了NodePort方式的外网访问模式,端口为30001,此端口会映射到tomcat容器的8080端口上。
4、创建Service5、查看Service的运行情况6、可使用curl命令测试tomcat服务是否能正常访问1、如果30001端口不通的话,重新启动、关闭firewalld防火墙注:因为kubernetes会在iptables里添加一些策略,需要再重新开启关闭防火墙才会关闭掉这些策略。
2、通过浏览器访问http://192.168.2.238:30001/demo/

点击“Add…”,添加一条记录并提交

提交以后,数据就被写入mysql数据库里了。
3、登陆mysql数据库验证
我们可以继续研究下这个例子,比如:此例子来源于《Kubernetes权威指南(第2版)》,我做了一些修改,以及报错的处理,并且使用了Deployment来创建。

相关推荐: 云计算将如何促进服务转型

云计算以三种形式提供服务:IaaS、PaaS和SaaS。基础设施即服务、平台即服务、软件即服务。从这三层体系结构的名称来看,云计算将以服务的形式为用户提供与计算机系统相关的功能,即与计算机系统相关的功能的服务。云计算将如何促进服务转型?​IaaS是计算基础设施…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/13 22:35
Next 05/13 22:35

相关推荐