ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-04-06 13:00:31  阅读:232  来源: 互联网

标签:myweb pv name 示例 nginx nfs memory 网络共享 metadata


版本: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

 

标签:myweb,pv,name,示例,nginx,nfs,memory,网络共享,metadata
来源: https://blog.csdn.net/qq_27592485/article/details/115457124

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有