首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将azure磁盘挂载到azure Kubernetes for PostgreSQL pod

将azure磁盘挂载到azure Kubernetes for PostgreSQL pod
EN

Stack Overflow用户
提问于 2020-12-18 04:12:45
回答 1查看 240关注 0票数 0

我想挂载蓝色磁盘到蓝色Kubernetes的PostgreSQL pod。我的yml文件

postgres-storage.yaml

代码语言:javascript
复制
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

postgres-configmap.yaml

代码语言:javascript
复制
apiVersion: v1
kind: ConfigMap
metadata:
  name: postgres-config
  labels:
    app: postgres
data:
  POSTGRES_DB: dev-test
  POSTGRES_USER: admintpost
  POSTGRES_PASSWORD: ada3dassasa

StatefulSet.yml

代码语言:javascript
复制
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。

EN

回答 1

Stack Overflow用户

发布于 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中,您应该替换以下内容:

代码语言:javascript
复制
volumeMounts:
  - name: pv-data
    mountPath: /var/lib/postgresql/data

有了这个:

代码语言:javascript
复制
volumeMounts:
  - name: pv-data
    mountPath: /var/lib/postgresql/data
    subPath: pgdata

编辑:修复了最后一部分中的一些错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65347707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档