Digital Ocean 上的 K8s - 未绑定的即时 PersistentVolumeClaims
K8s on Digital Ocean - unbound immediate PersistentVolumeClaims
我正在尝试在 Digital Ocean 上的 Kubernetes 集群中创建一个 PostgreSQL 数据库。为此,我创建了一个 StatefulSet
和一个 Service
。并设置一个卷以持久化数据,我看了一下Add Block Storage Volumes tutorial。我的 StatefulSet
和 Service
的 k8s 配置在下面。
我只是用了一个 volumeClaimTemplates
。存储 class do-block-storage
存在于集群中(volumeBindingMode
设置为 Immediate
)。 pv
和 pvc
已成功创建。
A volumeClaimTemplates that is responsible for locating the block storage volume by name csi-pvc. If a volume by that name does not exist, one will be created.
但是我的 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
我设法通过先添加 pvc 而不是使用 volumeClaimTemplates 来解决我的问题
我正在尝试在 Digital Ocean 上的 Kubernetes 集群中创建一个 PostgreSQL 数据库。为此,我创建了一个 StatefulSet
和一个 Service
。并设置一个卷以持久化数据,我看了一下Add Block Storage Volumes tutorial。我的 StatefulSet
和 Service
的 k8s 配置在下面。
我只是用了一个 volumeClaimTemplates
。存储 class do-block-storage
存在于集群中(volumeBindingMode
设置为 Immediate
)。 pv
和 pvc
已成功创建。
A volumeClaimTemplates that is responsible for locating the block storage volume by name csi-pvc. If a volume by that name does not exist, one will be created.
但是我的 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
我设法通过先添加 pvc 而不是使用 volumeClaimTemplates 来解决我的问题