diff --git a/pkg/kubelet/apis/cri/runtime/v1alpha2/api.pb.go b/pkg/kubelet/apis/cri/runtime/v1alpha2/api.pb.go index 00023b7a07b2..f627e948a2a9 100644 --- a/pkg/kubelet/apis/cri/runtime/v1alpha2/api.pb.go +++ b/pkg/kubelet/apis/cri/runtime/v1alpha2/api.pb.go @@ -3052,7 +3052,8 @@ func (*RemoveImageResponse) ProtoMessage() {} func (*RemoveImageResponse) Descriptor() ([]byte, []int) { return fileDescriptorApi, []int{76} } type NetworkConfig struct { - // CIDR to use for pod IP addresses. + // CIDR to use for pod IP addresses. If the CIDR is empty, runtimes + // should omit it. PodCidr string `protobuf:"bytes,1,opt,name=pod_cidr,json=podCidr,proto3" json:"pod_cidr,omitempty"` } diff --git a/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto b/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto index eaf4397e6ce1..854b8f612829 100644 --- a/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto +++ b/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto @@ -1047,7 +1047,8 @@ message RemoveImageRequest { message RemoveImageResponse {} message NetworkConfig { - // CIDR to use for pod IP addresses. + // CIDR to use for pod IP addresses. If the CIDR is empty, runtimes + // should omit it. string pod_cidr = 1; } diff --git a/pkg/kubelet/kubelet_node_status.go b/pkg/kubelet/kubelet_node_status.go index cf324805fdcd..9a1e6214b6a3 100644 --- a/pkg/kubelet/kubelet_node_status.go +++ b/pkg/kubelet/kubelet_node_status.go @@ -384,7 +384,9 @@ func (kl *Kubelet) tryUpdateNodeStatus(tryNumber int) error { return fmt.Errorf("nil %q node object", kl.nodeName) } - kl.updatePodCIDR(node.Spec.PodCIDR) + if node.Spec.PodCIDR != "" { + kl.updatePodCIDR(node.Spec.PodCIDR) + } kl.setNodeStatus(node) // Patch the current status on the API server