【发布时间】:2020-05-16 18:29:52
【问题描述】:
我正在使用具有 2 个节点的 GCE 集群,我使用 kubeadm 进行设置。现在我想为要部署的 postgresql 设置一个持久卷。我创建了一个带有 storageClass 的 PVC 和 PV,并在同一个项目中创建了一个名为 postgres 的 10G 磁盘空间。我在下面附加了 PVC、PV 和部署的脚本。我也在使用有权访问磁盘的服务帐户。
1.Deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: kyc-postgres
spec:
replicas: 1
selector:
matchLabels:
app: postgres
template:
metadata:
labels:
app: postgres
spec:
containers:
- image: "postgres:9.6.2"
name: postgres
ports:
- containerPort: 5432
name: postgres
volumeMounts:
- name: postgres-storage
mountPath: /var/lib/postgresql/db-data
volumes:
- name: postgres-storage
persistentVolumeClaim:
claimName: kyc-postgres-pvc
2.PersistentVolumeClaim.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: kyc-postgres-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: standard
3.PersistentVolume.yml
apiVersion: v1
kind: PersistentVolume
metadata:
name: kyc-postgres-pv
annotations:
kubernetes.io/createdby: gce-pd-dynamic-provisioner
pv.kubernetes.io/bound-by-controller: "yes"
pv.kubernetes.io/provisioned-by: kubernetes.io/gce-pd
finalizers:
- kubernetes.io/pv-protection
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 5Gi
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: kyc-postgres-pvc
namespace: default
gcePersistentDisk:
fsType: NTFS
pdName: postgres
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: failure-domain.beta.kubernetes.io/zone
operator: In
values:
- us-central1-a
- key: failure-domain.beta.kubernetes.io/region
operator: In
values:
- us-central1-a
persistentVolumeReclaimPolicy: Delete
storageClassName: standard
volumeMode: Filesystem
status:
phase: Bound
- StorageClass.yml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: standard
provisioner: kubernetes.io/gce-pd
parameters:
type: pd-standard
zone: us-central1-a
现在,当我创建这些卷和部署时,pod 没有正确启动。当我厌倦了创建部署时,我收到以下错误。
Failed to get GCE GCECloudProvider with error <nil>
我还附上了kubectl get sc的输出
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
standard kubernetes.io/gce-pd Delete Immediate false 10m
有人可以帮我解决这个问题吗?提前感谢您的宝贵时间 - 如果我遗漏了任何内容、过分强调或过分强调某个特定点,请在 cmets 中告诉我。
【问题讨论】:
-
可以添加
kubectl get sc的输出吗?
标签: postgresql kubernetes google-compute-engine persistent-volumes