Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 如果使用区域群集和永久磁盘,则引用该磁盘的pod不会自动调度到与该磁盘相同的区域_Google Cloud Platform_Google Kubernetes Engine - Fatal编程技术网

Google cloud platform 如果使用区域群集和永久磁盘,则引用该磁盘的pod不会自动调度到与该磁盘相同的区域

Google cloud platform 如果使用区域群集和永久磁盘,则引用该磁盘的pod不会自动调度到与该磁盘相同的区域,google-cloud-platform,google-kubernetes-engine,Google Cloud Platform,Google Kubernetes Engine,据 一旦配置了永久磁盘,所有引用该磁盘的POD都将被安排到与该磁盘相同的区域 但我测试过,事实并非如此 创建磁盘的过程如下: gcloud compute disks create mongodb --size=1GB --zone=asia-east1-c WARNING: You have selected a disk size of under [200GB]. This may result in poor I/O performance. For more information,

据 一旦配置了永久磁盘,所有引用该磁盘的POD都将被安排到与该磁盘相同的区域 但我测试过,事实并非如此

创建磁盘的过程如下:

gcloud compute disks create mongodb --size=1GB --zone=asia-east1-c
WARNING: You have selected a disk size of under [200GB]. This may result in poor I/O performance. For more information, see: https://developers.google.com/compute/docs/disks#performance.
Created [https://www.googleapis.com/compute/v1/projects/ornate-ensign-234106/zones/asia-east1-c/disks/mongodb].
NAME     ZONE          SIZE_GB  TYPE         STATUS
mongodb  asia-east1-c  1        pd-standard  READY

New disks are unformatted. You must format and mount a disk before it
can be used. You can find instructions on how to do this at:

https://cloud.google.com/compute/docs/disks/add-persistent-disk#formatting
群集条件:

Name    Zone    Recommendation  In use by   Internal IP External IP Connect 
gke-kubia-default-pool-08dd2133-qbz6    asia-east1-a        k8s-ig--c4addd497b1e0a6d, gke-kubia-default-pool-08dd2133-grp   10.140.0.17 (nic0)  
35.201.224.238


gke-kubia-default-pool-183639fa-18vr    asia-east1-c        gke-kubia-default-pool-183639fa-grp, k8s-ig--c4addd497b1e0a6d   10.140.0.18 (nic0)  
35.229.152.12


gke-kubia-default-pool-42725220-43q8    asia-east1-b        gke-kubia-default-pool-42725220-grp, k8s-ig--c4addd497b1e0a6d   10.140.0.16 (nic0)  
34.80.225.6
创建pod的yaml:

apiVersion: v1
kind: Pod
metadata:
  name: mongodb
spec:
  volumes:
  - name: mongodb-data
    gcePersistentDisk:
      pdName: mongodb
      fsType: ext4
  containers:
  - image: mongo
    name: mongodb
    volumeMounts:
    - name: mongodb-data
      mountPath: /data/db
    ports:
    - containerPort: 27017
      protocol: TCP
pod预计安排在位于亚洲东部1-c区的gke-kubia-default-pool-183639fa-18vr上。但是:

C:\kube>kubectl get pod -o wide
NAME          READY   STATUS              RESTARTS   AGE    IP           NODE                                   NOMINATED NODE
fortune       2/2     Running             0          4h9m   10.56.3.5    gke-kubia-default-pool-42725220-43q8   <none>
kubia-4jmzg   1/1     Running             0          9d     10.56.1.6    gke-kubia-default-pool-183639fa-18vr   <none>
kubia-j2lnr   1/1     Running             0          9d     10.56.3.4    gke-kubia-default-pool-42725220-43q8   <none>
kubia-lrt9x   1/1     Running             0          9d     10.56.0.14   gke-kubia-default-pool-08dd2133-qbz6   <none>
mongodb       0/1     ContainerCreating   0          55s    <none>       gke-kubia-default-pool-42725220-43q8   <none>

C:\kube>kubectl describe pod mongodb
Name:               mongodb
Namespace:          default
Priority:           0
PriorityClassName:  <none>
Node:               gke-kubia-default-pool-42725220-43q8/10.140.0.16
Start Time:         Thu, 20 Jun 2019 15:39:13 +0800
Labels:             <none>
Annotations:        kubernetes.io/limit-ranger: LimitRanger plugin set: cpu request for container mongodb
Status:             Pending
IP:
Containers:
  mongodb:
    Container ID:
    Image:          mongo
    Image ID:
    Port:           27017/TCP
    Host Port:      0/TCP
    State:          Waiting
      Reason:       ContainerCreating
    Ready:          False
    Restart Count:  0
    Requests:
      cpu:        100m
    Environment:  <none>
    Mounts:
      /data/db from mongodb-data (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-sd57s (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  mongodb-data:
    Type:       GCEPersistentDisk (a Persistent Disk resource in Google Compute Engine)
    PDName:     mongodb
    FSType:     ext4
    Partition:  0
    ReadOnly:   false
  default-token-sd57s:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-sd57s
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason              Age                   From                                           Message
  ----     ------              ----                  ----                                           -------
  Normal   Scheduled           10m                   default-scheduler                              Successfully assigned default/mongodb to gke-kubia-default-pool-42725220-43q8
  Warning  FailedMount         106s (x4 over 8m36s)  kubelet, gke-kubia-default-pool-42725220-43q8  Unable to mount volumes for pod "mongodb_default(7fe9c096-932e-11e9-bb3d-42010a8c00de)": timeout expired waiting for volumes to attach or mount for pod "default"/"mongodb". list of unmounted volumes=[mongodb-data]. list of unattached volumes=[mongodb-data default-token-sd57s]
  Warning  FailedAttachVolume  9s (x13 over 10m)     attachdetach-controller                        AttachVolume.Attach failed for volume "mongodb-data" : GCE persistent disk not found: diskName="mongodb" zone="asia-east1-b"

C:\kube>
C:\kube>kubectl获得吊舱-o宽
名称就绪状态重新启动老化IP节点指定节点
《财富》杂志2/2运行0.4h9m 10.56.3.5 gke-kubia-default-pool-42725220-43q8
kubia-4jmzg 1/1运行0 9d 10.56.1.6 gke-kubia-default-pool-183639fa-18vr
kubia-j2lnr 1/1运行0 9d 10.56.3.4 gke-kubia-default-pool-42725220-43q8
kubia-lrt9x 1/1运行0 9d 10.56.0.14 gke-kubia-default-pool-08dd2133-qbz6
mongodb 0/1集装箱创建0 55s gke-kubia-default-pool-42725220-43q8
C:\kube>kubectl描述pod mongodb
姓名:mongodb
名称空间:默认值
优先级:0
PriorityClassName:
节点:gke-kubia-default-pool-42725220-43q8/10.140.0.16
开始时间:2019年6月20日星期四15:39:13+0800
标签:
注释:kubernetes.io/limit-ranger:LimitRanger插件集:容器mongodb的cpu请求
状态:待定
知识产权:
容器:
mongodb:
容器ID:
图片:mongo
图像ID:
端口:27017/TCP
主机端口:0/TCP
国家:等待
原因:集装箱制造
就绪:错误
重新启动计数:0
请求:
中央处理器:100米
环境:
挂载:
/来自mongodb数据(rw)的数据/db
/来自default-token-sd57s(ro)的var/run/secrets/kubernetes.io/serviceCount
条件:
类型状态
初始化为True
准备错误
集装箱准备好了吗
播客预定为真
卷数:
mongodb数据:
类型:GCEPersistentDisk(谷歌计算引擎中的持久磁盘资源)
PDName:mongodb
FSType:ext4
分区:0
只读:false
default-token-sd57s:
类型:Secret(由Secret填充的卷)
SecretName:default-token-sd57s
可选:false
QoS等级:Burstable
节点选择器:
容差:node.kubernetes.io/未就绪:不执行300秒
node.kubernetes.io/不可访问:不执行300秒
活动:
从消息中键入原因年龄
----     ------              ----                  ----                                           -------
正常调度的10m默认调度程序已成功将默认/mongodb分配给gke-kubia-default-pool-42725220-43q8
警告失败装载106s(x4超过8m36s)kubelet,gke-kubia-default-pool-42725220-43q8无法装载pod“mongodb_默认(7fe9c096-932e-11e9-bb3d-42010a8c00de)”的卷:等待卷连接或装载pod“default”/“mongodb”的超时。已卸载卷的列表=[mongodb数据]。未连接卷列表=[mongodb数据默认值-token-sd57s]
警告失败附加卷9s(x13超过10m)附加附加附加控制器附加卷。附加卷“mongodb数据”失败:未找到GCE永久磁盘:diskName=“mongodb”zone=“asia-east1-b”
C:\kube>

有人知道原因吗?

这里的问题是pod试图在一个节点asia-east1-b上进行配置,而磁盘没有装载,因为它是在asia-east1-c中进行配置的


您可以在这里使用,它将向节点添加一个标签,然后在yaml中为pod指定该标签。这样,它将选择asia-east1-c中的节点并装载磁盘。

这里的问题是pod试图在asia-east1-b节点上进行配置,而磁盘未装载,因为它是在asia-east1-c中进行配置的

您可以在这里使用,它将向节点添加一个标签,然后在yaml中为pod指定该标签。这样,它将选择asia-east1-c中的节点并装载磁盘