Kubernetes本地共享,网络共享,pv,pvc卷挂载示例

版本:v1.18.0

本地共享类型:emptyDir,hostpath

网络共享类型:nfs,pv、pvc卷

其他:ConfigMap,Secret

一、emptyDir示例:

apiVersion: v1
kind: Pod
metadata:
  name: testemp
  labels:
    app: testemp
spec:
  restartPolicy: Always
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
    volumeMounts:
    - name: myweb
      mountPath: /usr/share/nginx/html
    resources:
      requests:
        cpu: 200m
        memory: 64Mi
      limits:
        cpu: 300m
        memory: 128Mi
  volumes:
  - name: myweb
    emptyDir: {}

二、hostPath示例:

apiVersion: v1
kind: Pod
metadata:
  name: testhost
  labels:
    app: testhost
spec:
  restartPolicy: Always
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
    volumeMounts:
    - name: myweb
      mountPath: /usr/share/nginx/html
    resources:
      requests:
        cpu: 200m
        memory: 64Mi
      limits:
        cpu: 300m
        memory: 128Mi
  volumes:
  - name: myweb
    hostPath:
      path: /tmp/myweb
      type: Directory

三、nfs示例:

apiVersion: v1
kind: Pod
metadata:
  name: testnfs
  labels:
    app: testnfs
spec:
  restartPolicy: Always
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
    volumeMounts:
    - name: myweb
      mountPath: /usr/share/nginx/html
    resources:
      requests:
        cpu: 200m
        memory: 64Mi
      limits:
        cpu: 300m
        memory: 128Mi
  volumes:
  - name: myweb
    nfs:
      server: 192.168.199.120
      path: /data

四、利用网络共享存储创建pv卷,手动创建pvc卷应用于挂载

pv卷创建

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv0001
spec:
  capacity:
    storage: 1Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Recycle
  storageClassName: slow
  nfs:
    path: /mypv/pv0001
    server: 192.168.199.120
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv0002
spec:
  capacity:
    storage: 5Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Recycle
  storageClassName: slow
  nfs:
    path: /mypv/pv0002
    server: 192.168.199.120
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv0003
spec:
  capacity:
    storage: 8Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Recycle
  storageClassName: slow
  nfs:
    path: /mypv/pv0003
    server: 192.168.199.120

pvc卷创建

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: fornginx
spec:
  accessModes:
    - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 4Gi
  storageClassName: slow

pod应用pvc卷

apiVersion: v1
kind: Pod
metadata:
  name: testpvc
  labels:
    app: testpvc
spec:
  restartPolicy: Always
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
    volumeMounts:
    - name: myweb
      mountPath: /usr/share/nginx/html
    resources:
      requests:
        cpu: 200m
        memory: 64Mi
      limits:
        cpu: 300m
        memory: 128Mi
  volumes:
  - name: myweb
    persistentVolumeClaim:
        claimName: fornginx

五、安装nfs-client插件,实现创建pv后,自动创建pvc。

github上下载   nfs-client  插件,里面饱含了三个文件,一个是rbac,一个是deploy,一个是class,分别是授权,部署nfs-client的pod和定义class的。

直接创建pvc

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: autopvc
spec:
  accessModes:
    - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 8Gi
  storageClassName: "managed-nfs-storage"

直接创建应用pod,使用该pvc

apiVersion: v1
kind: Pod
metadata:
  name: testautopvc
  labels:
    app: testautopvc
spec:
  restartPolicy: Always
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
    volumeMounts:
    - name: myweb
      mountPath: /usr/share/nginx/html
    resources:
      requests:
        cpu: 200m
        memory: 64Mi
      limits:
        cpu: 300m
        memory: 128Mi
  volumes:
  - name: myweb
    persistentVolumeClaim:
        claimName: autopvc

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值