volumeClaimTemplates使用示例
apiVersion: apps/v1kind: StatefulSetmetadata:name: webspec:serviceName: "nginx"replicas: 2selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:1.9.1ports:- containerPort: 80name: webvolumeMounts:- name: wwwmountPath: /usr/share/nginx/htmlvolumeClaimTemplates:- metadata:name: wwwspec:accessModes:- ReadWriteOncestorageClassName: "local-storage"resources:requests:storage: 1Gi
凡是被这个 StatefulSet 管理的 Pod,都会声明一个对应的 PVC;而这个 PVC 的定义,就来自于 volumeClaimTemplates 这个模板字段。更重要的是,这个 PVC 的名字,会被分配一个与这个 Pod 完全一致的编号。
# kubectl get persistentvolumeclaimsNAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGEexample-local-claim Pending local-storage 44mwww-web-0 Bound work1-vol2-pv 20Gi RWO local-storage 3m41swww-web-1 Bound work1-vol1-pv 20Gi RWO local-storage 3m38s 17m
