我尝试在Digital Ocean上的Kubernetes集群中创建一个PostgreSQL数据库。为此,我创建了一个StatefulSet
和一个Service
。为了设置卷以持久化数据,我看了一下Add Block Storage Volumes tutorial。下面是我为StatefulSet
和Service
配置的k8s。
我只是使用了一个volumeClaimTemplates
。集群中存在存储类do-block-storage
(volumeBindingMode
设置为Immediate
)。pv
和pvc
成功创建。
一个volumeClaimTemplates,负责通过csi-pvc名称定位块存储卷。如果不存在同名卷,则将创建一个。
但是我的pod福尔斯在**CrashLoopBackOff中掉落。**我得到:0/1 nodes are available: 1 pod has unbound immediate PersistentVolumeClaims. Back-off restarting failed container
值得一提的是,我的集群只有一个节点。
有没有人能帮我理解一下为什么?谢谢
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: postgres-db
spec:
serviceName: postgres-db
selector:
matchLabels:
role: db
app: my-app
replicas: 1
template:
metadata:
labels:
role: db
app: my-app
spec:
containers:
- name: postgres
image: postgres:13
imagePullPolicy: "IfNotPresent"
ports:
- containerPort: 5432
volumeMounts:
- mountPath: "/data"
name: csi-pvc
- mountPath: "/config"
name: postgres-config-map
volumes:
- name: postgres-config-map
configMap:
name: postgres-config
volumeClaimTemplates:
- metadata:
name: csi-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: do-block-storage
---
apiVersion: v1
kind: Service
metadata:
name: postgres-db
labels:
role: db
app: my-app
spec:
selector:
role: db
app: my-app
ports:
- port: 5432
targetPort: 5432
type: ClusterIP
字符串
x1c 0d1x的数据
1条答案
按热度按时间ergxz8rk1#
我设法解决我的问题,首先添加PVC,而不是使用volumeClaimTemplates