k8s学习(十六) 配置并使用pvc
PVC 的全称是:PersistentVolumeClaim(持久化卷声明),PVC 是用户存储的一种声明,PVC 和 Pod 比较类似,Pod 消耗的是节点,PVC 消耗的是 PV 资源,Pod 可以请求 CPU 和内存,而 PVC 可以请求特定的存储空间和访问模式。对于真正使用存储的用户不需要关心底层的存储实现细节,只需要直接使用 PVC 即可。1、将各个节点像上一节一样部署nfs客户...
·
PVC 的全称是:PersistentVolumeClaim(持久化卷声明),PVC 是用户存储的一种声明,PVC 和 Pod 比较类似,
Pod 消耗的是节点,PVC 消耗的是 PV 资源,Pod 可以请求 CPU 和内存,而 PVC 可以请求特定的存储空间和访问模式。对于真正使用存储的用户不需要关心底层的存储实现细节,只需要直接使用 PVC 即可。
1、将各个节点像上一节一样部署nfs客户端
2、部署PVC
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-1
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
kubectl apply -f pvc-demo.yaml
[root@k8s-node1 k8s]# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pv001 1Gi RWO Recycle Bound default/www-web-1 5d
pv002 1Gi RWO Recycle Bound default/www-web-0 5d
pv1 1Gi RWO Recycle Bound default/pvc-1 56m
pv的状态已经是Bound
[root@k8s-node1 k8s]# kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
pvc-1 Bound pv1 1Gi RWO 80s
www-web-0 Bound pv002 1Gi RWO 5d
www-web-1 Bound pv001 1Gi RWO 5d
3、测试使用pvc
构建一个deployment,将nginx的usr/share/nginx/html指向nfs的共享存储路径/data/k8s
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: use-pvc-deployment
spec:
replicas: 2
template:
metadata:
labels:
app: use-pvc-deployment
spec:
containers:
- name: nginx
image: 172.16.10.190:8008/nginx
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
name: use-pvc-web
volumeMounts:
- name: www
mountPath: /usr/share/nginx/html
volumes:
- name: www
persistentVolumeClaim:
claimName: pvc-1
---
apiVersion: v1
kind: Service
metadata:
name: nfs-pvc
labels:
app: nfs-pvc
spec:
type: NodePort
ports:
- port: 80
targetPort: use-pvc-web
nodePort: 32112
selector:
app: use-pvc-deployment
kubectl apply -f use-pvc.yaml
这时访问http://192.168.100.87:32112/报403错误
在/data/k8s创建index.html
<html>
Hello This is Nginx in K8S
</html>
再次访问http://192.168.100.87:32112/ 成功了
更多推荐
已为社区贡献39条内容
所有评论(0)