Skip to content

Commit c9ab777

Browse files
committed
doc: Add csi migration kep for GCE PD
1 parent dbf5b76 commit c9ab777

File tree

3 files changed

+120
-0
lines changed

3 files changed

+120
-0
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
kep-number: 1488
2+
stable:
3+
approver: "@wojtek-t"
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# In-tree Storage Plugin to CSI Migration - GCE Design Doc
2+
3+
## Table of Contents
4+
5+
<!-- toc -->
6+
- [Summary](#summary)
7+
- [New Feature Gates](#new-feature-gates)
8+
- [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire)
9+
- [Implementation History](#implementation-history)
10+
<!-- /toc -->
11+
12+
13+
## Summary
14+
15+
This document present as a vendor specific KEP for the parent KEP
16+
[CSI Migration](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/625-csi-migration)
17+
18+
This inherits all the contents from its parent KEP. It will introduce two new feature gates to be
19+
used as as described in its parent KEP. For all other contents, please refer to the parent KEP.
20+
21+
### New Feature Gates
22+
23+
- CSIMigrationGCE
24+
- As describe in [CSI Migration](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/625-csi-migration),
25+
when this feature flag && the `CSIMigration` is enabled at the same time, all operations related to the
26+
in-tree volume plugin `kubernetes.io/gce-pd` will be redirect to use the corresponding CSI driver. From a
27+
user perspective, nothing will be noticed.
28+
- InTreePluginGCEUnregister
29+
- This flag technically is not part of CSI Migration design. But it happens to be related and helps with
30+
CSI Migration. The name speaks for itself, when this flag is enabled, kubernetes will not register the
31+
`kubernetes.io/gce-pd` as one of the in-tree storage plugin provisioners. This flag standalone can work out
32+
of CSI Migration features.
33+
- However, when all `InTreePluginGCEUnregister`, `CSIMigrationGCE` and `CSIMigration` feature
34+
flags are enabled at the same time. The kube-controller-manager will skip the feature flag checking
35+
on kubelet and treat GCE PD CSI migration as already complete. And directly redirect traffic to CSI
36+
driver for all gce pd related operations.
37+
38+
39+
## Production Readiness Review Questionnaire
40+
41+
Please refer to the [CSI Migration Production Readiness Review Questionnaire](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/625-csi-migration#production-readiness-review-questionnaire).
42+
43+
## Implementation History
44+
45+
Major milestones in the life cycle of a KEP should be tracked in `Implementation History`.
46+
47+
- 2021-09-08 KEP created
48+
49+
Major milestones for GCE PD in-tree plugin CSI migration:
50+
51+
- 1.14
52+
- GCE PD CSI migration to Alpha
53+
54+
- 1.17
55+
- GCE PD CSI migration to Beta, off by default.
56+
57+
- 1.23
58+
- GCE PD CSI migration to Beta, on by default.
59+
60+
- 1.25
61+
- GCE PD CSI migration to GA
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
title: In-tree Storage Plugin to CSI Migration - GCE PD
2+
kep-number: 1488
3+
authors:
4+
- "@davidz627"
5+
owning-sig: sig-storage
6+
participating-sigs:
7+
- sig-cluster-lifecycle
8+
reviewers:
9+
- "@Jiawei0227"
10+
- "@msau42"
11+
- "@mattcary"
12+
approvers:
13+
- "@msau42"
14+
editor: "@Jiawei0227"
15+
creation-date: 2021-12-17
16+
last-updated: 2022-01-05
17+
disable-supported: true
18+
status: implementable
19+
see-also:
20+
- "https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/csi-migration.md"
21+
prr-approvers:
22+
- "@wojtek-t"
23+
replaces:
24+
25+
# The target maturity stage in the current dev cycle for this KEP.
26+
stage: stable
27+
28+
# The most recent milestone for which work toward delivery of this KEP has been
29+
# done. This can be the current (upcoming) milestone, if it is being actively
30+
# worked on.
31+
latest-milestone: "v1.25"
32+
33+
# The milestone at which this feature was, or is targeted to be, at each stage.
34+
milestone:
35+
alpha: "v1.14"
36+
beta: "v1.17"
37+
stable: "v1.25"
38+
39+
# The following PRR answers are required at alpha release
40+
# List the feature gate name and the components for which it must be enabled
41+
feature-gates:
42+
- name: CSIMigrationGCE
43+
components:
44+
- kube-controller-manager
45+
- kubelet
46+
- kube-scheduler
47+
- name: InTreePluginGCEUnregister
48+
components:
49+
- kube-controller-manager
50+
- kubelet
51+
- kube-scheduler
52+
53+
# The following PRR answers are required at beta release
54+
metrics:
55+
- csi_sidecar_duration_operation
56+
- storage_operation_duration_seconds

0 commit comments

Comments
 (0)