将azure磁盘安装到用于PostgreSQL pod的azure Kubernetes



我想为PostgreSQL pod将azure磁盘挂载到azure Kubernetes。我的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: 80Gi

后期配置图.yaml

apiVersion: v1
kind: ConfigMap
metadata:
name: postgres-config
labels:
app: postgres
data:
POSTGRES_DB: dev-test
POSTGRES_USER: admintpost
POSTGRES_PASSWORD: ada3dassasa

StatefulSet.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://learn.microsoft.com/en-us/azure/aks/azure-disk-volume

我收到一个错误,它无法连接到磁盘,你能告诉我如何将Azure磁盘添加到pod中吗。谢谢

在正确的资源组中创建Azure磁盘

查看文件postgres-storage.yaml:

spec.azureDisk.diskURI中,我看到您已经在资源组kubernetes_resources_group中创建了磁盘。但是,您应该在名称如下的资源组中创建磁盘:MC_kubernetes_resources_group_<your cluster name>_<region of the cluster>

请确保在与集群相同的可用性区域中创建磁盘

将缓存模式设置为"无">

在文件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

编辑:修正了上一部分的一些错误。

相关内容

最新更新