revert doc change
This commit is contained in:
Родитель
1c17359e93
Коммит
d87e6c0738
|
@ -1,5 +1,5 @@
|
|||
# Local Persistent Volume support on Azure
|
||||
The goal of this repository is to enable Kubernetes workloads using local disks, e.g. Azure [LSv2](https://docs.microsoft.com/en-us/azure/virtual-machines/lsv2-series) VM with NVMe SSD.
|
||||
The goal of this repository is to enable Kubernetes workloads using local disks, e.g. Azure [LSv2](https://docs.microsoft.com/en-us/azure/virtual-machines/lsv2-series) VM with NVMe SSD, [local temporary disk](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/managed-disks-overview#temporary-disk).
|
||||
|
||||
This repository leverages [local volume static provisioner](https://github.com/kubernetes-sigs/sig-storage-local-static-provisioner) to manage the PersistentVolume lifecycle for pre-allocated disks by detecting, formatting and creating PVs for each local disk on the agent node, and cleaning up the disks when released.
|
||||
|
||||
|
@ -15,11 +15,15 @@ kubectl apply -f https://raw.githubusercontent.com/Azure/kubernetes-volume-drive
|
|||
|
||||
### 2. Install local volume static provisioner on a Kubernetes cluster
|
||||
> use only one `local-pv-provisioner-xxx.yaml` config file, there would be conflict if applying multiple config files on one cluster
|
||||
#### discover NVMe SSD(`/dev/nvme*`) disks
|
||||
#### Option#1: discover NVMe SSD(`/dev/nvme*`) disks
|
||||
```console
|
||||
kubectl apply -f https://raw.githubusercontent.com/Azure/kubernetes-volume-drivers/master/local/local-pv-provisioner-nvmedisk.yaml
|
||||
```
|
||||
|
||||
#### Option#2: discover temp(`/dev/sdb1`) disk
|
||||
```console
|
||||
kubectl apply -f https://raw.githubusercontent.com/Azure/kubernetes-volume-drivers/master/local/local-pv-provisioner-tempdisk.yaml
|
||||
```
|
||||
> you can also download [local-pv-provisioner-nvmedisk.yaml](https://github.com/Azure/kubernetes-volume-drivers/blob/master/local/local-pv-provisioner-nvmedisk.yaml) and modify `namePattern`, `fsType` fields to match other pre-allocated disks.
|
||||
|
||||
- Persistent volumes would be created after provisioner daemonset started
|
||||
|
|
|
@ -0,0 +1,115 @@
|
|||
---
|
||||
# Source: provisioner/templates/provisioner.yaml
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: local-provisioner-config
|
||||
namespace: kube-system
|
||||
data:
|
||||
storageClassMap: |
|
||||
local-disk:
|
||||
hostDir: /dev
|
||||
mountDir: /dev
|
||||
blockCleanerCommand:
|
||||
- "/scripts/shred.sh"
|
||||
- "2"
|
||||
volumeMode: Filesystem
|
||||
fsType: ext4
|
||||
namePattern: sdb1*
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: DaemonSet
|
||||
metadata:
|
||||
name: local-volume-provisioner
|
||||
namespace: kube-system
|
||||
labels:
|
||||
app: local-volume-provisioner
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: local-volume-provisioner
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: local-volume-provisioner
|
||||
spec:
|
||||
serviceAccountName: local-storage-admin
|
||||
nodeSelector:
|
||||
kubernetes.io/os: linux
|
||||
containers:
|
||||
- image: "mcr.microsoft.com/oss/kubernetes/local-volume-provisioner:v2.4.0"
|
||||
name: provisioner
|
||||
imagePullPolicy: IfNotPresent
|
||||
args:
|
||||
- "--v=2"
|
||||
securityContext:
|
||||
privileged: true
|
||||
env:
|
||||
- name: MY_NODE_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: spec.nodeName
|
||||
volumeMounts:
|
||||
- mountPath: /etc/provisioner/config
|
||||
name: provisioner-config
|
||||
readOnly: true
|
||||
- mountPath: /dev/
|
||||
name: local-disk
|
||||
mountPropagation: "HostToContainer"
|
||||
volumes:
|
||||
- name: provisioner-config
|
||||
configMap:
|
||||
name: local-provisioner-config
|
||||
- name: local-disk
|
||||
hostPath:
|
||||
path: /dev/
|
||||
|
||||
---
|
||||
# Source: provisioner/templates/provisioner-service-account.yaml
|
||||
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: local-storage-admin
|
||||
namespace: kube-system
|
||||
|
||||
---
|
||||
# Source: provisioner/templates/provisioner-cluster-role-binding.yaml
|
||||
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: local-storage-provisioner-pv-binding
|
||||
namespace: kube-system
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: local-storage-admin
|
||||
namespace: kube-system
|
||||
roleRef:
|
||||
kind: ClusterRole
|
||||
name: system:persistent-volume-provisioner
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: local-storage-provisioner-node-clusterrole
|
||||
namespace: kube-system
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
verbs: ["get"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: local-storage-provisioner-node-binding
|
||||
namespace: kube-system
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: local-storage-admin
|
||||
namespace: kube-system
|
||||
roleRef:
|
||||
kind: ClusterRole
|
||||
name: local-storage-provisioner-node-clusterrole
|
||||
apiGroup: rbac.authorization.k8s.io
|
Загрузка…
Ссылка в новой задаче