配置文件
其中需要注意的是,在绑定容器卷的时候需要单独加上alicloud-pvname
方便查找才能关联
apiVersion: v1
kind: ConfigMap
metadata:
name: postgres-config
namespace: postgres
labels:
app: postgres
data:
POSTGRES_DB: master
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: postgres-pv
labels:
alicloud-pvname: postgres-pv
spec:
capacity:
storage: 20Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: nas
volumeMode: Filesystem
csi:
driver: nasplugin.csi.alibabacloud.com
volumeAttributes:
path: ''
server: 1353594a80e-itn25.us-east-1.nas.aliyuncs.com
vers: '3'
volumeHandle: nas
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: postgres
namespace: postgres
spec:
serviceName: "postgres"
replicas: 1
selector:
matchLabels:
app: postgres
template:
metadata:
labels:
app: postgres
spec:
containers:
- name: postgres
image: registry.k8s.com/k8s/postgres:11.10
envFrom:
- configMapRef:
name: postgres-config
ports:
- containerPort: 5432
name: postgredb
volumeMounts:
- name: postgres-data
mountPath: /var/lib/postgresql/data
subPath: postgres
volumeClaimTemplates:
- metadata:
name: postgres-data
spec:
accessModes: ["ReadWriteMany"]
selector:
matchLabels:
alicloud-pvname: postgres-pv
resources:
requests:
storage: 2Gi
storageClassName: nas
volumeName: postgres-pv
---
apiVersion: v1
kind: Service
metadata:
name: postgres
namespace: postgres
labels:
app: postgres
spec:
ports:
- port: 5432
name: postgres
type: LoadBalancer
selector:
app: postgres