如何在 Rancher 中部署 WordPress

How to deploy a WordPress in Rancher

提问人:Saeed 提问时间:11/5/2023 更新时间:11/7/2023 访问量:76

问:

我阅读这个链接和这个链接,看看如何部署一个简单的 WordPress 应用程序,但我不能。

在第一个链接中,我收到PVC未绑定的错误,在第二个链接中,我在以下两个链接中收到此错误:kubectl describe pod_name

pod has unbound immediate PersistentVolumeClaims

我什至尝试按照 k8s 文档手动运行,但失败了。kubectl apply -k .

我在docker上运行rancher:

docker run -d -p80:80 -p443:443 --privileged rancher/rancher:latest

你能帮我如何运行一个WordPress应用程序吗?

我还尝试了其他链接和文档,但没有一个是成功的尝试。

Kubernetes 牧场主

评论


答:

-1赞 M SHANMUKHA NATH REDDY 11/5/2023 #1
  1. 描述 PVC 并检查事件。

  2. 它似乎无法创建卷。交叉检查您使用的存储资源调配程序。

  3. 如果您没有配置任何存储(如 portworx 或 csi),请尝试使用EmptyDir

    1. 为PV创建YAML文件;我们称之为:emptyDiremptydir-pv.yaml

      apiVersion: v1
      kind: PersistentVolume
      metadata:
        name: my-emptydir-pv
      spec:
        capacity:
          storage: 1Gi
        volumeMode: Filesystem
        accessModes:
          - ReadWriteOnce
        persistentVolumeReclaimPolicy: Retain
        storageClassName: ""
        hostPath:
          path: /data/my-emptydir
      

      此 YAML 文件定义了一个名为 1Gi 的 PV,并指定了节点上将存储数据的目录。emptyDirmy-emptydir-pvhostPath

    2. 将 PV 定义应用于集群:

      kubectl apply -f emptydir-pv.yaml
      
    3. 创建一个使用 PV 的 Pod。下面是一个示例 Pod YAML;我们称之为:emptyDirmy-pod.yaml

      apiVersion: v1
      kind: Pod
      metadata:
        name: my-pod
      spec:
        volumes:
          - name: my-emptydir-volume
            persistentVolumeClaim:
              claimName: my-emptydir-pv
        containers:
          - name: my-container
            image: nginx
            volumeMounts:
              - name: my-emptydir-volume
                mountPath: /data
      

    此 Pod 定义引用了之前创建的 PV,并将其挂载到 Pod 容器中的目录中。emptyDir/data

    1. 将 Pod 定义应用于集群
      kubectl apply -f my-pod.yaml
      

请注意,该方式适用于需要在同一节点内的容器之间进行临时存储或共享存储的场景。卷中的数据不是持久的,如果 Pod 被删除或重新调度到其他节点,数据将丢失。emptyDir

评论

1赞 Saeed 11/5/2023
感谢您的回答,但我阅读代码有点困难。请编辑您的答案并用语法美化它。yamlmarkdown
0赞 M SHANMUKHA NATH REDDY 11/5/2023
yaml apiVersion: v1 kind: PersistentVolume metadata: name: my-emptydir-pv spec: capacity: storage: 1Gi volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: "" hostPath: path: /data/my-emptydir
0赞 M SHANMUKHA NATH REDDY 11/5/2023
yaml apiVersion: v1 kind: Pod metadata: name: my-pod spec: volumes: - name: my-emptydir-volume persistentVolumeClaim: claimName: my-emptydir-pv containers: - name: my-container image: nginx volumeMounts: - name: my-emptydir-volume mountPath: /data
2赞 Saeed 11/5/2023
stackoverflow.com/posts/77425552/edit 请点击此按钮并编辑您的答案。不要在评论中写下答案
0赞 David Maze 11/6/2023
几乎不应直接创建 PersistentVolumes,也不应使用类型卷。集群通常可以在给定 PersistentVolumeClaim 的情况下自行创建 PV。卷只是引用了运行 Pod 的任何节点上的目录,如果使用该卷的新 Pod 被安排在不同的节点上,则很可能会放错数据。hostPathhostPath