我想为PostgreSQL创建一个使用PVC (持久化卷索赔)的头盔图表。
我试过用katacoda https://www.katacoda.com/courses/kubernetes/helm-package-manager用pvc创建Postgres头盔图表。
我该怎么做?
发布于 2020-05-13 14:22:25
由于我们可以从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状态集中的PVC模板保存数据。可以禁用持久性,将
persistence.enabled参数设置为false。在Kubernetes集群中需要一个默认的StorageClass来动态地提供卷。如果已经存在要使用的持久卷,则在persistence.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
发布于 2020-05-12 13:12:33
我使用以下PVC、values.yaml和Chart.yaml进行部署
pvc.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: postgres-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 25Givalues.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之前
您需要在同一个名称空间中的备注
发布于 2021-09-18 23:41:58
这个https://arctype.com/blog/deploy-postgres-kubernetes/解决了我的问题
# clean
helm list
helm delete postgresql-db
helm repo remove bitnami
kubectl get pvc
kubectl delete pvc data-postgresql-db
helm repo add bitnami https://charts.bitnami.com/bitnami
helm search repo postgresql
# Create PV & PVC
echo "---
apiVersion: v1
kind: PersistentVolume
metadata:
name: postgresql-pv
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data"
" > pv.yaml
k apply -f pv.yaml
echo "---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgresql-pv-claim
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
" > pvc.yaml
k apply -f pvc.yaml
helm install postgresql-db bitnami/postgresql --set persistence.existingClaim=postgresql-pv-claim --set volumePermissions.enabled=truehttps://stackoverflow.com/questions/61752126
复制相似问题