11
11
[ ![ containerd] ( https://github.com/warm-metal/container-image-csi-driver/actions/workflows/containerd.yaml/badge.svg )] ( https://github.com/warm-metal/container-image-csi-driver/actions/workflows/containerd.yaml )
12
12
[ ![ docker-containerd] ( https://github.com/warm-metal/container-image-csi-driver/actions/workflows/docker-containerd.yaml/badge.svg )] ( https://github.com/warm-metal/container-image-csi-driver/actions/workflows/docker-containerd.yaml )
13
13
[ ![ cri-o] ( https://github.com/warm-metal/container-image-csi-driver/actions/workflows/cri-o.yaml/badge.svg )] ( https://github.com/warm-metal/container-image-csi-driver/actions/workflows/cri-o.yaml )
14
- ![ Docker Pulls] ( https://img.shields.io/docker/pulls/warmmetal/csi -image?color=brightgreen&logo=docker&logoColor=lightgrey&labelColor=black )
14
+ ![ Docker Pulls] ( https://img.shields.io/docker/pulls/warmmetal/container -image-csi-driver ?color=brightgreen&logo=docker&logoColor=lightgrey&labelColor=black )
15
15
16
16
# :construction_worker_man : :wrench : :construction : RENAMING THE REPOSITORY :construction : :wrench : :construction_worker_man :
17
17
@@ -28,6 +28,18 @@ git branch -u main main
28
28
git remote set-head origin -a
29
29
```
30
30
31
+ ### Migration of CSI driver
32
+ In release ` v2.0.0 ` , we are updating the CSI driver name from ` csi-image.warm-metal.tech ` to ` container-image.warm-metal.tech ` . This change may cause disruptions to your existing workloads if the driver name is not updated.
33
+
34
+ ** To ensure a smooth transition:**
35
+ 1 . ** Install Both Versions** : To avoid any breaking changes, you can install both the old and new versions of the CSI driver simultaneously. Both versions are compatible and have been tested to work side-by-side, as verified in our integration tests.
36
+
37
+ 1 . ** Update Your Workloads** : Migrate your workloads to use the new driver name ` container-image.warm-metal.tech ` . This process will involve updating your storage class definitions and any other configurations that reference the old driver name.
38
+
39
+ 1 . ** Remove the Old Driver** : Once all workloads have been successfully migrated and verified with the new driver, you can safely remove the older version of the driver from your cluster.
40
+
41
+ 1 . ** Testing** : It is highly recommended to test the migration process in a staging environment before applying changes to production.
42
+
31
43
We appreciate your cooperation and understanding as we work to improve our repository.
32
44
33
45
# container-image-csi-driver (previously csi-driver-image)
@@ -48,7 +60,7 @@ then mounts images via the snapshot/storage service of the runtime.
48
60
## Compatibility matrix
49
61
Tested changes on below mentioned versions -
50
62
51
- | warm-metal | k8s version | containerd | crio |
63
+ | CSI driver | k8s version | containerd | crio |
52
64
| ------------| -------------| ------------| ---------|
53
65
| 0.6.x | v1.25 | 1.6.8 | v1.20.9 |
54
66
| 0.7.x | v1.25 | 1.6.8 | v1.20.9 |
@@ -62,26 +74,26 @@ Tested changes on below mentioned versions -
62
74
## Installation
63
75
64
76
The driver requires to mount various host paths for different container runtimes.
65
- So, I build a binary utility, ` warm-metal -csi-image -install` , to reduce the installation complexity.
77
+ So, I build a binary utility, ` container-image -csi-driver -install` , to reduce the installation complexity.
66
78
It supports kubernetes, microk8s and k3s clusters with container runtime ** cri-o** , ** containerd** or ** docker** .
67
79
Users can run this utility on any nodes in their clusters to generate proper manifests to install the driver.
68
80
The download link is available on the [ release page] ( https://github.com/warm-metal/container-image-csi-driver/releases ) .
69
81
70
82
``` shell script
71
83
# To print manifests
72
- warm-metal -csi-image -install
84
+ container-image -csi-driver -install
73
85
74
86
# To show the detected configuration
75
- warm-metal -csi-image -install --print-detected-instead
87
+ container-image -csi-driver -install --print-detected-instead
76
88
77
89
# To change the default namespace that the driver to be installed in
78
- warm-metal -csi-image -install --namespace=foo
90
+ container-image -csi-driver -install --namespace=foo
79
91
80
92
# To set a Secret as the imagepullsecret
81
- warm-metal -csi-image -install --pull-image-secret-for-daemonset=foo
93
+ container-image -csi-driver -install --pull-image-secret-for-daemonset=foo
82
94
83
95
# To disable the memroy cache for imagepullsecrets if Secrets are short-lived.
84
- warm-metal -csi-image -install --pull-image-secret-for-daemonset=foo --enable-daemon-image-credential-cache=false
96
+ container-image -csi-driver -install --pull-image-secret-for-daemonset=foo --enable-daemon-image-credential-cache=false
85
97
```
86
98
87
99
You can found some installation manifests as samples in [ examples] ( https://github.com/warm-metal/container-image-csi-driver/tree/master/sample ) .
@@ -126,7 +138,7 @@ spec:
126
138
volumes :
127
139
- name : target
128
140
csi :
129
- driver : csi -image.warm-metal.tech
141
+ driver : container -image.csi.k8s.io
130
142
# nodePublishSecretRef:
131
143
# name: "ImagePullSecret name in the same namespace"
132
144
volumeAttributes :
@@ -145,14 +157,14 @@ kind: PersistentVolume
145
157
metadata:
146
158
name: pv-test-container-image-csi-driver-test-simple-fs
147
159
spec:
148
- storageClassName: csi -image.warm-metal.tech
160
+ storageClassName: container -image.csi.k8s.io
149
161
capacity:
150
162
storage: 5Gi
151
163
accessModes:
152
164
- ReadOnlyMany
153
165
persistentVolumeReclaimPolicy: Retain
154
166
csi:
155
- driver: csi -image.warm-metal.tech
167
+ driver: container -image.csi.k8s.io
156
168
volumeHandle: "docker.io/warmmetal/container-image-csi-driver-test:simple-fs"
157
169
# nodePublishSecretRef:
158
170
# name: "name of the ImagePullSecret"
@@ -178,12 +190,12 @@ Otherwise, you need ImagePullSecrets to store your credential. The following lin
178
190
- [https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account)
179
191
180
192
If the secret is desired to be shared by all volumes, you can add it to the ServiceAccount of the driver,
181
- ` csi -image-warm-metal ` by default, and update the Role `csi -image-warm-metal ` to make sure the daemon has permissions to fetch the secret,
182
- then restart the driver daemon pod. Users can run `warm-metal -csi-image -install` to generate new manifests and apply them to update.
193
+ ` container -image-csi-driver ` by default, and update the Role `container -image-csi-driver ` to make sure the daemon has permissions to fetch the secret,
194
+ then restart the driver daemon pod. Users can run `container-image -csi-driver -install` to generate new manifests and apply them to update.
183
195
184
196
` ` ` shell script
185
197
# use secrets foo and bar
186
- warm-metal -csi-image -install --pull-image-secret-for-daemonset=foo --pull-image-secret-for-daemonset=bar
198
+ container-image -csi-driver -install --pull-image-secret-for-daemonset=foo --pull-image-secret-for-daemonset=bar
187
199
` ` `
188
200
189
201
If the secret works only for particular workloads, you can set via the `nodePublishSecretRef` attribute of ephemeral volumes.
0 commit comments