在GKE中,我们可以在通过PVC对象创建持久卷时指定其区域或区域吗

Ruc*_*dam 6 google-kubernetes-engine gke-networking

我希望我的持久卷驻留在特定区域,例如 us-central1-a,但我想通过 PVC 来部署它,而不是直接创建 PV 对象。这在 GKE 中可能吗?

Bry*_*sen 5

您似乎无法为 PV 或 PVC 指定区域,但您可以volumeBindingMode: WaitForFirstConsumer在 StorageClass 上进行设置,以确保 PV 与使用它的 pod 位于同一区域中。然后,Pod 上的 nodeSelector 可用于选择区域。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ssd
parameters:
  type: pd-ssd
provisioner: kubernetes.io/gce-pd
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
Run Code Online (Sandbox Code Playgroud)

PVC:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: db
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 200Gi
  storageClassName: ssd
Run Code Online (Sandbox Code Playgroud)

荚:

kind: Pod
apiVersion: v1
metadata:
  name: foo
spec:
  nodeSelector:
    failure-domain.beta.kubernetes.io/zone: us-central1-a
  containers:
    ...
Run Code Online (Sandbox Code Playgroud)