Kubernetes wordpress pod和mysql pod之间的NFS卷共享问题

Kubernetes wordpress pod和mysql pod之间的NFS卷共享问题,kubernetes,nfs,persistent-volumes,persistent-volume-claims,Kubernetes,Nfs,Persistent Volumes,Persistent Volume Claims,此存储库正在尝试实现一个wordpress应用程序,该应用程序在mySQL和wordpress之间共享一个NFS卷。在POD之间共享NFS卷的想法是在下一步为mySQL实现StatefulSet。这个StatefulSet应用程序需要在mySQL的所有pod之间共享数据库(数据库的卷),以便创建一个多节点数据库来确保所请求的高性能 要做到这一点,有一个例子。本例使用的是etcd。那么为什么不使用nfs而不是etcd 创建这个在MySQL和wordpress之间共享NFS卷的kubernetes

此存储库正在尝试实现一个wordpress应用程序,该应用程序在mySQL和wordpress之间共享一个NFS卷。在POD之间共享NFS卷的想法是在下一步为mySQL实现StatefulSet。这个StatefulSet应用程序需要在mySQL的所有pod之间共享数据库(数据库的卷),以便创建一个多节点数据库来确保所请求的高性能

要做到这一点,有一个例子。本例使用的是
etcd
。那么为什么不使用
nfs
而不是
etcd

创建这个在MySQL和wordpress之间共享NFS卷的kubernetes wordpress应用程序时要运行的命令有:

kubectl create -f 01-pv-gce.yml
kubectl create -f 02-dep-nfs.yml
kubectl create -f 03-srv-nfs.yml
kubectl get services # you have to update the file 04-pv-pvc with the new IP address of the service 
kubectl create -f 04-pv-pvc.yml
kubectl create -f 05-mysql.yml
kubectl create -f 06-wordpress.yml
这一实施没有成功。wordpress pod未启动:

$ kubectl get pods
NAME                              READY     STATUS             RESTARTS   AGE
nfs-server-2899972627-jgjx0       1/1       Running            0          4m
wp01-mysql-1941769936-m9jjd       1/1       Running            0          3m
wp01-wordpress-2362719074-bv53t   0/1       CrashLoopBackOff   4          2m
似乎访问NFS卷时出现问题,如下所述:

$ kubectl describe pods wp01-wordpress-2362719074-bv53t
Name:       wp01-wordpress-2362719074-bv53t
Namespace:  default
Node:       gke-mappedinn-cluster-default-pool-6264f94a-z0sh/10.240.0.4
Start Time: Thu, 04 May 2017 05:59:12 +0400
Labels:     app=wp01
        pod-template-hash=2362719074
        tier=frontend
Annotations:    kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"default","name":"wp01-wordpress-2362719074","uid":"44b91da0-306d-11e7-a0d1-42010a...
        kubernetes.io/limit-ranger=LimitRanger plugin set: cpu request for container wordpress
Status:     Running
IP:     10.244.0.4
Controllers:    ReplicaSet/wp01-wordpress-2362719074
Containers:
  wordpress:
    Container ID:   docker://658c7392c1b7a5033fe1a1b456a9653161003ee2878a4f02c6a12abb49241d47
    Image:      wordpress:4.6.1-apache
    Image ID:       docker://sha256:ee397259d4e59c65e2c1c5979a3634eb3ab106bba389acea8b21862053359134
    Port:       80/TCP
    State:      Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Thu, 04 May 2017 06:03:16 +0400
      Finished:     Thu, 04 May 2017 06:03:16 +0400
    Ready:      False
    Restart Count:  5
    Requests:
      cpu:  100m
    Environment:
      WORDPRESS_DB_HOST:    wp01-mysql
      WORDPRESS_DB_PASSWORD:    <set to the key 'password' in secret 'wp01-pwd-wordpress'>  Optional: false
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-k650h (ro)
      /var/www/html from wordpress-persistent-storage (rw)
Conditions:
  Type      Status
  Initialized   True
  Ready     False
  PodScheduled  True
Volumes:
  wordpress-persistent-storage:
    Type:   PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  wp01-pvc-data
    ReadOnly:   false
  default-token-k650h:
    Type:   Secret (a volume populated by a Secret)
    SecretName: default-token-k650h
    Optional:   false
