6.NFS PV

NFS服务:
安装包:yum install -y nfs-utils rpcbind
创建:mkdir /nfsdata
授权:vim /etc/exports
/nfsdata *(rw,sync,no_root_squash)
起服务:systemctl start rpcbind
systemctl start nfs-server
查看:showmount -e 192.168.52.10

PV:persistentVolume(坚固的,持久的)
PVC:PersistentVolueClaim(需求,请求PV)

accessModes:访问模式
ReadwriteOnce:能以read-write模式mount到单个节点。
ReadwriteMany:能以read-write模式mount到多个节点。
ReadOnlyOnce:以只读的模式mount到单个节点。
ReadOnlyMany:以只读的模式mount到多个节点。

PV的回收策略:
Recycle:清除PV中的数据。
Retain:需要手动回收。
Delete(清除云存储):删除storage provider上的对应的存储资源。如 AWS EBS,GCE PD,Azure Disk,Openstack Cinder Volume等。

PV yaml文件:
vim nfs-pv1.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: mypv1
spec:
capacity:
storage: 1Gi
accessModes: #访问模式
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle #PV的回收策略
storageClassName: nfs #标签,关联用
nfs:
path: /nfsdata/pv1
server: 192.168.52.10

PVC yaml文件:
vim nfs-pvc1.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mypvc1
spec:
accessModes:
- ReadwriteOnce
resources: #资源
requests: #申请
storage: 1Gi #存储空间1G
storageClassName: nfs #标签指向nfs

一个PV能被多个PVC关联。

创建一个pod:
[root@master ~]# vim pod1.yaml

apiVersion: v1
kind: Pod
metadata:
name: mypod1
spec:
containers:
- name: mypod1
image: busybox
args:
- /bin/sh
- -c
- sleep 30000
volumeMounts:
- mountPath: ‘/mydata’ #挂载路径
name: mydata
volumes: #解释
- name: mydata
persistentVolumeClaim:
claimName: mypvc1

MySQL如何利用PV和PVC

附件:mysql-pv

apiVersion: v1
kind: PersistentVolume
metadata:
  name: mysql-pv
spec:
  accessModes:
    - ReadWriteOnce
  capacity:
    storage: 1Gi
  persistentVolumeReclaimPolicy: Retain
  storageClassName: nfs
  nfs:
    path: /nfsdata/mysql-pv
    server: 192.168.190.10

附件:mysql-pvc

apiVersion: v1
kind: PersistentVolumeClaim
metadata: 
  name: mysql-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  storageClassName: nfs

附件:mysql

apiVersion: apps/v1beta1
kind: Deployment
metadata: 
  name: mysql
spec:
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
      - image: mysql:5.6
        name: mysql
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: 123.com
        ports:
        - containerPort: 3306
          name: mysql
        volumeMounts:
        - name: mysql-persistent-storage
          mountPath: /var/lib/mysql
      volumes:
      - name: mysql-persistent-storage
        persistentVolumeClaim:
          claimName: mysql-pvc
---
apiVersion: v1
kind: Service
metadata:
  name: mysql
spec:
  ports:
  - port: 3306
  selector:
    app: mysql
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Kubernetes中,PV(PersistentVolume)是一种持久卷,可以通过不同的资源提供者以各种方式挂载到宿主系统上。其中,NFS是一种常用的资源提供者,可以支持多个读写客户端。每个PV卷都有自己的访问模式,描述了特定PV卷的能力,在PV卷的访问模式中,ReadWriteOnce表示卷可以被一个节点以读写方式挂载,ReadOnlyMany表示卷可以被多个节点以只读方式挂载,ReadWriteMany表示卷可以被多个节点以读写方式挂载。如果你想确保整个集群中只有一个Pod可以读取或写入该PVC,可以使用ReadWriteOncePod访问模式,这仅支持CSI卷并需要Kubernetes 1.22以上版本。 在创建PVC时,我们可以动态创建一个PV来方便使用,此时PV事先是不存在的。当使用默认的回收策略retain时,删除PVC后,PV会处于released状态。如果想要继续使用这个PV,需要手动删除PV,但是删除PV不会删除PV中的数据。当我们重新创建PVC时,会再次与最匹配的PV进行绑定,数据不会丢失。删除流程为POD->PVC->PV。 综上所述,k8s PV NFS是指在Kubernetes中使用NFS作为资源提供者的持久卷。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MySQL的持久化部署(k8s与NFS)](https://download.csdn.net/download/weixin_38705252/14038256)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [k8s之PV&PVC(NFS)](https://blog.csdn.net/qq_41586875/article/details/120814385)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值