k8s的StorageClass存储类和pv、pvc、provisioner、物理存储的链路

k8s 的St o r a g e C l a s s 存储 pv pvc p r o v i s i o n e r 物理 存储 的链路

StorageClass能自动创建pv

在控制器中,直接声明storageClassName,不仅能自动创建pvc,也能自动创建pv

stoageclass来自于provisioner,provisioner来自于pod,pod来自于镜像。也就是provisioner的镜像。镜像里面有提供provisioner相关的代码。

StorageClass是一种kind,也就是一种k8s的API资源,是一个动态存储卷。

先看pv、pvc:

kubectl get sc # storageclass

kubectl get sa # serviceaccount

复制代码
# StorageClass (iscsi-scsi-storage.yaml)
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: iscsi-scsi-storage
provisioner: example.com/iscsi
parameters:
  targetPortal: "192.168.1.100:3260"
  lun: "0"
  fsType: "ext4"
  chapAuthEnabled: "true"

# StatefulSet (postgres-statefulset.yaml)
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: postgres-cluster
spec:
  replicas: 3
  selector:
    matchLabels:
      app: postgres
  template:
    spec:
      containers:
      - name: postgres
        image: postgres:14
        volumeMounts:
        - name: postgres-data
          mountPath: /var/lib/postgresql/data
  volumeClaimTemplates:
  - metadata:
      name: postgres-data
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: iscsi-scsi-storage
      resources:
        requests:
          storage: 1Ti
相关推荐
牛奔3 小时前
Docker配置远程连接
运维·docker·云原生·容器·eureka
在未来等你4 小时前
互联网大厂Java求职面试:AI与大模型应用集成及云原生挑战
java·微服务·ai·kubernetes·大模型·embedding·spring ai
my_styles4 小时前
docker-compose部署项目(springboot服务)以及基础环境(mysql、redis等)ruoyi-ry
spring boot·redis·后端·mysql·spring cloud·docker·容器
格桑阿sir5 小时前
Kubernetes控制平面组件:Kubelet详解(七):容器网络接口 CNI
kubernetes·k8s·kubelet·flannel·cni·calico·网络模型
Liudef067 小时前
使用Docker部署MongoDB
mongodb·docker·容器
ZHOU_WUYI9 小时前
React与Docker中的MySQL进行交互
mysql·react.js·docker
Will_11309 小时前
如何实现k8s高可用
运维·docker·容器
编程、小哥哥9 小时前
互联网大厂Java面试场景:从缓存到容器化的技术问答
redis·docker·微服务·kubernetes·spring security·java面试·gitlab ci
luck_me511 小时前
基于 Kubernetes 部署容器平台kubesphere
云原生·容器·kubernetes
小白要努力sgy11 小时前
深入理解Docker和K8S
docker·kubernetes