mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-01-04 23:17:50 +00:00
Merge pull request #67684 from verult/top-csi-driver-registration
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md. CSI Node info registration in kubelet **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: Fixes #67683 **Special notes for your reviewer**: Feature issue: https://github.com/kubernetes/features/issues/557 Design doc: https://github.com/kubernetes/community/pull/2034 Missing pieces: * CSI client retry and exponential backoff logic. * CSINodeInfo object validation * e2e test with all the CSI machinery. An RBAC rule is also added to support external-provisioner topology updates. **Release note**: ```release-note Registers volume topology information reported by a node-level Container Storage Interface (CSI) driver. This enables Kubernetes support of CSI topology mechanisms. ```
This commit is contained in:
@@ -148,8 +148,11 @@ func NewAttachDetachController(
|
||||
}
|
||||
|
||||
// Install required CSI CRDs on API server
|
||||
if utilfeature.DefaultFeatureGate.Enabled(features.CSICRDAutoInstall) {
|
||||
adc.installCRDs()
|
||||
if utilfeature.DefaultFeatureGate.Enabled(features.CSIDriverRegistry) {
|
||||
adc.installCSIDriverCRD()
|
||||
}
|
||||
if utilfeature.DefaultFeatureGate.Enabled(features.CSINodeInfo) {
|
||||
adc.installCSINodeInfoCRD()
|
||||
}
|
||||
|
||||
if err := adc.volumePluginMgr.InitPlugins(plugins, prober, adc); err != nil {
|
||||
@@ -667,8 +670,7 @@ func (adc *attachDetachController) processVolumesInUse(
|
||||
}
|
||||
}
|
||||
|
||||
// installCRDs creates the specified CustomResourceDefinition for the CSIDrivers object.
|
||||
func (adc *attachDetachController) installCRDs() error {
|
||||
func (adc *attachDetachController) installCSIDriverCRD() error {
|
||||
crd := &apiextensionsv1beta1.CustomResourceDefinition{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: csiapiv1alpha1.CsiDriverResourcePlural + "." + csiapiv1alpha1.GroupName,
|
||||
@@ -697,7 +699,12 @@ func (adc *attachDetachController) installCRDs() error {
|
||||
return err
|
||||
}
|
||||
|
||||
crd = &apiextensionsv1beta1.CustomResourceDefinition{
|
||||
return nil
|
||||
}
|
||||
|
||||
// installCRDs creates the specified CustomResourceDefinition for the CSIDrivers object.
|
||||
func (adc *attachDetachController) installCSINodeInfoCRD() error {
|
||||
crd := &apiextensionsv1beta1.CustomResourceDefinition{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: csiapiv1alpha1.CsiNodeInfoResourcePlural + "." + csiapiv1alpha1.GroupName,
|
||||
},
|
||||
@@ -711,7 +718,7 @@ func (adc *attachDetachController) installCRDs() error {
|
||||
},
|
||||
},
|
||||
}
|
||||
res, err = adc.crdClient.ApiextensionsV1beta1().CustomResourceDefinitions().Create(crd)
|
||||
res, err := adc.crdClient.ApiextensionsV1beta1().CustomResourceDefinitions().Create(crd)
|
||||
|
||||
if err == nil {
|
||||
glog.Infof("CSINodeInfo CRD created successfully: %#v",
|
||||
|
||||
Reference in New Issue
Block a user