在Kubernetes官方文档中有两种方式使用本机存储,一种是hostPath,另一种是local volume,这两种都不支持动态扩容,并且程序移植改动比较大。而Local-Path-Provisioner很好的弥补了这一缺陷。Local-Path-Provisioner是一个用于在Kubernetes中配置本地存储的Provisioner。它支持动态供给和动态扩容,能够很好地满足Kubernetes单机版环境...
在Kubeadm 安装的 Kubernetes 集群环境中,动态供应 PersistentVolumes 需要先安装 Container Storage Interface (CSI) 驱动程序。 二、安装local-path-provisioner 1、地址 GitHub地址 bash gitclonegit@github.com:rancher/local-path-provisioner.git 2、更改 local-path-provisioner 使用的默认存储路径 bash sed -i's|...
name: local-path-provisioner namespace: kube-system spec: replicas: 1 selector: matchLabels: app: local-path-provisioner template: metadata: labels: app: local-path-provisioner spec: serviceAccountName: local-path-provisioner-service-account tolerations: - key:"CriticalAddonsOnly"operator:"Exists"-...
1. Local-path-provisioner会监听Kubernetes集群中的PVC和PV对象的创建和删除事件。 2.当一个PVC被创建时,Local-path-provisioner会在节点上查找可用的本地磁盘,并创建一个目录用于该PVC。 3. Local-path-provisioner会创建一个PV对象,将其与PVC进行绑定,并设置PV的属性,如存储大小、访问模式等。 4.当一个PVC被...
这个YAML文件包含了local-path-provisioner的Deployment、ServiceAccount、ClusterRole、ClusterRoleBinding等资源定义。 4. 创建一个StorageClass资源,指定local-path-provisioner为存储提供器 接下来,你需要创建一个StorageClass资源,指定local-path-provisioner为存储提供器。以下是一个示例的StorageClass配置文件: yaml apiVersion...
Local-path-provisioner的扩容原理如下: 1.当应用程序需要更多的存储容量时,Local-path-provisioner会检查当前节点上是否有空闲的文件夹可用。如果有可用的文件夹,则会将其分配给应用程序,并更新相应的持久卷。 2.如果当前节点上没有足够的可用文件夹,则Local-path-provisioner会通过Rancher控制平面查找其他节点上的空闲...
一,安装local-path-provisioner 1,当k3s正常安装完成之后,就已预安装好了local-path-provisioner。 NAME READY STATUS RESTARTS AGE svclb-traefik-wwr4q 2/2 Running 6 19h svclb-traefik-tkzjl 2/2 Running 4 8h helm-install-traefik-zdsx4 0/1 Completed 0 33m ...
vi local-path-provisioner/deploy/local-path-storage.yaml 1. 修改前(修改部分): --- kind: ConfigMap apiVersion: v1 metadata: name: local-path-config namespace: local-path-storage data: config.json: |- { "nodePathMap":[ { "node":"DEFAULT_PATH_FOR_NON_LISTED_NODES", ...
倒数第二个就是:local-path-provisioner-6d59f47c7-l2zc9。 2,local-storage的配置 /var/lib/rancher/k3s/server/manifests/local-storage.yaml /var/lib/rancher/k3s/storage为节点存储空间 3,确认storageclass资源已生成 1,pvc.yaml内容如下:2,将Yaml文件应用到k3s集群 kubectl appl...
type NodePathMap struct { Paths map[string]struct{} } type Config struct { NodePathMap map[string]*NodePathMap } func NewProvisioner(stopCh chan struct{}, kubeClient *clientset.Clientset, configFile, namespace, helperImage string) (*LocalPathProvisioner, error) { p := &LocalPathProvisioner...