现在有3个nfs地址10.1.40.31,10.1.40.32,10.1.40.33
定义了3个容器部署,发布挂载不同的ip,PROVISIONER_NAME
相同,然后启动了50个pod,启动后挂载的只有10.1.40.31这一个。
deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nfs-dist-fp01
labels:
app: nfs-dist-fp01
namespace: default
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: nfs-dist-fp01
template:
metadata:
labels:
app: nfs-dist-fp01
spec:
serviceAccountName: nfs-client-provisioner
containers:
- name: nfs-dist-fp01-31
image: k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
volumeMounts:
- name: nfs-client-root-31
mountPath: /persistentvolumes
env:
- name: PROVISIONER_NAME
value: nfs-dist-fp01
- name: NFS_SERVER
value: 10.1.40.31
- name: NFS_PATH
value: /forest_platform_01
- name: nfs-dist-fp01-32
image: k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
volumeMounts:
- name: nfs-client-root-32
mountPath: /persistentvolumes
env:
- name: PROVISIONER_NAME
value: nfs-dist-fp01
- name: NFS_SERVER
value: 10.1.40.32
- name: NFS_PATH
value: /forest_platform_01
- name: nfs-dist-fp01-33
image: k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
volumeMounts:
- name: nfs-client-root-33
mountPath: /persistentvolumes
env:
- name: PROVISIONER_NAME
value: nfs-dist-fp01
- name: NFS_SERVER
value: 10.1.40.33
- name: NFS_PATH
value: /forest_platform_01
volumes:
- name: nfs-client-root-31
nfs:
server: 10.1.40.31
path: /forest_platform_01
- name: nfs-client-root-32
nfs:
server: 10.1.40.32
path: /forest_platform_01
- name: nfs-client-root-33
nfs:
server: 10.1.40.33
path: /forest_platform_01
nfs-class.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: nfs-dist-fp01
namespace: default
provisioner: nfs-dist-fp01
parameters:
archiveOnDelete: "false"
allowVolumeExpansion: true
mysql.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-0
namespace: demo
spec:
accessModes:
- ReadWriteMany
storageClassName: nfs-dist-fp01
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: demo
name: mysql-0
labels:
app: mysql-0
spec:
replicas: 1
selector:
matchLabels:
app: mysql-0
template:
metadata:
labels:
app: mysql-0
spec:
containers:
- image: hub.app.ht/forest-platform-02/mysql:8.0.3
name: mysql
volumeMounts:
- name: mysql-data
mountPath: /var/lib/mysql
env:
- name: MYSQL_ROOT_PASSWORD
value: "xxxxx"
ports:
- name: mysql
containerPort: 3306
protocol: TCP
volumes:
- name: mysql-data
persistentVolumeClaim:
claimName: mysql-0