k8s运行服务示例

2022-01-28  本文已影响0人  Walker_7797

[toc]

一、自定义镜像运行web服务

1.1 构建nginx镜像

nginx+tomcat+nfs

基于官方centos包,添加nginx镜像,在创建镜像时编译nginx,并加入想要添加的命令,添加好配置文件,加入静态资源包,暴露端口,启动命令等

1.2 构建jdk镜像

基于打好的centos镜像,添加jdk,构建jdk镜像

1.3 构建tomcat镜像

基于打好的jdk镜像,添加tomcat,包括配置文件,启动命令,守护进程等,构建tomcat镜像

在nfs服务器上创建挂载目录,并编辑/etc/exports文件,挂载出去,重启nfs

1.4 运行nginx

编写nginx的deployment和service的yaml文件,指定nfs挂载目录,暴露nodeport端口,运行nginx的pod

1.5 运行tomcat

编写tomcat的deployment和service的yaml文件,指定nfs挂载目录,不暴露端口,通过nginx配置转发规则到服务名的方式到tomcat的pod,运行tomcat的pod

二、运行zookeeper集群

2.1 构建zookeeper镜像

基于jdk镜像,添加需要安装的命令,创建zookeeper需要的目录,删除多余的文件,添加配置文件,添加环境变量,运行启动脚本

2.2 创建pv和pvc

在nfs服务端,创建zookeeper的挂载配置文件目录,创建pv和pvc,指定访问模式为ReadWriteOnce

2.3 运行zookeeper

编写zookeeper的yaml,绑定pvc,运行zookeeper的pod


image.png
image.png

三、运行redis集群

3.1 构建redis镜像

添加redis压缩包,编译redis,并创建数据目录,添加配置文件,启动脚本,暴露端口6379

3.2 创建pv

在nfs服务端创建redis挂载目录,创建pv,指定访问模式为ReadWriteOnce

3.3 运行redis

编写redis的yaml文件,指定pvc模板,自动绑定pv,使用StatefulSet和headless模式,运行redis,使用命令初始化集群

redis-cli --cluster create ip:port ip:port ip:port ip:port ip:port ip:port --cluster-replicas 1
image.png

四、运行mysql主从

4.1 拉取镜像

拉取mysql:5.7版本的镜像和xtrabackup:1.0镜像

4.2 创建pv

在nfs服务端创建mysql挂载目录,创建pv,指定访问模式为ReadWriteOnce

4.3 运行mysql

编写mysql的yaml文件,指定pvc模板,自动绑定pv,使用StatefulSet和headless模式,运行mysql

image.png

五、运行单体服务Jenkins

5.1 构建jenkins镜像

添加jenkins的war包,启动脚本,指定暴露的端口8080

5.2 创建pv

在nfs服务端创建jenkins挂载目录,创建pv,指定访问模式为ReadWriteOnce

5.3 运行jenkins

编写jenkins的yaml文件,绑定pvc,运行jenkins

image.png

六、微服务注册和发现

6.1 构建镜像

基于jdk构建dubbo生产者和消费者镜像

6.2 运行dubbo

编写provider和consumer的yaml文件,运行provider和consumer,增加消费者,服务自动发现

image.png

6.3 运行dubboadmin

基于war包,构建镜像,编写yaml文件,运行dubbo-admin

image.png

七、运行WordPress博客

7.1 构建nginx镜像

构建nginx镜像,添加配置文件,启动脚本,创建共享的wordpress目录,暴露端口80和443;构建php镜像,添加配置文件,启动脚本,暴露端口9000

7.2 创建pv

在nfs服务端创建wordpress挂载目录,解压下载好的wordpress压缩包到挂载目录

7.3 运行wordpress

编写wordpress的yaml文件,挂载nfs目录,运行wordpress

image.png
image.png
上一篇 下一篇

猜你喜欢

热点阅读