Kubernetes创建PV和POD中使用PV

k8s 创建 PV

1-NFS

1.1-安装配置nfs服务端

# 1.安装依赖
yum install -y nfs-common nfs-utils rpcbind

# 2.创建文件夹用于挂载
mkdir /nfs
chmod 777 /nfs

# 3.修改nfs配置文件(/nfs为文件夹名)
vim /etc/exports
/nfs *(rw,no_root_squash,no_all_squash,sync)

# 重启
systemctl start rpcbind
systemctl restart nfs

1.2-安装使用nfs

# 1.安装客户端
yum install -y  nfs-utils rpcbind

# 2.创建目录用于挂载到服务端
# 创建挂载目录
mkdir /test
# 查看挂载机器
showmount -e 192.168.0.12
# 将刚刚创建的文件夹挂载到服务端的nfs文件夹中
mount -t nfs 192.168.0.12:/nfs /test

# cd /test/
# 新建一个文件
cat >> a.txt << EOF
test-file
EOF
# 我们就可以再服务端的/nfs/test/下发现有一个a.txt


# 取消挂载test目录
umount /test/
# 删除本地目录
rm -rf /test

2-配置PV

1-新建配置文件

cat >> pv.yaml << EOF
apiVersion: v1  # 指定版本
kind: PersistentVolume  # 指定类型为PV
metadata:
  name:  pv1  # 指定创建的pv名
spec:
  capacity:
    storage: 10 Gi  # 设置pv大小
  accessModes:
  - ReadWriteMany  # 选择模式为可读写
  persistentVolumeReclaimPolicy: Retain
  storageClasssName: nfs  # 设置存储类名为nfs
  nfs:
    path: /nfs  # nfs服务端挂载的位置
    server: 192.168.0.12  # nfs服务端ip

EOF

2.创建pv

# 创建了一个名字为: pv1 大小为: 10g 存储类名为: nfs 的pv
kubectl apply -f pv.yaml

3-使用pv

3.1-在spec: 下创建一个 volumeClaimTemplates

  volumeClaimTemplates:
  - metadata:
      name: data  # 指定挂载卷名
      labels:
        app: elasticsearch  # 指定标签名
    spec:
      accessModes: [ "ReadWriteOnce" ]  # 配置为可读写模式
      storageClassName: nfs  # 指定存储类名(与pv保持一致)
      resources:
        requests:
          storage: 10Gi  # 指定大小(可自动匹配存储类中合适的pv)

3.2-在containers: 下创建一个volumeMounts

volumeMounts:
- name: data  # 挂载名(与metadata下的name保持一致)
  mountPath: /usr/share/elasticsearch/data  # 选择容器内部需要挂载的位置(一般为需要存储数据的目录)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值