在 Kubernetes 集群上部署一个 Laravel 网络应用

2024-05-03 渥太华微生活

laravel-eks-docker.png

在 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地址。也就是说它们是无法进出外部环境的。

168359ad016d388d~tplv-t2oaga2asx-jj-mark_3024_0_0_0_q75.png

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、构建自动化部署脚本


二维码 | 渥太华微生活

编者注:新闻取自各大新闻媒体,新闻内容并不代表本网立场!文字和图片来自网络,版权归原作者所有。如有侵权,请速联系小编,立即删除。

78
全部评论 (0)
展开快速发表评论

科技专栏