[toc]
一、自定义镜像运行web服务
1.1 构建nginx镜像
nginx+tomcat+nfs
- 基于centos构建nginx镜像
基于官方centos包,添加nginx镜像,在创建镜像时编译nginx,并加入想要添加的命令,添加好配置文件,加入静态资源包,暴露端口,启动命令等
1.2 构建jdk镜像
- 构建jdk镜像
基于打好的centos镜像,添加jdk,构建jdk镜像
1.3 构建tomcat镜像
- 构建tomcat镜像
基于打好的jdk镜像,添加tomcat,包括配置文件,启动命令,守护进程等,构建tomcat镜像
- 创建nfs挂载目录
在nfs服务器上创建挂载目录,并编辑/etc/exports文件,挂载出去,重启nfs
1.4 运行nginx
- 运行nginx
编写nginx的deployment和service的yaml文件,指定nfs挂载目录,暴露nodeport端口,运行nginx的pod
1.5 运行tomcat
- 运行tomcat
编写tomcat的deployment和service的yaml文件,指定nfs挂载目录,不暴露端口,通过nginx配置转发规则到服务名的方式到tomcat的pod,运行tomcat的pod
-
访问nginx首页
image.png
-
通过nginx访问tomcat静态图片
image.png
二、运行zookeeper集群
2.1 构建zookeeper镜像
- 基于jdk构建zookeeper镜像
基于jdk镜像,添加需要安装的命令,创建zookeeper需要的目录,删除多余的文件,添加配置文件,添加环境变量,运行启动脚本
2.2 创建pv和pvc
- 创建nfs挂载目录,并创建pv和pvc
在nfs服务端,创建zookeeper的挂载配置文件目录,创建pv和pvc,指定访问模式为ReadWriteOnce
2.3 运行zookeeper
- 运行zookeeper,用客户端连接zookeeper
编写zookeeper的yaml,绑定pvc,运行zookeeper的pod
image.png
image.png
三、运行redis集群
3.1 构建redis镜像
- 基于centos构建redis镜像
添加redis压缩包,编译redis,并创建数据目录,添加配置文件,启动脚本,暴露端口6379
3.2 创建pv
- 创建nfs挂载目录,并创建pv
在nfs服务端创建redis挂载目录,创建pv,指定访问模式为ReadWriteOnce
3.3 运行redis
- 运行redis,初始化redis集群
编写redis的yaml文件,指定pvc模板,自动绑定pv,使用StatefulSet和headless模式,运行redis,使用命令初始化集群
- redis从5版本开始使用redis-cli命令初始化集群,ip为redis的pod的ip,port为指定暴露的端口,默认是6379
redis-cli --cluster create ip:port ip:port ip:port ip:port ip:port ip:port --cluster-replicas 1

四、运行mysql主从
4.1 拉取镜像
- 拉取mysql和xtrabackup镜像
拉取mysql:5.7版本的镜像和xtrabackup:1.0镜像
4.2 创建pv
- 创建nfs挂载目录,并创建pv
在nfs服务端创建mysql挂载目录,创建pv,指定访问模式为ReadWriteOnce
4.3 运行mysql
- 运行mysql,查看主从
编写mysql的yaml文件,指定pvc模板,自动绑定pv,使用StatefulSet和headless模式,运行mysql

五、运行单体服务Jenkins
5.1 构建jenkins镜像
- 基于jdk构建jenkins镜像
添加jenkins的war包,启动脚本,指定暴露的端口8080
5.2 创建pv
- 创建nfs挂载目录,并创建pv
在nfs服务端创建jenkins挂载目录,创建pv,指定访问模式为ReadWriteOnce
5.3 运行jenkins
- 运行jenkins,构建job
编写jenkins的yaml文件,绑定pvc,运行jenkins

六、微服务注册和发现
6.1 构建镜像
- 构建生产者和消费者镜像
基于jdk构建dubbo生产者和消费者镜像
6.2 运行dubbo
- 运行生产者和消费者
编写provider和consumer的yaml文件,运行provider和consumer,增加消费者,服务自动发现

6.3 运行dubboadmin
- 运行dubbo-admin管理端
基于war包,构建镜像,编写yaml文件,运行dubbo-admin

七、运行WordPress博客
7.1 构建nginx镜像
- 构建nginx和php镜像
构建nginx镜像,添加配置文件,启动脚本,创建共享的wordpress目录,暴露端口80和443;构建php镜像,添加配置文件,启动脚本,暴露端口9000
7.2 创建pv
- 创建nfs挂载目录
在nfs服务端创建wordpress挂载目录,解压下载好的wordpress压缩包到挂载目录
7.3 运行wordpress
编写wordpress的yaml文件,挂载nfs目录,运行wordpress


网友评论