mirror of https://github.com/kubernetes/kops.git
Enable GCP PD CSI driver by default in k8s 1.23
This commit is contained in:
parent
89c392d809
commit
f22545e885
|
|
@ -16,6 +16,7 @@ go_library(
|
||||||
"discovery.go",
|
"discovery.go",
|
||||||
"docker.go",
|
"docker.go",
|
||||||
"etcd.go",
|
"etcd.go",
|
||||||
|
"gcppdcsidriver.go",
|
||||||
"kubecontrollermanager.go",
|
"kubecontrollermanager.go",
|
||||||
"kubedns.go",
|
"kubedns.go",
|
||||||
"kubelet.go",
|
"kubelet.go",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
/*
|
||||||
|
Copyright 2020 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package components
|
||||||
|
|
||||||
|
import (
|
||||||
|
"k8s.io/kops/pkg/apis/kops"
|
||||||
|
"k8s.io/kops/upup/pkg/fi"
|
||||||
|
"k8s.io/kops/upup/pkg/fi/loader"
|
||||||
|
)
|
||||||
|
|
||||||
|
// GCPPDCSIDriverOptionsBuilder adds options for the GCP PD CSI driver to the model
|
||||||
|
type GCPPDCSIDriverOptionsBuilder struct {
|
||||||
|
*OptionsContext
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ loader.OptionsBuilder = &GCPPDCSIDriverOptionsBuilder{}
|
||||||
|
|
||||||
|
func (b *GCPPDCSIDriverOptionsBuilder) BuildOptions(o interface{}) error {
|
||||||
|
clusterSpec := o.(*kops.ClusterSpec)
|
||||||
|
if kops.CloudProviderID(clusterSpec.CloudProvider) != kops.CloudProviderGCE {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
cc := clusterSpec.CloudConfig
|
||||||
|
if cc.GCPPDCSIDriver == nil {
|
||||||
|
cc.GCPPDCSIDriver = &kops.GCPPDCSIDriver{
|
||||||
|
Enabled: fi.Bool(b.IsKubernetesGTE("1.23")),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
@ -749,6 +749,20 @@ func (b *BootstrapChannelBuilder) buildAddons(c *fi.ModelBuilderContext) (*Addon
|
||||||
Id: id,
|
Id: id,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if b.Cluster.Spec.CloudConfig != nil && b.Cluster.Spec.CloudConfig.GCPPDCSIDriver != nil && fi.BoolValue(b.Cluster.Spec.CloudConfig.GCPPDCSIDriver.Enabled) {
|
||||||
|
key := "gcp-pd-csi-driver.addons.k8s.io"
|
||||||
|
{
|
||||||
|
id := "k8s-1.23"
|
||||||
|
location := key + "/" + id + ".yaml"
|
||||||
|
addons.Add(&channelsapi.AddonSpec{
|
||||||
|
Name: fi.String(key),
|
||||||
|
Manifest: fi.String(location),
|
||||||
|
Selector: map[string]string{"k8s-addon": key},
|
||||||
|
Id: id,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if featureflag.Spotinst.Enabled() && featureflag.SpotinstController.Enabled() {
|
if featureflag.Spotinst.Enabled() && featureflag.SpotinstController.Enabled() {
|
||||||
|
|
|
||||||
|
|
@ -282,6 +282,7 @@ func (c *populateClusterSpec) run(clientset simple.Clientset) error {
|
||||||
codeModels = append(codeModels, &components.NodeProblemDetectorOptionsBuilder{OptionsContext: optionsContext})
|
codeModels = append(codeModels, &components.NodeProblemDetectorOptionsBuilder{OptionsContext: optionsContext})
|
||||||
codeModels = append(codeModels, &components.AWSEBSCSIDriverOptionsBuilder{OptionsContext: optionsContext})
|
codeModels = append(codeModels, &components.AWSEBSCSIDriverOptionsBuilder{OptionsContext: optionsContext})
|
||||||
codeModels = append(codeModels, &components.AWSCloudControllerManagerOptionsBuilder{OptionsContext: optionsContext})
|
codeModels = append(codeModels, &components.AWSCloudControllerManagerOptionsBuilder{OptionsContext: optionsContext})
|
||||||
|
codeModels = append(codeModels, &components.GCPPDCSIDriverOptionsBuilder{OptionsContext: optionsContext})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue