@@ -112,7 +112,7 @@ func mutateWeightedPodAffinityTerms(weightedTerms []v1.WeightedPodAffinityTerm,
112
112
}
113
113
}
114
114
115
- func PodMutateDefault (vPod * v1.Pod , saSecretMap map [string ]string , services []* v1.Service , nameServer string ) PodMutator {
115
+ func PodMutateDefault (vPod * v1.Pod , saSecretMap map [string ]string , services []* v1.Service , nameServer string , dnsOption []v1. PodDNSConfigOption ) PodMutator {
116
116
return func (p * podMutateCtx ) error {
117
117
p .pPod .Status = v1.PodStatus {}
118
118
p .pPod .Spec .NodeName = ""
@@ -173,7 +173,7 @@ func PodMutateDefault(vPod *v1.Pod, saSecretMap map[string]string, services []*v
173
173
if err != nil {
174
174
return err
175
175
}
176
- mutateDNSConfig (p , vPod , vc .Spec .ClusterDomain , nameServer )
176
+ mutateDNSConfig (p , vPod , vc .Spec .ClusterDomain , nameServer , dnsOption )
177
177
178
178
// FIXME(zhuangqh): how to support pod subdomain.
179
179
if p .pPod .Spec .Subdomain != "" {
@@ -287,7 +287,7 @@ func getServiceEnvVarMap(ns, cluster string, enableServiceLinks *bool, services
287
287
return apiServerService , m
288
288
}
289
289
290
- func mutateDNSConfig (p * podMutateCtx , vPod * v1.Pod , clusterDomain , nameServer string ) {
290
+ func mutateDNSConfig (p * podMutateCtx , vPod * v1.Pod , clusterDomain , nameServer string , dnsOption []v1. PodDNSConfigOption ) {
291
291
// If the TenantAllowDNSPolicy feature gate is added AND if the vPod labels include
292
292
// tenancy.x-k8s.io/disable.dnsPolicyMutation: "true" then we should return without
293
293
// mutating the config. This is to allow special pods like coredns to use the
@@ -304,11 +304,11 @@ func mutateDNSConfig(p *podMutateCtx, vPod *v1.Pod, clusterDomain, nameServer st
304
304
case v1 .DNSNone :
305
305
return
306
306
case v1 .DNSClusterFirstWithHostNet :
307
- mutateClusterFirstDNS (p , vPod , clusterDomain , nameServer )
307
+ mutateClusterFirstDNS (p , vPod , clusterDomain , nameServer , dnsOption )
308
308
return
309
309
case v1 .DNSClusterFirst :
310
310
if ! p .pPod .Spec .HostNetwork {
311
- mutateClusterFirstDNS (p , vPod , clusterDomain , nameServer )
311
+ mutateClusterFirstDNS (p , vPod , clusterDomain , nameServer , dnsOption )
312
312
return
313
313
}
314
314
// Fallback to DNSDefault for pod on hostnetwork.
@@ -318,7 +318,7 @@ func mutateDNSConfig(p *podMutateCtx, vPod *v1.Pod, clusterDomain, nameServer st
318
318
}
319
319
}
320
320
321
- func mutateClusterFirstDNS (p * podMutateCtx , vPod * v1.Pod , clusterDomain , nameServer string ) {
321
+ func mutateClusterFirstDNS (p * podMutateCtx , vPod * v1.Pod , clusterDomain , nameServer string , dnsOption []v1. PodDNSConfigOption ) {
322
322
if nameServer == "" {
323
323
klog .Infof ("vc %s does not have ClusterDNS IP configured and cannot create Pod using %q policy. Falling back to %q policy." ,
324
324
p .clusterName , v1 .DNSClusterFirst , v1 .DNSDefault )
@@ -333,12 +333,13 @@ func mutateClusterFirstDNS(p *podMutateCtx, vPod *v1.Pod, clusterDomain, nameSer
333
333
// itself.
334
334
dnsConfig := & v1.PodDNSConfig {
335
335
Nameservers : []string {nameServer },
336
- Options : []v1.PodDNSConfigOption {
336
+ Options : dnsOption ,
337
+ /* Options: []v1.PodDNSConfigOption{
337
338
{
338
339
Name: "ndots",
339
340
Value: pointer.StringPtr("5"),
340
341
},
341
- },
342
+ },*/
342
343
}
343
344
344
345
if clusterDomain != "" {
@@ -495,3 +496,4 @@ func (s *saSecretMutator) Mutate(vSecret *v1.Secret, clusterName string) {
495
496
s .pSecret .Name = ""
496
497
s .pSecret .GenerateName = vSecret .GetAnnotations ()[v1 .ServiceAccountNameKey ] + "-token-"
497
498
}
499
+
0 commit comments