Use components.UsesKubenet to check if Kubenet is required

This commit is contained in:
Ciprian Hacman 2020-05-19 20:16:13 +03:00
parent e608cd5265
commit 9d666c73bc
3 changed files with 12 additions and 2 deletions

View File

@ -54,6 +54,7 @@ go_library(
"//pkg/k8scodecs:go_default_library",
"//pkg/kubeconfig:go_default_library",
"//pkg/kubemanifest:go_default_library",
"//pkg/model/components:go_default_library",
"//pkg/nodelabels:go_default_library",
"//pkg/pki:go_default_library",
"//pkg/rbac:go_default_library",

View File

@ -25,6 +25,7 @@ import (
"k8s.io/kops/nodeup/pkg/model/resources"
"k8s.io/kops/pkg/apis/kops"
"k8s.io/kops/pkg/flagbuilder"
"k8s.io/kops/pkg/model/components"
"k8s.io/kops/pkg/systemd"
"k8s.io/kops/upup/pkg/fi"
"k8s.io/kops/upup/pkg/fi/nodeup/nodetasks"
@ -338,7 +339,11 @@ func (b *ContainerdBuilder) Build(c *fi.ModelBuilderContext) error {
// Using containerd with Kubenet requires special configuration. This is a temporary backwards-compatible solution
// and will be deprecated when Kubenet is deprecated:
// https://github.com/containerd/cri/blob/master/docs/config.md#cni-config-template
if b.Cluster.Spec.ContainerRuntime == "containerd" && b.Cluster.Spec.Networking != nil && b.Cluster.Spec.Networking.Kubenet != nil {
usesKubenet, err := components.UsesKubenet(&b.Cluster.Spec)
if err != nil {
return err
}
if b.Cluster.Spec.ContainerRuntime == "containerd" && usesKubenet {
b.buildKubenetCNIConfigTemplate(c)
}

View File

@ -63,7 +63,11 @@ func (b *ContainerdOptionsBuilder) BuildOptions(o interface{}) error {
// Apply defaults for containerd running in container runtime mode
containerd.LogLevel = fi.String("info")
if clusterSpec.Networking != nil && clusterSpec.Networking.Kubenet != nil {
usesKubenet, err := UsesKubenet(clusterSpec)
if err != nil {
return err
}
if clusterSpec.Networking != nil && usesKubenet {
// Using containerd with Kubenet requires special configuration. This is a temporary backwards-compatible solution
// and will be deprecated when Kubenet is deprecated:
// https://github.com/containerd/cri/blob/master/docs/config.md#cni-config-template