diff --git a/docs/networking/kindnet.md b/docs/networking/kindnet.md index b85e2f4bd2c11..f6a2fafcc51b9 100644 --- a/docs/networking/kindnet.md +++ b/docs/networking/kindnet.md @@ -1,5 +1,9 @@ # Kindnet +***Kindnet support is experimental, and may be removed at any time*** + +## Introduction + * [kindnet](http://kindnet.es) Kindnet focuses on providing essential networking functionality without unnecessary complexity. diff --git a/k8s/crds/kops.k8s.io_clusters.yaml b/k8s/crds/kops.k8s.io_clusters.yaml index f7c35e9cc289a..118c8d16135d5 100644 --- a/k8s/crds/kops.k8s.io_clusters.yaml +++ b/k8s/crds/kops.k8s.io_clusters.yaml @@ -5785,6 +5785,9 @@ spec: fastPathThreshold: format: int32 type: integer + logLevel: + format: int32 + type: integer masquerade: description: KindnetMasqueradeSpec configures Kindnet masquerading settings. diff --git a/pkg/apis/kops/networking.go b/pkg/apis/kops/networking.go index 4322943534a5f..0406abdcef216 100644 --- a/pkg/apis/kops/networking.go +++ b/pkg/apis/kops/networking.go @@ -572,6 +572,8 @@ type KindnetNetworkingSpec struct { FastPathThreshold *int32 `json:"fastPathThreshold,omitempty"` // node agent masquerading rules Masquerade *KindnetMasqueradeSpec `json:"masquerade,omitempty"` + // log level + LogLevel *int32 `json:"logLevel,omitempty"` } type KindnetMasqueradeSpec struct { diff --git a/pkg/apis/kops/v1alpha2/networking.go b/pkg/apis/kops/v1alpha2/networking.go index 8b131363eb6be..f17de85b2bc7d 100644 --- a/pkg/apis/kops/v1alpha2/networking.go +++ b/pkg/apis/kops/v1alpha2/networking.go @@ -686,6 +686,7 @@ type KindnetNetworkingSpec struct { NAT64 *bool `json:"nat64,omitempty"` FastPathThreshold *int32 `json:"fastPathThreshold,omitempty"` Masquerade *KindnetMasqueradeSpec `json:"masquerade,omitempty"` + LogLevel *int32 `json:"logLevel,omitempty"` } // KindnetMasqueradeSpec configures Kindnet masquerading settings. diff --git a/pkg/apis/kops/v1alpha2/zz_generated.conversion.go b/pkg/apis/kops/v1alpha2/zz_generated.conversion.go index c727a01955ff1..6913427497081 100644 --- a/pkg/apis/kops/v1alpha2/zz_generated.conversion.go +++ b/pkg/apis/kops/v1alpha2/zz_generated.conversion.go @@ -4890,6 +4890,7 @@ func autoConvert_v1alpha2_KindnetNetworkingSpec_To_kops_KindnetNetworkingSpec(in } else { out.Masquerade = nil } + out.LogLevel = in.LogLevel return nil } @@ -4915,6 +4916,7 @@ func autoConvert_kops_KindnetNetworkingSpec_To_v1alpha2_KindnetNetworkingSpec(in } else { out.Masquerade = nil } + out.LogLevel = in.LogLevel return nil } diff --git a/pkg/apis/kops/v1alpha2/zz_generated.deepcopy.go b/pkg/apis/kops/v1alpha2/zz_generated.deepcopy.go index 0933bf01c6d87..db9773eec5318 100644 --- a/pkg/apis/kops/v1alpha2/zz_generated.deepcopy.go +++ b/pkg/apis/kops/v1alpha2/zz_generated.deepcopy.go @@ -3075,6 +3075,11 @@ func (in *KindnetNetworkingSpec) DeepCopyInto(out *KindnetNetworkingSpec) { *out = new(KindnetMasqueradeSpec) (*in).DeepCopyInto(*out) } + if in.LogLevel != nil { + in, out := &in.LogLevel, &out.LogLevel + *out = new(int32) + **out = **in + } return } diff --git a/pkg/apis/kops/v1alpha3/networking.go b/pkg/apis/kops/v1alpha3/networking.go index 7d871dde748e9..7942cc8748bfe 100644 --- a/pkg/apis/kops/v1alpha3/networking.go +++ b/pkg/apis/kops/v1alpha3/networking.go @@ -522,6 +522,7 @@ type KindnetNetworkingSpec struct { NAT64 *bool `json:"nat64,omitempty"` FastPathThreshold *int32 `json:"fastPathThreshold,omitempty"` Masquerade *KindnetMasqueradeSpec `json:"masquerade,omitempty"` + LogLevel *int32 `json:"logLevel,omitempty"` } type KindnetMasqueradeSpec struct { diff --git a/pkg/apis/kops/v1alpha3/zz_generated.conversion.go b/pkg/apis/kops/v1alpha3/zz_generated.conversion.go index 89a220bc33369..5706825335e42 100644 --- a/pkg/apis/kops/v1alpha3/zz_generated.conversion.go +++ b/pkg/apis/kops/v1alpha3/zz_generated.conversion.go @@ -5286,6 +5286,7 @@ func autoConvert_v1alpha3_KindnetNetworkingSpec_To_kops_KindnetNetworkingSpec(in } else { out.Masquerade = nil } + out.LogLevel = in.LogLevel return nil } @@ -5311,6 +5312,7 @@ func autoConvert_kops_KindnetNetworkingSpec_To_v1alpha3_KindnetNetworkingSpec(in } else { out.Masquerade = nil } + out.LogLevel = in.LogLevel return nil } diff --git a/pkg/apis/kops/v1alpha3/zz_generated.deepcopy.go b/pkg/apis/kops/v1alpha3/zz_generated.deepcopy.go index 3a7efd7fa1793..dcd3ad4533ccb 100644 --- a/pkg/apis/kops/v1alpha3/zz_generated.deepcopy.go +++ b/pkg/apis/kops/v1alpha3/zz_generated.deepcopy.go @@ -3049,6 +3049,11 @@ func (in *KindnetNetworkingSpec) DeepCopyInto(out *KindnetNetworkingSpec) { *out = new(KindnetMasqueradeSpec) (*in).DeepCopyInto(*out) } + if in.LogLevel != nil { + in, out := &in.LogLevel, &out.LogLevel + *out = new(int32) + **out = **in + } return } diff --git a/pkg/apis/kops/zz_generated.deepcopy.go b/pkg/apis/kops/zz_generated.deepcopy.go index 5ba62bd94eebd..02a6774229e11 100644 --- a/pkg/apis/kops/zz_generated.deepcopy.go +++ b/pkg/apis/kops/zz_generated.deepcopy.go @@ -3136,6 +3136,11 @@ func (in *KindnetNetworkingSpec) DeepCopyInto(out *KindnetNetworkingSpec) { *out = new(KindnetMasqueradeSpec) (*in).DeepCopyInto(*out) } + if in.LogLevel != nil { + in, out := &in.LogLevel, &out.LogLevel + *out = new(int32) + **out = **in + } return } diff --git a/pkg/model/components/kindnet.go b/pkg/model/components/kindnet.go index 31ee0d5d28201..556c3bfe6a9f1 100644 --- a/pkg/model/components/kindnet.go +++ b/pkg/model/components/kindnet.go @@ -60,5 +60,9 @@ func (b *KindnetOptionsBuilder) BuildOptions(o *kops.Cluster) error { c.FastPathThreshold = fi.PtrTo(int32(0)) } + if c.LogLevel == nil { + c.LogLevel = fi.PtrTo(int32(2)) + } + return nil } diff --git a/tests/integration/update_cluster/privatekindnet/data/aws_s3_object_cluster-completed.spec_content b/tests/integration/update_cluster/privatekindnet/data/aws_s3_object_cluster-completed.spec_content index 4695fc7c11f9e..5f0f6dd9cc037 100644 --- a/tests/integration/update_cluster/privatekindnet/data/aws_s3_object_cluster-completed.spec_content +++ b/tests/integration/update_cluster/privatekindnet/data/aws_s3_object_cluster-completed.spec_content @@ -190,6 +190,8 @@ spec: networkCIDR: 172.20.0.0/16 networking: kindnet: + fastPathThreshold: 0 + logLevel: 2 masquerade: enabled: true nonMasqueradeCIDRs: diff --git a/tests/integration/update_cluster/privatekindnet/data/aws_s3_object_privatekindnet.example.com-addons-bootstrap_content b/tests/integration/update_cluster/privatekindnet/data/aws_s3_object_privatekindnet.example.com-addons-bootstrap_content index fce2fb255f473..4345c0047846e 100644 --- a/tests/integration/update_cluster/privatekindnet/data/aws_s3_object_privatekindnet.example.com-addons-bootstrap_content +++ b/tests/integration/update_cluster/privatekindnet/data/aws_s3_object_privatekindnet.example.com-addons-bootstrap_content @@ -106,7 +106,7 @@ spec: version: 9.99.0 - id: k8s-1.32 manifest: networking.kindnet/k8s-1.32.yaml - manifestHash: 8da09d999d4060ab14a2517619248aadd0697dd9f966ea1cbf9866a780c27ea5 + manifestHash: 01687948e8fc685a14c3571170e46aae89adce0300947f3625a2074b1b729a63 name: networking.kindnet needsRollingUpdate: all selector: diff --git a/tests/integration/update_cluster/privatekindnet/data/aws_s3_object_privatekindnet.example.com-addons-networking.kindnet-k8s-1.32_content b/tests/integration/update_cluster/privatekindnet/data/aws_s3_object_privatekindnet.example.com-addons-networking.kindnet-k8s-1.32_content index 7abe732f8ea13..5b8b23f41f321 100644 --- a/tests/integration/update_cluster/privatekindnet/data/aws_s3_object_privatekindnet.example.com-addons-networking.kindnet-k8s-1.32_content +++ b/tests/integration/update_cluster/privatekindnet/data/aws_s3_object_privatekindnet.example.com-addons-networking.kindnet-k8s-1.32_content @@ -104,6 +104,7 @@ spec: - /bin/kindnetd - --hostname-override=$(NODE_NAME) - --v=2 + - --fastpath-threshold=0 - --masquerading=true - --no-masquerade-cidr=172.20.0.0/16,100.96.0.0/11,100.64.0.0/13 env: diff --git a/upup/models/cloudup/resources/addons/networking.kindnet/k8s-1.32.yaml.template b/upup/models/cloudup/resources/addons/networking.kindnet/k8s-1.32.yaml.template index 83c6ba555abe2..16a20b0fe2ac0 100644 --- a/upup/models/cloudup/resources/addons/networking.kindnet/k8s-1.32.yaml.template +++ b/upup/models/cloudup/resources/addons/networking.kindnet/k8s-1.32.yaml.template @@ -105,7 +105,9 @@ spec: args: - /bin/kindnetd - --hostname-override=$(NODE_NAME) - - --v=2 + {{- if .Networking.Kindnet.LogLevel }} + - --v={{ .Networking.Kindnet.LogLevel }} + {{- end }} {{- if .Networking.Kindnet.NetworkPolicies }} - --network-policy={{ .Networking.Kindnet.NetworkPolicies }} {{- end }}