gpt4 book ai didi

kubernetes - K8s 和 Helm : how can I find the PersistentVolumeClaim requirements when binding fails?

转载 作者:行者123 更新时间:2023-12-05 05:04:34 25 4
gpt4 key购买 nike

我正在尝试从他们的官方 Helm chart gitlab/gitlab 安装 Gitlab。其中一个子图表是 bitnami/postgresql 图表。我可以访问这两个图表的源代码。

$ helm install gitlab gitlab/gitlab \
--set global.hosts.domain=mando \
--set global.hosts.externalIP=192.168.1.2 \
--set certmanager-issuer.email=my-email@gmail.com
--set global.edition=ce

当我尝试安装 Gitlab 图表时,创建了多个容器,而 PostgreSQL 容器由于未绑定(bind)的 PVC 而无法启动。我已经尝试创建几个可能满足其要求的不同 PV,但它们似乎都不起作用。

Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 23s (x14 over 8m) default-scheduler error while running "VolumeBinding" filter plugin for pod "gitlab-postgresql-0": pod has unbound immediate PersistentVolumeClaims

我可以描述 PVC 并获得有关它的一些信息,但从输出中不清楚我的 PV 中缺少什么或者我可以做什么才能使声明成功。

[mando infra]$ kubectl describe pvc data-gitlab-postgresql-0
Name: data-gitlab-postgresql-0
Namespace: default
StorageClass:
Status: Pending
Volume:
Labels: app=postgresql
release=gitlab
role=master
Annotations: <none>
Finalizers: [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
VolumeMode: Filesystem
Mounted By: gitlab-postgresql-0
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal FailedBinding 4m48s (x6324 over 26h) persistentvolume-controller no persistent volumes available for this claim and no storage class is set

那么当PV绑定(bind)失败时,如何找到PersistentVolumeClaim需求呢?

最佳答案

如所述in the gitlab documentation您必须自己管理存储。你必须自己创建 storageclass,pv 和 pvcs。

建议使用动态存储配置。示例 StorageClass object for GCP :

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: CUSTOM_STORAGE_CLASS_NAME
provisioner: kubernetes.io/gce-pd
reclaimPolicy: Retain
parameters:
type: pd-standard

创建StorageClass 后,您必须通过修改following file 来升级您的图表。使用创建的 storageClass:

gitlab:
gitaly:
persistence:
storageClass: CUSTOM_STORAGE_CLASS_NAME
size: 50Gi
postgresql:
persistence:
storageClass: CUSTOM_STORAGE_CLASS_NAME
size: 8Gi
minio:
persistence:
storageClass: CUSTOM_STORAGE_CLASS_NAME
size: 10Gi
redis:
master:
persistence:
storageClass: CUSTOM_STORAGE_CLASS_NAME
size: 5Gi

然后升级你的图表

helm install -upgrade gitlab gitlab/gitlab -f HELM_OPTIONS_YAML_FILE

关于kubernetes - K8s 和 Helm : how can I find the PersistentVolumeClaim requirements when binding fails?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61035265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com