kubernetes - 使用 helm 将现有卷附加到 postgres slave
问题描述
这是我为 master 和 slave 创建的两个 yml 文件
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: db-disk-master
spec:
accessModes:
- ReadWriteOnce
storageClassName: managed-premium
resources:
requests:
storage: 5Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: db-disk-slave
spec:
accessModes:
- ReadWriteOnce
storageClassName: managed-premium
resources:
requests:
storage: 5Gi
这是我用来安装 postgress 的命令
helm install postgresql-db \
--set persistence.existingClaim="db-disk-master"\
--set replication.slaveReplicas=1 \
--set replication.enabled=true \
--values <(echo '{
"slave": {
"extraVolumes": [
{
"name": "db-disk-slave"
}
]
}
}') \
bitnami/postgresql -n development
但是在从节点中执行此操作时,会创建一个新卷并附加到它而不使用该"db-disk-slave"
卷。我想在"db-disk-slave"
不创建新卷的情况下连接从节点
解决方案
对于 Slave pod,HELM 图表允许您正确设置 PVC
{{- if .Values.slave.extraVolumes }}
{{- toYaml .Values.slave.extraVolumes | nindent 8 }}
{{- end }}
问题出在 extraVolume 变量的内容中
卷:-名称:卷persistentVolumeClaim:claimName:db-disk-slave
这将允许从 pod 接收来自现有 PVC 的卷
希望对您有所帮助,如果您还有其他问题,请告诉我
参考:
https://docs.microsoft.com/en-us/azure/aks/azure-disks-dynamic-pv#use-the-persistent-volume
以下评论的补充:
--values <(echo '{
"slave": {
"extraVolumes": [
{
"name": "db-disk-slave"
}
]
}
}')
this needs to be updated to
--values <(echo '{
"slave": {
"extraVolumes": [
{
"name": "volume",
"persistentVolumeClaim": { "claimName": "db-disk-slave" }
}
]
}
}')
查看参考文档https://docs.microsoft.com/en-us/azure/aks/azure-disks-dynamic-pv#use-the-persistent-volume
推荐阅读
- python - dyld [8922]:库未加载:/usr/local/opt/readline/lib/libreadline.7.dylib
- c++ - 为什么输出“0x7ffffcf9a010”?
- javascript - 使用 ReactJs 绘制分割掩码
- html - :first-child 和 :nth-child(1) 不工作
- mongodb - 我应该使用 db.collection.distinct() 吗?
- flutter - Flutter Steamprovider 不更新监听器
- r - 多组 - 加权平均值 - 不在 r 中工作(使用 dplyr)
- javascript - 如何将我的静态网站配置为可安装
- python - Airflow Kubernetes Executor 未创建 Pod
- xamarin.forms - 使用我的 .NET MAUI 应用程序部署 .zip 文件