我想用pvc创建postgres helm聊天,请问你能不能让我知道怎么做,在katacoda中尝试 https:/www.katacoda.comcourseskuberneteshelm-package-manager用pvc创建Postgres helm图表。
我们可以从 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
我使用以下方法部署 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 update
和 helm install release_name .
来安装。在此之前 kubectl apply -f pvc.yaml
注 你需要在同一个命名空间里