2024-05-03 渥太华微生活
在 Kubernetes 集群上部署一个 Laravel 网络应用
一、下载 Laravel 源代码:
cd laravel-kubernetes-demo git clone https://github.com/laravel/laravel.git .
二、准备部署服务配置:
创建 deployments 目录,用于存放部署配置信息。
mkdir deployments cd deployments
1、创建 configmap.yaml
这个文件用于存放 Laravel 项目 .env 所有配置,因为我们在打包镜像的时候 .env 文件是不打包到镜像,所以需要用到这个配置来存放 .env 文件所有的配置信息,详细如下:
apiVersion: v1 kind: ConfigMap metadata: name: laravel-kubernetes-demo-config data: .env: | APP_NAME=Test APP_ENV=production APP_KEY=base64:wJHVxWqHwlhJHDi8RLRAXesLuKDXnO0GZsVLhM3hUyA=
2、创建 deployment.yaml
创建 deployment.yaml 文件,用于部署服务。
六、创建 Ingress
为了在 Kubernetes 中使用 URL,你需要一个 Ingress。Ingress 是一组允许入站连接到达 Kubernetes 集群的规则。
Ingress 是非常必要的,因为在 Kubernetes 中,诸如 Pod 之类的资源仅具有可在集群内和集群内路由的IP地址。也就是说它们是无法进出外部环境的。
1) 创建 Ingress-nginx 控制器
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.1/deploy/static/provider/cloud/deploy.yaml
检查控制器是否创建成功。
kubectl -n ingress-nginx get pod NAME READY STATUS RESTARTS AGE ingress-nginx-admission-create-6f9w5 0/1 Completed 0 2m20s ingress-nginx-admission-patch-vsk2j 0/1 Completed 1 2m20s ingress-nginx-controller-5f4d7b5f5c-6pnx5 1/1 Running 0 2m20s
2) 创建 ingress 服务
a) 编写一个服务 YAML 文件 ingress.yaml。
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: myingress labels: name: myingress spec: rules: - host: laravel-kubernetes.demo http: paths: - pathType: Prefix path: "/" backend: service: name: myservice port: number: 80
b) 使用以下命令创建服务。
kubectl apply -f ingress.yaml
c) 检查服务是否创建成功。
kubectl get ingress NAME CLASS HOSTS ADDRESS PORTS AGE myingress <none> laravel-kubernetes.demo localhost 80 15s
XXX、构建自动化部署脚本
编者注:新闻取自各大新闻媒体,新闻内容并不代表本网立场!文字和图片来自网络,版权归原作者所有。如有侵权,请速联系小编,立即删除。
全部评论 (0) |
---|