From 19595e8535ca9779c9f6444d3991971ce148528d Mon Sep 17 00:00:00 2001 From: Xin Wang Date: Fri, 8 Nov 2019 15:51:06 +0800 Subject: [PATCH] release v1.1.0 --- Makefile | 2 +- README.md | 6 +- README_zh.md | 6 +- cmd/disk/main.go | 2 +- .../kubernetes/base/controller-deploy.yaml | 16 +- .../overlays/patch/kustomization.yaml | 4 +- .../releases/qingcloud-csi-disk-v1.1.0.yaml | 907 ++++++++++++++++++ 7 files changed, 925 insertions(+), 18 deletions(-) create mode 100644 deploy/disk/kubernetes/releases/qingcloud-csi-disk-v1.1.0.yaml diff --git a/Makefile b/Makefile index 96972075..14de075a 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ .PHONY: all disk DISK_IMAGE_NAME=csiplugin/csi-qingcloud -DISK_VERSION=v1.1.0-rc.4 +DISK_VERSION=v1.1.0 ROOT_PATH=$(pwd) PACKAGE_LIST=./cmd/... ./pkg/... diff --git a/README.md b/README.md index 9de683b9..b182300d 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ This guide will install CSI plugin in the *kube-system* namespace of Kubernetes - Enable `--read-only-port=10255` on kubelet - Download installation file ``` -$ wget https://raw.githubusercontent.com/yunify/qingcloud-csi/master/deploy/disk/kubernetes/releases/qingcloud-csi-disk-v1.1.0-rc.4.yaml +$ wget https://raw.githubusercontent.com/yunify/qingcloud-csi/master/deploy/disk/kubernetes/releases/qingcloud-csi-disk-v1.1.0.yaml ``` - Add QingCloud platform parameter on ConfigMap QingCloud CSI plugin manipulates cloud resource by QingCloud platform API. User must test the connection between QingCloud platform API and user's own instance by and check QingCloud platform configuration by [QingCloud CLI](https://docs.qingcloud.com/product/cli/). @@ -83,7 +83,7 @@ QingCloud CSI plugin manipulates cloud resource by QingCloud platform API. User > IMPORTANT: If kubelet, a component of Kubernetes, set the `--root-dir` option (default: *"/var/lib/kubelet"*), please replace *"/var/lib/kubelet"* with the value of `--root-dir` at the CSI [DaemonSet](deploy/disk/kubernetes/csi-node-ds.yaml) YAML file's `spec.template.spec.containers[name=csi-qingcloud].volumeMounts[name=mount-dir].mountPath` and `spec.template.spec.volumes[name=mount-dir].hostPath.path` fields. For instance, in Kubernetes cluster based on QingCloud AppCenter, you should replace *"/var/lib/kubelet"* with *"/data/var/lib/kubelet"* in the CSI [DaemonSet](deploy/disk/kubernetes/csi-node-ds.yaml) YAML file. ``` -$ kubectl apply -f qingcloud-csi-disk-v1.1.0-rc.4.yaml +$ kubectl apply -f qingcloud-csi-disk-v1.1.0.yaml ``` - Check CSI plugin @@ -99,7 +99,7 @@ $ kubectl get pods -n kube-system --selector=app=csi-qingcloud ### Uninstall ``` -$ kubectl delete -f qingcloud-csi-disk-v1.1.0-rc.4.yaml +$ kubectl delete -f qingcloud-csi-disk-v1.1.0.yaml ``` ### StorageClass Parameters diff --git a/README_zh.md b/README_zh.md index 9e605da9..c59c908f 100644 --- a/README_zh.md +++ b/README_zh.md @@ -58,7 +58,7 @@ QingCloud CSI 插件实现了 [CSI](https://github.com/container-storage-interfa - 下载安装文件并解压 ``` -$ wget https://raw.githubusercontent.com/yunify/qingcloud-csi/master/deploy/disk/kubernetes/releases/qingcloud-csi-disk-v1.1.0-rc.4.yaml +$ wget https://raw.githubusercontent.com/yunify/qingcloud-csi/master/deploy/disk/kubernetes/releases/qingcloud-csi-disk-v1.1.0.yaml ``` - 修改 QingCloud 云平台配置参数 @@ -86,7 +86,7 @@ $ wget https://raw.githubusercontent.com/yunify/qingcloud-csi/master/deploy/disk > 注: 如果 Kubernetes 集群的 [kubelet](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/) 设置了 `--root-dir` 选项(默认值为 *"/var/lib/kubelet"*),请将 DaemonSet 的 `spec.template.spec.containers[name=csi-qingcloud].volumeMounts[name=mount-dir].mountPath` 和 `spec.template.spec.volumes[name=mount-dir].hostPath.path` 的值 *"/var/lib/kubelet"* 替换为 `--root-dir` 选项的值。例如:在通过 QingCloud AppCenter 创建的 Kubernetes 集群内, 需要将 DaemonSet 的 *"/var/lib/kubelet"* 字段替换为 *"/data/var/lib/kubelet"*。 ``` -$ kubectl apply -f qingcloud-csi-disk-v1.1.0-rc.4.yaml +$ kubectl apply -f qingcloud-csi-disk-v1.1.0.yaml ``` - 检查 CSI 插件状态 @@ -102,7 +102,7 @@ $ kubectl get pods -n kube-system --selector=app=csi-qingcloud ### 卸载 ``` -$ kubectl delete -f qingcloud-csi-disk-v1.1.0-rc.4.yaml +$ kubectl delete -f qingcloud-csi-disk-v1.1.0.yaml ``` ### 文档 diff --git a/cmd/disk/main.go b/cmd/disk/main.go index 1254e87f..0acab3ff 100644 --- a/cmd/disk/main.go +++ b/cmd/disk/main.go @@ -29,7 +29,7 @@ import ( ) const ( - version = "v1.1.0-rc.4" + version = "v1.1.0" defaultProvisionName = "disk.csi.qingcloud.com" defaultConfigPath = "/etc/config/config.yaml" ) diff --git a/deploy/disk/kubernetes/base/controller-deploy.yaml b/deploy/disk/kubernetes/base/controller-deploy.yaml index cef4455f..c245efe9 100644 --- a/deploy/disk/kubernetes/base/controller-deploy.yaml +++ b/deploy/disk/kubernetes/base/controller-deploy.yaml @@ -33,11 +33,11 @@ spec: image: quay.io/k8scsi/csi-provisioner:v1.4.0 resources: limits: - memory: "20Mi" - cpu: "20m" + memory: "80Mi" + cpu: "80m" requests: - memory: "20Mi" - cpu: "20m" + memory: "80Mi" + cpu: "80m" args: - "--csi-address=$(ADDRESS)" - "--enable-leader-election" @@ -60,11 +60,11 @@ spec: image: quay.io/k8scsi/csi-attacher:v2.0.0 resources: limits: - memory: "40Mi" - cpu: "40m" + memory: "80Mi" + cpu: "80m" requests: - memory: "40Mi" - cpu: "40m" + memory: "80Mi" + cpu: "80m" args: - "--csi-address=$(ADDRESS)" - "--leader-election" diff --git a/deploy/disk/kubernetes/overlays/patch/kustomization.yaml b/deploy/disk/kubernetes/overlays/patch/kustomization.yaml index cc6312f2..06c1e281 100644 --- a/deploy/disk/kubernetes/overlays/patch/kustomization.yaml +++ b/deploy/disk/kubernetes/overlays/patch/kustomization.yaml @@ -16,11 +16,11 @@ kind: Kustomization namespace: kube-system images: - name: csiplugin/csi-qingcloud - newTag: v1.1.0-rc.4 + newTag: v1.1.0 commonLabels: app: "csi-qingcloud" owner: "yunify" - ver: "v1.1.0-rc.4" + ver: "v1.1.0" patchesStrategicMerge: - controller-deploy.yaml - node-ds.yaml diff --git a/deploy/disk/kubernetes/releases/qingcloud-csi-disk-v1.1.0.yaml b/deploy/disk/kubernetes/releases/qingcloud-csi-disk-v1.1.0.yaml new file mode 100644 index 00000000..192fa26a --- /dev/null +++ b/deploy/disk/kubernetes/releases/qingcloud-csi-disk-v1.1.0.yaml @@ -0,0 +1,907 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: controller + ver: v1.1.0 + name: csi-qingcloud-controller + namespace: kube-system +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: node + ver: v1.1.0 + name: csi-qingcloud-node + namespace: kube-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: controller + ver: v1.1.0 + name: csi-qingcloud-attacher + namespace: kube-system +rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - watch + - list + - delete + - update + - create +- apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - watch + - list + - delete + - update + - create +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: controller + ver: v1.1.0 + name: csi-qingcloud-provisioner + namespace: kube-system +rules: +- apiGroups: + - "" + resources: + - endpoints + verbs: + - get + - watch + - list + - delete + - update + - create +- apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - watch + - list + - delete + - update + - create +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: controller + ver: v1.1.0 + name: csi-qingcloud-resizer + namespace: kube-system +rules: +- apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - watch + - list + - delete + - update + - create +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: controller + ver: v1.1.0 + name: csi-qingcloud-snapshotter + namespace: kube-system +rules: +- apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - watch + - list + - delete + - update + - create +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: controller + ver: v1.1.0 + name: csi-qingcloud-attacher +rules: +- apiGroups: + - "" + resources: + - persistentvolumes + verbs: + - get + - list + - watch + - update + - patch +- apiGroups: + - "" + resources: + - nodes + verbs: + - get + - list + - watch +- apiGroups: + - csi.storage.k8s.io + resources: + - csinodeinfos + verbs: + - get + - list + - watch +- apiGroups: + - storage.k8s.io + resources: + - volumeattachments + verbs: + - get + - list + - watch + - update + - patch +--- +aggregationRule: + clusterRoleSelectors: + - matchLabels: + app: csi-qingcloud + - matchLabels: + role: controller + - matchLabels: + csi: v1.1.0 + - matchLabels: + owner: yunify +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: controller + ver: v1.1.0 + name: csi-qingcloud-controller +rules: [] +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: node + ver: v1.1.0 + name: csi-qingcloud-node +rules: +- apiGroups: + - "" + resources: + - events + verbs: + - get + - list + - watch + - create + - update + - patch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: controller + ver: v1.1.0 + name: csi-qingcloud-provisioner +rules: +- apiGroups: + - "" + resources: + - persistentvolumes + verbs: + - get + - list + - watch + - create + - delete +- apiGroups: + - "" + resources: + - persistentvolumeclaims + verbs: + - get + - list + - watch + - update +- apiGroups: + - storage.k8s.io + resources: + - storageclasses + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - events + verbs: + - list + - watch + - create + - update + - patch +- apiGroups: + - snapshot.storage.k8s.io + resources: + - volumesnapshots + verbs: + - get + - list +- apiGroups: + - snapshot.storage.k8s.io + resources: + - volumesnapshotcontents + verbs: + - get + - list +- apiGroups: + - storage.k8s.io + resources: + - csinodes + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - nodes + verbs: + - get + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: controller + ver: v1.1.0 + name: csi-qingcloud-resizer +rules: +- apiGroups: + - "" + resources: + - persistentvolumes + verbs: + - get + - list + - watch + - update + - patch +- apiGroups: + - "" + resources: + - persistentvolumeclaims + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - persistentvolumeclaims/status + verbs: + - update + - patch +- apiGroups: + - storage.k8s.io + resources: + - storageclasses + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - events + verbs: + - list + - watch + - create + - update + - patch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: controller + ver: v1.1.0 + name: csi-qingcloud-snapshotter +rules: +- apiGroups: + - "" + resources: + - persistentvolumes + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - persistentvolumeclaims + verbs: + - get + - list + - watch + - update +- apiGroups: + - storage.k8s.io + resources: + - storageclasses + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - events + verbs: + - list + - watch + - create + - update + - patch +- apiGroups: + - "" + resources: + - secrets + verbs: + - get + - list +- apiGroups: + - snapshot.storage.k8s.io + resources: + - volumesnapshotclasses + verbs: + - get + - list + - watch +- apiGroups: + - snapshot.storage.k8s.io + resources: + - volumesnapshotcontents + verbs: + - create + - get + - list + - watch + - update + - delete +- apiGroups: + - snapshot.storage.k8s.io + resources: + - volumesnapshots + verbs: + - get + - list + - watch + - update +- apiGroups: + - snapshot.storage.k8s.io + resources: + - volumesnapshots/status + verbs: + - update +- apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - create + - list + - watch + - delete + - get + - update +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: controller + ver: v1.1.0 + name: csi-qingcloud-attacher + namespace: kube-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: csi-qingcloud-attacher +subjects: +- kind: ServiceAccount + name: csi-qingcloud-controller + namespace: kube-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: controller + ver: v1.1.0 + name: csi-qingcloud-provsioner + namespace: kube-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: csi-qingcloud-provisioner +subjects: +- kind: ServiceAccount + name: csi-qingcloud-controller + namespace: kube-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: controller + ver: v1.1.0 + name: csi-qingcloud-resizer + namespace: kube-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: csi-qingcloud-resizer +subjects: +- kind: ServiceAccount + name: csi-resizer + namespace: kube-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: controller + ver: v1.1.0 + name: csi-qingcloud-snapshotter + namespace: kube-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: csi-qingcloud-snapshotter +subjects: +- kind: ServiceAccount + name: csi-snapshotter + namespace: kube-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: controller + ver: v1.1.0 + name: csi-qingcloud-controller +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: csi-qingcloud-controller +subjects: +- kind: ServiceAccount + name: csi-qingcloud-controller + namespace: kube-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: node + ver: v1.1.0 + name: csi-qingcloud-node +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: csi-qingcloud-node +subjects: +- kind: ServiceAccount + name: csi-qingcloud-node + namespace: kube-system +--- +apiVersion: v1 +data: + config.yaml: |- + # Copyright (C) 2018 Yunify, Inc. + # + # Licensed under the Apache License, Version 2.0 (the "License"); + # you may not use this work except in compliance with the License. + # You may obtain a copy of the License in the LICENSE file, or at: + # + # http://www.apache.org/licenses/LICENSE-2.0 + # + # Unless required by applicable law or agreed to in writing, software + # distributed under the License is distributed on an "AS IS" BASIS, + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + # See the License for the specific language governing permissions and + # limitations under the License. + + qy_access_key_id: 'ACCESS_KEY_ID' + qy_secret_access_key: 'ACCESS_KEY_SECRET' + zone: 'ZONE' + host: 'api.qingcloud.com' + port: 443 + protocol: 'https' + uri: '/iaas' + connection_retries: 3 + connection_timeout: 30 +kind: ConfigMap +metadata: + labels: + app: csi-qingcloud + owner: yunify + ver: v1.1.0 + name: csi-qingcloud + namespace: kube-system +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: csi-qingcloud + owner: yunify + ver: v1.1.0 + name: csi-qingcloud-controller + namespace: kube-system +spec: + replicas: 1 + selector: + matchLabels: + app: csi-qingcloud + owner: yunify + role: controller + ver: v1.1.0 + template: + metadata: + labels: + app: csi-qingcloud + owner: yunify + role: controller + ver: v1.1.0 + spec: + containers: + - args: + - --csi-address=$(ADDRESS) + - --enable-leader-election + - --feature-gates=Topology=true + - --leader-election-type=leases + - --retry-interval-max=5m + - --retry-interval-start=5s + - --timeout=90s + - --worker-threads=5 + - --volume-name-prefix=pvc + - --v=5 + env: + - name: ADDRESS + value: /csi/csi.sock + image: quay.io/k8scsi/csi-provisioner:v1.4.0 + imagePullPolicy: IfNotPresent + name: csi-provisioner + resources: + limits: + cpu: 80m + memory: 80Mi + requests: + cpu: 80m + memory: 80Mi + volumeMounts: + - mountPath: /csi + name: socket-dir + - args: + - --csi-address=$(ADDRESS) + - --leader-election + - --retry-interval-max=5m + - --retry-interval-start=5s + - --timeout=90s + - --worker-threads=5 + - --v=5 + env: + - name: ADDRESS + value: /csi/csi.sock + - name: MY_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + image: quay.io/k8scsi/csi-attacher:v2.0.0 + imagePullPolicy: IfNotPresent + name: csi-attacher + resources: + limits: + cpu: 80m + memory: 80Mi + requests: + cpu: 80m + memory: 80Mi + volumeMounts: + - mountPath: /csi + name: socket-dir + - args: + - --connection-timeout=90s + - --csi-address=$(ADDRESS) + - --leader-election=false + - --snapshot-name-prefix=snapshot + - --v=5 + env: + - name: ADDRESS + value: /csi/csi.sock + image: quay.io/k8scsi/csi-snapshotter:v1.2.2 + imagePullPolicy: IfNotPresent + name: csi-snapshotter + resources: + limits: + cpu: 20m + memory: 20Mi + requests: + cpu: 20m + memory: 20Mi + volumeMounts: + - mountPath: /csi + name: socket-dir + - args: + - --csi-address=$(ADDRESS) + - --leader-election + - --v=5 + env: + - name: ADDRESS + value: /csi/csi.sock + image: quay.io/k8scsi/csi-resizer:v0.2.0 + imagePullPolicy: IfNotPresent + name: csi-resizer + resources: + limits: + cpu: 20m + memory: 20Mi + requests: + cpu: 20m + memory: 20Mi + volumeMounts: + - mountPath: /csi + name: socket-dir + - args: + - --config=/etc/config/config.yaml + - --drivername=disk.csi.qingcloud.com + - --endpoint=$(CSI_ENDPOINT) + - --maxvolume=10 + - --nodeid=$(NODE_ID) + - --v=5 + env: + - name: NODE_ID + valueFrom: + fieldRef: + fieldPath: spec.nodeName + - name: CSI_ENDPOINT + value: unix://csi/csi.sock + image: csiplugin/csi-qingcloud:v1.1.0 + imagePullPolicy: IfNotPresent + name: csi-qingcloud + resources: + limits: + cpu: 50m + memory: 50Mi + requests: + cpu: 50m + memory: 50Mi + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /etc/config + name: server-config + serviceAccount: csi-qingcloud-controller + volumes: + - emptyDir: null + name: socket-dir + - configMap: + name: csi-qingcloud + name: server-config +--- +apiVersion: apps/v1 +kind: DaemonSet +metadata: + labels: + app: csi-qingcloud + owner: yunify + role: node + ver: v1.1.0 + name: csi-qingcloud-node + namespace: kube-system +spec: + selector: + matchLabels: + app: csi-qingcloud + owner: yunify + role: node + ver: v1.1.0 + template: + metadata: + labels: + app: csi-qingcloud + owner: yunify + role: node + ver: v1.1.0 + spec: + containers: + - args: + - --csi-address=$(ADDRESS) + - --kubelet-registration-path=/var/lib/kubelet/plugins/disk.csi.qingcloud.com/csi.sock + - --v=5 + env: + - name: ADDRESS + value: /csi/csi.sock + image: quay.io/k8scsi/csi-node-driver-registrar:v1.2.0 + lifecycle: + preStop: + exec: + command: + - /bin/sh + - -c + - rm -rf /registration/disk.csi.qingcloud.com /registration/disk.csi.qingcloud.com-reg.sock + name: node-registrar + resources: + limits: + cpu: 10m + memory: 20Mi + requests: + cpu: 10m + memory: 20Mi + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /registration + name: registration-dir + - args: + - --config=/etc/config/config.yaml + - --drivername=disk.csi.qingcloud.com + - --endpoint=$(CSI_ENDPOINT) + - --maxvolume=10 + - --nodeid=$(NODE_ID) + - --v=5 + env: + - name: NODE_ID + valueFrom: + fieldRef: + fieldPath: spec.nodeName + - name: CSI_ENDPOINT + value: unix://csi/csi.sock + image: csiplugin/csi-qingcloud:v1.1.0 + imagePullPolicy: IfNotPresent + name: csi-qingcloud + resources: + limits: + cpu: 50m + memory: 50Mi + requests: + cpu: 50m + memory: 50Mi + securityContext: + allowPrivilegeEscalation: true + capabilities: + add: + - SYS_ADMIN + privileged: true + volumeMounts: + - mountPath: /var/lib/kubelet + mountPropagation: Bidirectional + name: kubelet-dir + - mountPath: /csi + name: socket-dir + - mountPath: /dev + mountPropagation: HostToContainer + name: dev-dir + - mountPath: /etc/qingcloud + name: instance-id + readOnly: true + - mountPath: /etc/config + name: server-config + hostNetwork: true + serviceAccount: csi-qingcloud-node + tolerations: + - key: CriticalAddonsOnly + operator: Exists + - key: dedicated + operator: Exists + - effect: NoSchedule + key: node-role.kubernetes.io/master + - effect: NoSchedule + key: node.cloudprovider.kubernetes.io/uninitialized + value: "true" + volumes: + - hostPath: + path: /var/lib/kubelet + name: kubelet-dir + - hostPath: + path: /var/lib/kubelet/plugins/disk.csi.qingcloud.com/ + type: DirectoryOrCreate + name: socket-dir + - hostPath: + path: /var/lib/kubelet/plugins_registry/ + name: registration-dir + - hostPath: + path: /dev + type: Directory + name: dev-dir + - hostPath: + path: /etc/qingcloud + name: instance-id + - configMap: + name: csi-qingcloud + name: server-config +--- +apiVersion: storage.k8s.io/v1beta1 +kind: CSIDriver +metadata: + labels: + app: csi-qingcloud + owner: yunify + ver: v1.1.0 + name: disk.csi.qingcloud.com + namespace: kube-system +spec: + attachRequired: true + podInfoOnMount: false