Skip to content

Commit 2c3a3b1

Browse files
committed
Add windows driver installation support
This PR adds windows driver support. It adds a windows base dir to install base yaml files. It also adds a windows alpha kustomization file. To install driver for windows, first set env GCE_PD_DRIVER_VERSION=windows/alpha and run deploy/kubernetes/deploy-driver-win.sh script.
1 parent ac1f8c0 commit 2c3a3b1

File tree

4 files changed

+141
-0
lines changed

4 files changed

+141
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
kind: DaemonSet
2+
apiVersion: apps/v1
3+
metadata:
4+
name: csi-gce-pd-node
5+
spec:
6+
template:
7+
spec:
8+
hostNetwork: false
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
kind: DaemonSet
2+
apiVersion: apps/v1
3+
metadata:
4+
name: csi-gce-pd-node
5+
spec:
6+
template:
7+
spec:
8+
containers:
9+
- securityContext:
10+
$patch: delete
11+
name: gce-pd-driver
12+
image: gke.gcr.io/gcp-compute-persistent-disk-csi-driver-win
13+
volumeMounts:
14+
- name: kubelet-dir
15+
mountPath: C:\var\lib\kubelet
16+
mountPropagation: "None"
17+
- name: plugin-dir
18+
mountPath: C:\csi
19+
- name: csi-proxy-disk-pipe
20+
mountPath: \\.\pipe\csi-proxy-disk-v1alpha1
21+
- name: csi-proxy-volume-pipe
22+
mountPath: \\.\pipe\csi-proxy-volume-v1alpha1
23+
- name: csi-proxy-filesystem-pipe
24+
mountPath: \\.\pipe\csi-proxy-filesystem-v1alpha1
25+
- name: kubelet-dir
26+
mountPath: /var/lib/kubelet
27+
mountPropagation: "Bidirectional"
28+
$patch: delete
29+
- name: plugin-dir
30+
mountPath: /csi
31+
$patch: delete
32+
- name: device-dir
33+
mountPath: /dev
34+
$patch: delete
35+
- name: udev-rules-etc
36+
mountPath: /etc/udev
37+
$patch: delete
38+
- name: udev-rules-lib
39+
mountPath: /lib/udev
40+
$patch: delete
41+
- name: udev-socket
42+
mountPath: /run/udev
43+
$patch: delete
44+
- name: sys
45+
mountPath: /sys
46+
$patch: delete
47+
nodeSelector:
48+
kubernetes.io/os: windows
49+
volumes:
50+
- name: csi-proxy-disk-pipe
51+
hostPath:
52+
path: \\.\pipe\csi-proxy-disk-v1alpha1
53+
type: ""
54+
- name: csi-proxy-volume-pipe
55+
hostPath:
56+
path: \\.\pipe\csi-proxy-volume-v1alpha1
57+
type: ""
58+
- name: csi-proxy-filesystem-pipe
59+
hostPath:
60+
path: \\.\pipe\csi-proxy-filesystem-v1alpha1
61+
type: ""
62+
- name: registration-dir
63+
hostPath:
64+
path: C:\var\lib\kubelet\plugins_registry\
65+
- name: kubelet-dir
66+
hostPath:
67+
path: C:\var\lib\kubelet\
68+
- name: plugin-dir
69+
hostPath:
70+
path: C:\var\lib\kubelet\plugins\pd.csi.storage.gke.io\
71+
- $patch: delete
72+
name: device-dir
73+
# The following mounts are required to trigger host udevadm from
74+
# container
75+
- $patch: delete
76+
name: udev-rules-etc
77+
- name: udev-rules-lib
78+
$patch: delete
79+
- name: udev-socket
80+
$patch: delete
81+
- name: sys
82+
$patch: delete
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
apiVersion: kustomize.config.k8s.io/v1beta1
2+
kind: Kustomization
3+
bases:
4+
- ../../../base
5+
patchesStrategicMerge:
6+
- disableHostNetwork.yaml
7+
- gcepd.yaml
8+
- noderegistrar.yaml
9+
images:
10+
- name: gke.gcr.io/gcp-compute-persistent-disk-csi-driver
11+
# Don't change stable image without changing pdImagePlaceholder in
12+
# test/k8s-integration/main.go
13+
newName: gke.gcr.io/gcp-compute-persistent-disk-csi-driver
14+
newTag: "v0.7.0-gke.0"
15+
- name: gke.gcr.io/gcp-compute-persistent-disk-csi-driver-win
16+
# Temporarly set to the private repo. Will swtich to public one
17+
# once it is available.
18+
newName: gcr.io/jing-k8s-dev/gce-pd-windows-2019
19+
newTag: "0.2.0"
20+
- name: gke.gcr.io/csi-provisioner
21+
newName: gke.gcr.io/csi-provisioner
22+
newTag: "v1.5.0-gke.0"
23+
- name: gke.gcr.io/csi-attacher
24+
newName: gke.gcr.io/csi-attacher
25+
newTag: "v2.1.1-gke.0"
26+
- name: gke.gcr.io/csi-node-driver-registrar
27+
newName: gcr.io/k8s-staging-csi/csi-node-driver-registrar
28+
newTag: "amd64-windows-v20200428-v1.3.0-26-g510710d5"
29+
- name: gke.gcr.io/csi-resizer
30+
newName: gke.gcr.io/csi-resizer
31+
newTag: "v0.4.0-gke.0"
32+
- name: gke.gcr.io/csi-snapshotter
33+
newName: gke.gcr.io/csi-snapshotter
34+
newTag: "v2.1.1-gke.0"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
kind: DaemonSet
2+
apiVersion: apps/v1
3+
metadata:
4+
name: csi-gce-pd-node
5+
spec:
6+
template:
7+
spec:
8+
containers:
9+
- name: csi-driver-registrar
10+
args:
11+
- --v=5
12+
- --csi-address=unix://C:\\csi\\csi.sock
13+
- --kubelet-registration-path=C:\\var\\lib\\kubelet\\plugins\\pd.csi.storage.gke.io\\csi.sock
14+
lifecycle:
15+
preStop:
16+
exec:
17+
command: ["cmd", "/c", "del C:\\registration\\pd.csi.storage.gke.io-reg.sock"]

0 commit comments

Comments
 (0)