我想挂载蓝色磁盘到蓝色Kubernetes的PostgreSQL pod。我的yml文件
postgres-storage.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: postgres-pv
spec:
capacity:
storage: 80Gi
storageClassName: manual
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
azureDisk:
kind: Managed
diskName: es-us-dev-core-test
diskURI: /subscriptions/id/resourceGroups/kubernetes_resources_group/providers/Microsoft.Compute/disks/dev-test
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres-pv-claim
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 80Gipostgres-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: postgres-config
labels:
app: postgres
data:
POSTGRES_DB: dev-test
POSTGRES_USER: admintpost
POSTGRES_PASSWORD: ada3dassasaStatefulSet.yml
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: postgres-statefulset
labels:
app: postgres
spec:
serviceName: "postgres"
replicas: 1
selector:
matchLabels:
app: postgres
template:
metadata:
labels:
app: postgres
spec:
containers:
- name: postgres
image: postgres:12
envFrom:
- configMapRef:
name: postgres-config
ports:
- containerPort: 5432
name: postgresdb
volumeMounts:
- name: pv-data
mountPath: /var/lib/postgresql/data
volumes:
- name: pv-data
persistentVolumeClaim:
claimName: postgres-pv-claim创建磁盘https://docs.microsoft.com/en-us/azure/aks/azure-disk-volume说明
我得到一个错误,它无法连接到磁盘,您能告诉我如何添加Azure磁盘到pod.Thanks。
发布于 2021-08-22 12:25:15
在正确的资源组中创建Azure磁盘
查看文件postgres-storage.yaml
在spec.azureDisk.diskURI中,我看到您已经在资源组kubernetes_resources_group中创建了磁盘。但是,您应该在名称类似于MC_kubernetes_resources_group_<your cluster name>_<region of the cluster>的资源组中创建磁盘
请确保您在与集群相同的可用区中创建磁盘。
将缓存模式设置为None
在文件postgres-storage.yaml中
将spec.azureDisk.cachingMode设置为None
修复StatefulSet.yml的定义
如果你使用的是Azure磁盘,那么在StatefulSet.yml文件中
在spec.template.spec中,您应该替换以下内容:
volumeMounts:
- name: pv-data
mountPath: /var/lib/postgresql/data有了这个:
volumeMounts:
- name: pv-data
mountPath: /var/lib/postgresql/data
subPath: pgdata编辑:修复了最后一部分中的一些错误。
https://stackoverflow.com/questions/65347707
复制相似问题