如何用pvc创建postgres的舵手图?

问题描述 投票:0回答:1

我想用pvc创建postgres helm聊天,请问你能不能让我知道怎么做,在katacoda中尝试 https:/www.katacoda.comcourseskuberneteshelm-package-manager用pvc创建Postgres helm图表。

kubernetes kubernetes-helm
1个回答
0
投票

我们可以从 PostgreSQL 舵机图文档,它可以与以下内容一起使用。参数:

+----------------------------+-----------------------------------------------------------------+---------------+
|         Parameter          |                           Description                           |    Default    |
+----------------------------+-----------------------------------------------------------------+---------------+
| persistence.enabled        | Enable data persistence                                         | true          |
| persistence.existingClaim  | Use a existing PVC which must be created manually before bound  | nil           |
| persistence.storageClass   | Specify the storageClass used to provision the volume           | nil           |
| persistence.mountPath      | Path to mount data volume at                                    | nil           |
| persistence.accessMode     | Access mode of data volume                                      | ReadWriteOnce |
| persistence.size           | Size of data volume                                             | 8Gi           |
| persistence.annotations    | Persistent Volume Claim annotations                             | {}            |
+----------------------------+-----------------------------------------------------------------+---------------+

持续性

数据默认使用PostgreSQL statefulset中的PVC模板进行持久化。你可以禁用持久化设置 persistence.enabled 参数为 false. 默认 StorageClass 需要在Kubernetes集群中动态地供应卷。中指定另一个StorageClass。 persistence.storageClass 或设置 persistence.existingClaim 如果您已经有现有的持久化卷要使用。

这意味着您只需要创建您自己的 持久性体积 例如,它可以是这样的。

pv.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: task-pv-volume
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/data"

pvc.yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: task-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 8Gi

一旦这些被部署和绑定,你就可以安装PostgreSQL图表。

helm install my-release bitnami/postgresql --set persistence.existingClaim=task-pv-claim


0
投票

我使用以下方法部署 PVC ,values.yaml 和Chart.yaml

pvc.yaml

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: postgres-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 25Gi

values.yaml

postgresql:
  cpu: 1000m
  memory: 1Gi
  persistence:
    enabled: true
    existingClaim: postgres-pvc
  volumePermissions:
    enabled: true
  replication:
    enabled: false
  initdbScripts:
    psql.sql: |
      CREATE USER user WITH PASSWORD 'pass';
      ALTER USER user WITH SUPERUSER;

Chart.yaml

apiVersion: v2
name: pgname
description: A Short description

type: application

version: 0.1.3

appVersion: 1.16.2

dependencies:
  - name: postgresql
    version: 7.x.x
    repository: https://kubernetes-charts.storage.googleapis.com/
    condition: postgresql.enabled
    tags:
      - services
      - db
      - write

我在以下目录中得到了上述文件。

.
├── Chart.yaml
├── charts
│   └── postgresql-7.7.3.tgz
└── values.yaml

. 我愿意 helm dependency updatehelm install release_name . 来安装。在此之前 kubectl apply -f pvc.yaml

你需要在同一个命名空间里

© www.soinside.com 2019 - 2024. All rights reserved.