首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用pvc制作postgres头盔图

如何用pvc制作postgres头盔图
EN

Stack Overflow用户
提问于 2020-05-12 12:47:31
回答 4查看 16.2K关注 0票数 7

我想为PostgreSQL创建一个使用PVC (持久化卷索赔)的头盔图表。

我试过用katacoda https://www.katacoda.com/courses/kubernetes/helm-package-manager用pvc创建Postgres头盔图表。

我该怎么做?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-05-13 14:22:25

由于我们可以从PostgreSQL头盔图表文档中读取,它可以与下面的参数一起使用

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

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

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

票数 5
EN

Stack Overflow用户

发布于 2020-05-12 13:12:33

我使用以下PVCvalues.yaml和Chart.yaml进行部署

pvc.yaml

代码语言:javascript
复制
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: postgres-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 25Gi

values.yaml

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

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

下面的目录结构中有上面的文件。

代码语言:javascript
复制
.
├── Chart.yaml
├── charts
│   └── postgresql-7.7.3.tgz
└── values.yaml

.,我做helm dependency updatehelm install release_name .来安装。在那个kubectl apply -f pvc.yaml之前

您需要在同一个名称空间中的备注

票数 7
EN

Stack Overflow用户

发布于 2021-09-18 23:41:58

这个https://arctype.com/blog/deploy-postgres-kubernetes/解决了我的问题

代码语言:javascript
复制
# 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=true
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61752126

复制
相关文章

相似问题

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