QoS Class:  Burstable
Node-Selectors: <none>
Tolerations:    <none>
Events:
  FirstSeen LastSeen    Count   From                                SubObjectPath           Type        Reason      Message
  --------- --------    -----   ----                                -------------           --------    ------      -------
  5m        5m      1   default-scheduler                                       Normal      Scheduled   Successfully assigned wp01-wordpress-2362719074-bv53t to gke-mappedinn-cluster-default-pool-6264f94a-z0sh
  4m        4m      1   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh   spec.containers{wordpress}  Normal      Pulling     pulling image "wordpress:4.6.1-apache"
  4m        4m      1   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh   spec.containers{wordpress}  Normal      Pulled      Successfully pulled image "wordpress:4.6.1-apache"
  4m        4m      1   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh   spec.containers{wordpress}  Normal      Created     Created container with docker id 8647e997d6f4; Security:[seccomp=unconfined]
  4m        4m      1   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh   spec.containers{wordpress}  Normal      Started     Started container with docker id 8647e997d6f4
  4m        4m      1   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh   spec.containers{wordpress}  Normal      Created     Created container with docker id 37f4f0fd392d; Security:[seccomp=unconfined]
  4m        4m      1   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh   spec.containers{wordpress}  Normal      Started     Started container with docker id 37f4f0fd392d
  4m        4m      1   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh                   Warning     FailedSync  Error syncing pod, skipping: failed to "StartContainer" for "wordpress" with CrashLoopBackOff: "Back-off 10s restarting failed container=wordpress pod=wp01-wordpress-2362719074-bv53t_default(44ba1226-306d-11e7-a0d1-42010a8e0084)"

  3m    3m  1   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh   spec.containers{wordpress}  Normal  Created     Created container with docker id b78a661388a2; Security:[seccomp=unconfined]
  3m    3m  1   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh   spec.containers{wordpress}  Normal  Started     Started container with docker id b78a661388a2
  3m    3m  2   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh                   Warning FailedSync  Error syncing pod, skipping: failed to "StartContainer" for "wordpress" with CrashLoopBackOff: "Back-off 20s restarting failed container=wordpress pod=wp01-wordpress-2362719074-bv53t_default(44ba1226-306d-11e7-a0d1-42010a8e0084)"

  3m    3m  1   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh   spec.containers{wordpress}  Normal  Created     Created container with docker id 2b6384407678; Security:[seccomp=unconfined]
  3m    3m  1   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh   spec.containers{wordpress}  Normal  Started     Started container with docker id 2b6384407678
  3m    2m  4   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh                   Warning FailedSync  Error syncing pod, skipping: failed to "StartContainer" for "wordpress" with CrashLoopBackOff: "Back-off 40s restarting failed container=wordpress pod=wp01-wordpress-2362719074-bv53t_default(44ba1226-306d-11e7-a0d1-42010a8e0084)"

  2m    2m  1   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh   spec.containers{wordpress}  Normal  Created     Created container with docker id 930a3410b213; Security:[seccomp=unconfined]
  2m    2m  1   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh   spec.containers{wordpress}  Normal  Started     Started container with docker id 930a3410b213
  2m    1m  7   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh                   Warning FailedSync  Error syncing pod, skipping: failed to "StartContainer" for "wordpress" with CrashLoopBackOff: "Back-off 1m20s restarting failed container=wordpress pod=wp01-wordpress-2362719074-bv53t_default(44ba1226-306d-11e7-a0d1-42010a8e0084)"

  4m    1m  5   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh   spec.containers{wordpress}  Normal  Pulled      Container image "wordpress:4.6.1-apache" already present on machine
  1m    1m  1   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh   spec.containers{wordpress}  Normal  Created     Created container with docker id 658c7392c1b7; Security:[seccomp=unconfined]
  1m    1m  1   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh   spec.containers{wordpress}  Normal  Started     Started container with docker id 658c7392c1b7
  4m    10s 19  kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh   spec.containers{wordpress}  Warning BackOff     Back-off restarting failed docker container
  1m    10s 5   kubelet, gke-mappedinn-cluster-default-pool-6264f94a-z0sh               
