pv静态供给演示(nfs)

部署Pv

1
2
3
4
5
6
7
8
9
10
11
12
[root@pool1 k8s_yaml]# vi deploy-static-PV.yaml 
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi
[root@pool1 k8s_yaml]# kubectl apply -f deploy-static-PV.yaml

部署Pvc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@pool1 k8s_yaml]# vi deploy-static-PVC.yaml 
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteMany
nfs:
server: 172.16.1.20
path: /data/k8s_data
[root@pool1 k8s_yaml]# kubectl apply -f deploy-static-PVC.yaml

部署Nginx Pod

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[root@pool1 k8s_yaml]# vi deploy-nginx2.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
name: pvc-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx2
template:
metadata:
labels:
app: nginx2
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
volumeMounts:
- name: nfs-volume
mountPath: /usr/share/nginx/html
volumes:
- name: nfs-volume
persistentVolumeClaim:
claimName: my-pvc
[root@pool1 k8s_yaml]# kubectl apply -f deploy-nginx2.yaml

查看Pod状态

1
2
3
4
5
[root@pool1 k8s_yaml]# kubectl get pod
NAME READY STATUS RESTARTS AGE
pvc-deployment-745487d99d-8mmvm 1/1 Running 0 75s
pvc-deployment-745487d99d-jzqj5 1/1 Running 0 75s
pvc-deployment-745487d99d-n8bcc 1/1 Running 0 76s

查看PV和PVC状态

1
2
3
4
5
6
7
[root@pool1 k8s_yaml]# kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
my-pvc Bound my-pv 5Gi RWX 7m53s
[root@pool1 k8s_yaml]# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
my-pv 5Gi RWX Retain Bound default/my-pvc 6m57s
# 都处于Bound状态 漂亮!

创建svc

1
2
3
4
5
6
7
[root@pool1 k8s_yaml]# kubectl expose deployment pvc-deployment --port=80 --target-port=80
service/pvc-deployment exposed

[root@pool1 k8s_yaml]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 28h
pvc-deployment ClusterIP 10.103.239.234 <none> 80/TCP 5s

验证访问

1
2
3
4
[root@pool1 k8s_yaml]# echo "my is nfs volume!" >> /data/k8s_data/status.html

[root@pool1 k8s_yaml]# curl 10.103.239.234/status.html
test