TH小破站

  • 首页
  • 容器
    • 认识Docker
    • DockerFile详解
  • k8s
    • 认识Kubernetes
    • Kubernetes部署--(kubeadm方式)
    • kubeasz部署k8s集群
    • Ansible-binary部署k8s集群-1.31.2
  • Ceph
    • 认识分布式存储
    • CPEH部署
  • CI/CD
    • DevOps认识
    • 部署--Gitlab
  • ELK
    • ELK简介
    • Elasticsearch
    • Kibana部署
    • Logstash
    • ELK--收集 tomcat 日志(实战)
  • HD
    • 认识--大数据
    • Hadoop-单机部署
    • Hadoop-伪分布部署
    • Hadoop-完全分布部署
    • Hadoop-(HA)完全分布部署
    • Ambari自动部署--Hadoop
  • Nginx
    • Nginx功能介绍
    • Nginx安全选项
    • Nginx配置文件简单介绍
    • 网站服务器部署
  • 监控
    • ZABBIX-部署(yum)
    • ZABBIX-编译安装
  • 云计算
    • KVM 概述
    • OpenStack企业级部署(T版)
    • OpenStack之dashboard部署
    • OpenStack-controller的高可用
    • openstack(Caracal版_ubuntu版本)部署
  • 数据库
    • mariadb与mysql
    • mysql主从
    • MySQL--冷备(实战)
    • MySQL--热备(dump表)
    • MySQL--热备(dump库)
    • 数据恢复实战案例
    • Xtrabackup实现MySql8.x全量备份
    • MyCat实现数据库读写分离
    • MHA实现数据库高可用
    • Percona XtraDB(PXC)实现数据库集群高可用
    • 数据库压力测试
    • PostgreSQL 基操
    • PostgreSQL备份恢复
    • PostgreSQL高可用
    • MongDB安装配置基础使用
    • MongoDB实现复制集
    • MongoDB备份还原
  • 自动化
    • ssh远程服务原理及配置
    • Ansible剧本文件应用
    • Ansible管理服务介绍
    • Ansible自动化部署node_exporter(包含升级,回滚)
    • Saltstack-部署安装
  • 脚本
    • 一键查看服务器资源利用率
    • 一键生成SSL证书
    • 保存指定数量的文件/目录
    • 初始化服务器
    • 扫描可用IP
    • 批量分发SSH密钥
    • 监控多主机磁盘脚本
    • 一键安装MySQL8.x脚本
    • Python脚本监控ES集群
    • 资源巡检脚本
    • 查看各用户使用的cpu占比
热衷于分享
架构师成长之路 !!!
  1. 首页
  2. 云原生
  3. 正文

K8S部署csi 实现动态PV/PVC

2025年3月16日 943点热度 0人点赞 0条评论

K8S部署csi 实现动态PV/PVC

k8s创建nfs

https://github.com/kubernetes-csi/csi-driver-nfs/blob/master/deploy/example/nfs-provisioner/README.md

 kubectl create ns nfs
 kubectl create -f <(curl -s https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/deploy/example/nfs-provisioner/nfs-server.yaml | sed 's/namespace: default/namespace: nfs/')
k8s创建install-csi-driver-v4.8.0

https://github.com/kubernetes-csi/csi-driver-nfs/blob/master/docs/install-csi-driver-v4.8.0.md

 root@k8s-master01:~# curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/v4.8.0/deploy/install-driver.sh | bash -s v4.8.0 --
 ​
 root@k8s-master01:~# kubectl get pod -n kube-system -l app=csi-nfs-node 
 NAME                 READY   STATUS    RESTARTS        AGE
 csi-nfs-node-87jfz   3/3     Running   3 (20s ago)     5m53s
 csi-nfs-node-9742s   3/3     Running   1 (4m16s ago)   5m53s
 csi-nfs-node-p65rl   3/3     Running   1 (4m19s ago)   5m53s
 csi-nfs-node-qb7h6   3/3     Running   1 (4m24s ago)   5m53s
 root@k8s-master01:~# kubectl get pod -n kube-system -l app=csi-nfs-controller 
 NAME                                  READY   STATUS    RESTARTS      AGE
 csi-nfs-controller-7694bcc6cc-96vrv   4/4     Running   2 (39s ago)   6m13s

k8s创建 StorageClass

https://github.com/kubernetes-csi/csi-driver-nfs/blob/master/deploy/example/storageclass-nfs.yaml

 root@k8s-master01:~# vim nfs-csi.yaml
 ---
 apiVersion: storage.k8s.io/v1
 kind: StorageClass
 metadata:
   name: nfs-csi
 provisioner: nfs.csi.k8s.io
 parameters:
   server: nfs-server.nfs.svc.cluster.local  # nfs 名称空间下的 nfs服务
   share: /
   # csi.storage.k8s.io/provisioner-secret is only needed for providing mountOptions in DeleteVolume
   # csi.storage.k8s.io/provisioner-secret-name: "mount-options"
   # csi.storage.k8s.io/provisioner-secret-namespace: "default"
 reclaimPolicy: Retain #PV的删除策略,默认为delete,删除PV后立即删除NFS server的数据
 volumeBindingMode: Immediate
 allowVolumeExpansion: true
 mountOptions:
   - nfsvers=4.1
   
 root@k8s-master01:~# kubectl apply -f nfs-csi.yaml 
 root@k8s-master01:~# kubectl get sc
 NAME      PROVISIONER      RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
 nfs-csi   nfs.csi.k8s.io   Delete          Immediate           true                   29s

k8s给予StorageClass测试动态pv

https://github.com/kubernetes-csi/csi-driver-nfs/blob/master/deploy/example/pvc-nfs-csi-dynamic.yaml

 root@k8s-master01:~# vim pvc-nfs-csi-dynamic.yaml
 ---
 apiVersion: v1
 kind: PersistentVolumeClaim
 metadata:
   name: pvc-nfs-dynamic
   namespace: default
 spec:
   accessModes:
     - ReadWriteMany
   resources:
     requests:
       storage: 3Gi
   storageClassName: nfs-csi
 ​
 root@k8s-master01:~# kubectl apply -f pvc-nfs-csi-dynamic.yaml 
 root@k8s-master01:~# kubectl get pvc
 NAME              STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   VOLUMEATTRIBUTESCLASS   AGE
 pvc-nfs-dynamic   Bound    pvc-fa2a7467-9638-4751-b386-830783f7ef2f   3Gi        RWX            nfs-csi        <unset>                 13s

创建没有问题删除掉即可

 root@k8s-master01:~# kubectl delete pvc pvc-nfs-dynamic
标签: 暂无
最后更新:2025年3月16日

tanghao946

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • K8S部署csi 实现动态PV/PVC
    • k8s创建nfs
    • k8s创建 StorageClass
    • k8s给予StorageClass测试动态pv

COPYRIGHT © 2025 TH小破站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

渝ICP备2023013789号

渝公网安备50011702500926号