$kubectl描述pods wp01-wordpress-2362719074-bv53t
名称:wp01-wordpress-2362719074-bv53t
名称空间:默认值
节点:gke-mappedinn-cluster-default-pool-6264f94a-z0sh/10.240.0.4
开始时间:2017年5月4日星期四05:59:12+0400
标签:app=wp01
pod模板哈希=2362719074
层=前端
注释:kubernetes.io/创建人={“种类”:“序列化引用”,“apiVersion”:“v1”,“引用”:{“种类”:“复制集”,“命名空间”:“默认”,“名称”:“wp01-wordpress-2362719074”,“uid”:“44b91da0-306d-11e7-a0d1-42010a…”。。。
io/limit ranger=LimitRanger插件集:容器wordpress的cpu请求
状态:正在运行
IP:10.244.0.4
控制器:ReplicaSet/wp01-wordpress-2362719074
容器:
wordpress:
容器ID:docker://658c7392c1b7a5033fe1a1b456a9653161003ee2878a4f02c6a12abb49241d47
图片:wordpress:4.6.1-apache
图像ID:docker://sha256:ee397259d4e59c65e2c1c5979a3634eb3ab106bba389acea8b21862053359134
端口:80/TCP
国家:等待
原因:仓促退却
最后状态:终止
原因:错误
退出代码:1
开始时间:2017年5月4日星期四06:03:16+0400
完成时间:2017年5月4日星期四06:03:16+0400
就绪:错误
重新启动计数:5
请求:
中央处理器:100米
环境:
WORDPRESS_DB_主机:wp01 mysql
WORDPRESS\u DB\u密码:可选:false
挂载:
/来自default-token-k650h(ro)的var/run/secrets/kubernetes.io/serviceCount
/来自wordpress持久存储(rw)的var/www/html
条件:
类型状态
初始化为True
准备错误
播客预定为真
卷数:
wordpress持久存储:
类型:PersistentVolumeClaim(对同一命名空间中PersistentVolumeClaim的引用)
索赔名称:wp01 pvc数据
只读:false
default-token-k650h:
类型:Secret(由Secret填充的卷)
SecretName:default-token-k650h
可选:false
QoS等级:Burstable
节点选择器:
容忍:
活动:
子对象路径类型原因消息中的FirstSeen LastSeen计数
--------- --------    -----   ----                                -------------           --------    ------      -------
5m 5m 1默认调度程序正常调度成功将wp01-wordpress-2362719074-bv53t分配给gke-mappedinn-cluster-default-pool-6264f94a-z0sh
4m 4m 1 kubelet,gke-mappedinn-cluster-default-pool-6264f94a-z0sh规范容器{wordpress}正常拉取图像“wordpress:4.6.1-apache”
4m 4m 1 kubelet,gke-mappedinn-cluster-default-pool-6264f94a-z0sh规范容器{wordpress}正常拉取成功拉取图像“wordpress:4.6.1-apache”
4m 4m 1 kubelet,gke-mappedinn-cluster-default-pool-6264f94a-z0sh规范容器{wordpress}正常创建的容器,docker id为8647e997d6f4;安全性:[seccomp=未定义]
4m 4m 1 kubelet,gke-mappedinn-cluster-default-pool-6264f94a-z0sh spec.containers{wordpress}正常已启动docker id为8647e997d6f4的容器
4m 4m 1 kubelet,gke-mappedinn-cluster-default-pool-6264f94a-z0sh spec.containers{wordpress}正常创建的容器,docker id为37f4f0fd392d;安全性:[seccomp=unconfined]
4m 4m 1 kubelet,gke-mappedinn-cluster-default-pool-6264f94a-z0sh规格容器{wordpress}正常已启动docker id为37f4f0fd392d的容器
4m 4m 1 kubelet,gke-mappedinn-cluster-default-pool-6264f94a-z0sh警告同步pod失败同步错误,跳过:无法使用CrashLoopBackOff为“wordpress”启动容器:“后退10s重新启动失败容器=wordpress pod=wp01-wordpress-2362719074-bv53t_默认值(44ba1226-306d-11e7-a0d1-42010a8e0084)"
3m 3m 1 kubelet,gke-mappedinn-cluster-default-pool-6264f94a-z0sh规格容器{wordpress}正常创建的容器,docker id为b78a661388a2;安全性:[seccomp=未定义]
3m 3m 1 kubelet,gke-mappedinn-cluster-default-pool-6264f94a-z0sh规格容器{wordpress}正常已启动docker id为b78a661388a2的容器
3m 3m 2 kubelet,gke-mappedinn-cluster-default-pool-6264f94a-z0sh警告同步pod失败同步错误,跳过:无法使用CrashLoopBackOff为“wordpress”启动容器:“后退20s重启失败容器=wordpress pod=wp01-wordpress-2362719074-bv53t_默认值(44ba1226-306d-11e7-a0d1-42010a8e0084)”
3m 3m 1 kubelet,gke-mappedinn-cluster-default-pool-6264f94a-z0sh规格容器{wordpress}正常创建的容器,docker id为2b6384407678;安全性:[seccomp=unconfined]
3m 3m 1 kubelet,gke-mappedinn-cluster-default-pool-6264f94a-z0sh规格容器{wordpress}