我在microk8s上创建了statfulset:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: postgresql13
spec:
selector:
matchLabels:
app: postgresql13
serviceName: postgresql13
replicas: 1
template:
metadata:
labels:
app: postgresql13
spec:
containers:
- name: postgresql13
image: postgres:13
imagePullPolicy: Always
ports:
- containerPort: 5432
name: sql-tcp
volumeMounts:
- name: postgresql13
mountPath: /data
env:
- name: POSTGRES_PASSWORD
value: testpassword
- name: PGDATA
value: /data/pgdata
volumeClaimTemplates:
- metadata:
name: postgresql13
spec:
storageClassName: "microk8s-hostpath"
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 1Ki
在volumeClaimTemplates
中,我只给了它1Ki(这是一个KB,对吗?)但是DB正常启动,当我在pod上运行kubectl exec postgresql13-0 -- df -h
时,我得到这个
Filesystem Size Used Avail Use% Mounted on
overlay 73G 11G 59G 15% /
tmpfs 64M 0 64M 0% /dev
/dev/mapper/ubuntu--vg-ubuntu--lv 73G 11G 59G 15% /data
shm 64M 16K 64M 1% /dev/shm
tmpfs 7.7G 12K 7.7G 1% /run/secrets/kubernetes.io/serviceaccount
tmpfs 3.9G 0 3.9G 0% /proc/acpi
tmpfs 3.9G 0 3.9G 0% /proc/scsi
tmpfs 3.9G 0 3.9G 0% /sys/firmware
不应该使用超过PVC有什么?我故意占用了存储类AllowVolumeExpansion: False
我错过了什么?
allowVolumeExpansion和storage size不支持hostPath
。实际大小为主机路径所在的主机卷大小。
不应该使用超过PVC有什么?
这是一个误解。在资源请求中指定的内容是应用程序至少需要的资源。你可能会得到更多。通常使用资源限制设置硬限制。