介绍
介绍
今天福哥要带着大家来通过Rancher部署PHP环境了,同样的我们还是使用php:7.4-fpm-buster这个镜像作为基础镜像。因为php-fpm不能处理静态页面内容,所以我们还会使用nginx:1.20这个镜像作为基础镜像部署一个Nginx环境。就是PHP环境只处理PHP程序,而Nginx环境负责处理镜头内容。
还有一点需要注意的是,这个环境的部署和前面的MySQL、Redis、Elasticsearch不同的是,PHP环境是提供web服务的,它不仅仅需要在Rancher里面可以访问到,还需要通过浏览器也可以访问,这里面会用到Rancher的负载均衡(Ingress)功能。
部署PHP
名称
名称是php-fpm。
工作负载类型
工作负载类型这次选择的是无状态应用。
Docker镜像
Docker镜像是我们前面学习的php-fpm的镜像,里面包括了tfphp和tfums两个项目的配置参数。
命名空间
命名空间是php。
端口映射
端口映射福哥开启了8168和8170两个端口,对应着tfphp和tfums两个项目。
主机调度
主机调度选的是tf-node-alpha这个机器,也就是192.168.2.169这个机器。
健康检查
虽然我们开放了两个端口,但是健康检查里面只能配置一个,那就8168好了。
数据卷
福哥配置了两个项目,自然就需要映射两个目录了。不过,这次为了省事暂时没有将TFPHP和TFUMS项目复制进来,只是建立了两个空的目录而已。
建立目录
mkdir -p /tongfu.net/web/TFPHP/ mkdir -p /tongfu.net/web/TFUMS/
tfphp
tfums
部署Nginx
名称
名称是php-nginx。
工作负载类型
工作负载类型这次选择的是无状态应用。
Docker镜像
Docker镜像是我们前面学习的php-nginx的镜像,里面包括了tfphp和tfums两个项目的配置参数。
命名空间
命名空间是php。
端口映射
端口映射福哥开启了8068和8070两个端口,对应着tfphp和tfums两个项目。
主机调度
主机调度选的是tf-node-alpha这个机器,也就是192.168.2.169这个机器。
健康检查
虽然我们开放了两个端口,但是健康检查里面只能配置一个,那就8068好了。
数据卷
福哥配置了两个项目,自然就需要映射两个目录了。不过,这次为了省事暂时没有将TFPHP和TFUMS项目复制进来,只是建立了两个空的目录而已。
建立目录
mkdir -p /tongfu.net/web/TFPHP/
mkdir -p /tongfu.net/web/TFUMS/
tfphp
tfums
查看服务
列表
完成部署后可以在列表里面看到php-fpm和php-nginx两个服务。
负载均衡tfphp
名称
名称就是tfphp。
命名空间
命名空间是php。
规则
规则就是php-nginx的8068端口。
负载均衡tfums
名称
名称就是tfums。
命名空间
命名空间是php。
规则
规则就是php-nginx的8070端口。
查看负载均衡
列表
完成初始化后就可以在列表中看到了。
测试
hosts
首先我们需要配置一个hosts本地解析来解析tongfu.dev这个测试域名,IP地址就是tf-node-alpha这个主机的IP地址(以后我们再说多主机的情况)。
访问
然后就可以打开浏览器访问了。
总结
今天福哥带着童鞋们学习了如何通过Rancher部署web服务,这里面设计到两个问题。
问题1,动态内容和镜头内容是分开部署的,如何结合到一起。教程里面是php和nginx的组合实现的动态和静态的组合部署技巧。
问题2,如何将Pod的端口发布出来,这里面涉及到了Rancher的负载均衡功能(Ingress)的使用技巧。