Merge pull request #104624 from Haleygo/support-null-resolvConf-in-configFile

When resolvConf is "" in kubelet configuration, pod will be created with wrong dns policy
This commit is contained in:
Kubernetes Prow Robot 2021-09-14 14:18:59 -07:00 committed by GitHub
commit fa2657b8b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 21 additions and 11 deletions

View File

@ -209,11 +209,11 @@ func (kc *kubeletConfig) Default(cfg *kubeadmapi.ClusterConfiguration, _ *kubead
klog.Warningf("cannot determine if systemd-resolved is active: %v", err)
}
if ok {
if kc.config.ResolverConfig == "" {
kc.config.ResolverConfig = kubeletSystemdResolverConfig
if kc.config.ResolverConfig == nil {
kc.config.ResolverConfig = utilpointer.String(kubeletSystemdResolverConfig)
} else {
if kc.config.ResolverConfig != kubeletSystemdResolverConfig {
warnDefaultComponentConfigValue(kind, "resolvConf", kubeletSystemdResolverConfig, kc.config.ResolverConfig)
if kc.config.ResolverConfig != utilpointer.String(kubeletSystemdResolverConfig) {
warnDefaultComponentConfigValue(kind, "resolvConf", kubeletSystemdResolverConfig, *kc.config.ResolverConfig)
}
}
}

View File

@ -50,10 +50,10 @@ func testKubeletConfigMap(contents string) *v1.ConfigMap {
}
func TestKubeletDefault(t *testing.T) {
var resolverConfig string
var resolverConfig *string
if isSystemdResolvedActive, _ := isServiceActive("systemd-resolved"); isSystemdResolvedActive {
// If systemd-resolved is active, we need to set the default resolver config
resolverConfig = kubeletSystemdResolverConfig
resolverConfig = utilpointer.String(kubeletSystemdResolverConfig)
}
tests := []struct {

View File

@ -181,8 +181,8 @@ func SetDefaults_KubeletConfiguration(obj *kubeletconfigv1beta1.KubeletConfigura
temp := int64(-1)
obj.PodPidsLimit = &temp
}
if obj.ResolverConfig == "" {
obj.ResolverConfig = kubetypes.ResolvConfDefault
if obj.ResolverConfig == nil {
obj.ResolverConfig = utilpointer.String(kubetypes.ResolvConfDefault)
}
if obj.CPUCFSQuota == nil {
obj.CPUCFSQuota = utilpointer.BoolPtr(true)

View File

@ -308,7 +308,9 @@ func autoConvert_v1beta1_KubeletConfiguration_To_config_KubeletConfiguration(in
if err := v1.Convert_Pointer_int64_To_int64(&in.PodPidsLimit, &out.PodPidsLimit, s); err != nil {
return err
}
out.ResolverConfig = in.ResolverConfig
if err := v1.Convert_Pointer_string_To_string(&in.ResolverConfig, &out.ResolverConfig, s); err != nil {
return err
}
out.RunOnce = in.RunOnce
if err := v1.Convert_Pointer_bool_To_bool(&in.CPUCFSQuota, &out.CPUCFSQuota, s); err != nil {
return err
@ -479,7 +481,9 @@ func autoConvert_config_KubeletConfiguration_To_v1beta1_KubeletConfiguration(in
if err := v1.Convert_int64_To_Pointer_int64(&in.PodPidsLimit, &out.PodPidsLimit, s); err != nil {
return err
}
out.ResolverConfig = in.ResolverConfig
if err := v1.Convert_string_To_Pointer_string(&in.ResolverConfig, &out.ResolverConfig, s); err != nil {
return err
}
out.RunOnce = in.RunOnce
if err := v1.Convert_bool_To_Pointer_bool(&in.CPUCFSQuota, &out.CPUCFSQuota, s); err != nil {
return err

View File

@ -599,9 +599,10 @@ type KubeletConfiguration struct {
// dynamically updating this field, consider that
// changes will only take effect on Pods created after the update. Draining
// the node is recommended before changing this field.
// If set to the empty string, will override the default and effectively disable DNS lookups.
// Default: "/etc/resolv.conf"
// +optional
ResolverConfig string `json:"resolvConf,omitempty"`
ResolverConfig *string `json:"resolvConf,omitempty"`
// runOnce causes the Kubelet to check the API server once for pods,
// run those in addition to the pods specified by static pod files, and exit.
// Default: false

View File

@ -189,6 +189,11 @@ func (in *KubeletConfiguration) DeepCopyInto(out *KubeletConfiguration) {
*out = new(int64)
**out = **in
}
if in.ResolverConfig != nil {
in, out := &in.ResolverConfig, &out.ResolverConfig
*out = new(string)
**out = **in
}
if in.CPUCFSQuota != nil {
in, out := &in.CPUCFSQuota, &out.CPUCFSQuota
*out = new(bool)