Local Path Provisioner
约 1 分钟阅读
Local Path
- rancher/local-path-provisionerGitHubrancher/local-path-provisionerrancher/local-path-provisioner · - · 自动创建目录 - /var/lib/rancher/k3s/storage · - · UUID=pvc.uid · PVCNAME= · helper-pod-create-pvc笔记:Local Path Provisioner
storageClassName: local-path- 自动创建目录 - /var/lib/rancher/k3s/storage
pvc-<UUID>_<NAMESPACE>_<PVC_NAME>- UUID=pvc.uid
- PVC_NAME=
<VOLUME_NAME>_<POD_NAME>
- helper-pod-create-pvc
- rancher/mirrored-library-busybox.34.1
- 注意
- 异常后 PVC 丢失,StatefulSet 无法启动
- 删除 Pod 从新部署可恢复
- 异常后 PVC 丢失,StatefulSet 无法启动
- 参考
- zfs example #162GitHub Issuerancher/local-path-provisioner#162
- 恢复 pv #144GitHub Issuerancher/local-path-provisioner#144
k3s 默认配置
{
"nodePathMap": [
{
"node": "DEFAULT_PATH_FOR_NON_LISTED_NODES",
"paths": ["/var/lib/rancher/k3s/storage"]
}
]
}配置
kind: ConfigMap
apiVersion: v1
metadata:
name: local-path-config
namespace: local-path-storage
data:
# paths 设置为空数组则会拒绝
# paths 设置多个会随机选择
config.json: |-
{
"nodePathMap":[
{
"node":"DEFAULT_PATH_FOR_NON_LISTED_NODES",
"paths":["/opt/local-path-provisioner"]
},
{
"node":"yasker-lp-dev1",
"paths":["/opt/local-path-provisioner", "/data1"]
},
{
"node":"yasker-lp-dev3",
"paths":[]
}
]
}
setup: |-
#!/bin/sh
path=$1
mkdir -m 0777 -p ${path}
teardown: |-
#!/bin/sh
path=$1
rm -rf ${path}关联信息
反向链接、本文链接的其他页面和外部资料。
反向链接
- Kubernates 存储笔记 · local-path-provisioner
对于类似 OSS/S3/Swift 类的存储服务,应该当作服务来使用,而不是作为文件系统 · 通过代码读写 · 如果多个 Pod 想要共享存储,则本质是 ReadWriteMany,最简单的选项是 NFS · PV - PVC - Pod 的关系在 ReadWriteOnce 的关系下都是 1:1:1 的
- K3S vs K0S故事 · local-path-provisioner
| vs. | k0s | k3s | · | since | 2020-06 | 2019-03 | · | by | Mirants | Rancher/SUSE | · | Governance | Mirants | CNCF | · | Github | [k0sproject/k0s] | [k3s-io/k3s] |
参考资料
GitHub3 条
- rancher/local-path-provisionergithub.com/rancher/local-path-provisioner
- rancher/local-path-provisioner#144github.com/rancher/local-path-provisioner/issues/144
- rancher/local-path-provisioner#162github.com/rancher/local-path-provisioner/issues/162