实验前提
需要你有 macOS 开发环境,本文以此为例,其他类型的开发环境请自行搭建。
需要你对 YAML 这一专门用来写配置文件的语言有所了解。
需要你对 Docker 有一些基本的了解。
需要你对 Kubernetes 中的 Node、Pod、ReplicaSet、Deployment、Service、Ingress、ConfigMap 等一些核心基础概念有一定的了解。
YAML 配置文件下载地址:
YAML 文件:jxlwqq/kubernetes-examples。该项目还有其他一些 Kubernetes 的示例。欢迎 Star。
git clone https://github.com/jxlwqq/kubernetes-examples.git
cd deploying-simple-php-app-with-fpm-and-nginx
安装 Docker for Mac
下载地址:https://hub.docker.com/editions/community/...
启动并开启 Kubernetes 功能,功能开启过程中,Docker 将会自动拉取 Kubernetes 相关镜像,所以全程需要科学上网。
为啥不使用 minikube?minikube + virtualbox + kubectl 安装起来太繁琐了,而且即使科学上网了你也不一定能搞定。当然阿里云提供了一篇安装教程可以参考。
本地端口准备
请确保本地 localhost 的 80 端口没有被占用,已在使用的请在实验期间暂时关闭占用 80 端口的服务。
切换集群
如果你本地有多个 Kubernetes 的集群配置,请先切换至名为 docker-desktop 的集群:
kubectl config use-context docker-desktop
拉取镜像
源码在 php-info 目录中。我这里已经基于 Dockerfile 制作好了镜像,pull 后可以直接使用。
docker pull jxlwqq/php-info
源码逻辑很简单,打印 phpinfo 信息,Dockerfile 内容如下所示:
php-info/Dockerfile 的代码:
FROM php:7.4-fpm
WORKDIR /app
COPY index.php /app
php-info/index.php 的代码: