Gon*_* Yi 7 kubernetes persistent-volumes persistent-volume-claims
我想在具有本地PV启用的裸meta kubernetes 1.7中设置预定义的PostgreSQL集群。我有三个工作节点。我在每个节点上创建本地PV并成功部署有状态集(使用一些复杂的脚本来设置Postgres复制)。
但是我注意到在volumeClaimTemplates和PersistentVolumeClaim之间存在一种命名约定。例如
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: postgres
volumeClaimTemplates:
- metadata:
name: pgvolume
Run Code Online (Sandbox Code Playgroud)
创建的PVC是pgvolume-postgres-0
,pgvolume-postgres-1
,pgvolume-postgres-2
。
通过一些技巧,我手动创建了PVC并通过选择器绑定到目标PV。我再次测试有状态集。有状态集似乎很高兴使用这些PVC。
我成功完成了测试,但仍然有这个问题。我可以依靠volumeClaimTemplates命名约定吗?这是未记录的功能吗?
小智 5
基于statefulset API参考
volumeClaimTemplates是允许窗格引用的声明列表。StatefulSet控制器负责以维持容器身份的方式将网络身份映射到声明。此列表中的每个声明必须在模板的一个容器中至少有一个匹配的(按名称)volumeMount。此列表中的声明优先于模板中具有相同名称的任何卷。
因此,我想您可以依靠它。
此外,您可以定义存储类以利用持久性卷的动态配置,因此您不必手动创建它们。
volumeClaimTemplates:
- metadata:
name: www
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: my-storage-class
resources:
requests:
storage: 1Gi
Run Code Online (Sandbox Code Playgroud)
请参阅Kubernetes中的动态预配置和存储类以获取更多详细信息。
归档时间: |
|
查看次数: |
8138 次 |
最近记录: |