Change:
Is this a BUG REPORT or FEATURE REQUEST?: BUG What happened: When CoreDNS is deployed by default using feature-gates of kubeadm, it does not log anything when processing a DNS query. That is due to change of log option of CoreDNS in latest version. that version was bumped up in kubeadm, but the manifest was not adapted to the new log option. initial change of 'log stdout' in CoreDNS : version of CoreDNS 1.0.0 bumped into Kubeadm : NOTE: I guess we should also changed manifests for kube-up : see The change in manifest expected is to remove the option "stdout" in the line "log ...". As it is now interpreted as a scope of domain to log. Invalid manifest: Environment: Kubernetes version (use ): 1.9 and MAIN Cloud provider or hardware configuration: any Install tools: kubeadm, kube-up the configmap for coredns kubectl get configmaps -n kube-system coredns -o yaml kubectl replace -f - the coredns deployment kubectl scale deployment --replicas=0 -n kube-system coredns kubectl scale deployment --replicas=1 -n kube-system coredns
/cc /sig network
NOTE: only log is impacted. CoreDNS working as expected.
/cc
I have a question : the initial manifest is done for the image 0.9.10 of CoreDNS. Bumping the version of CoreDNS was done by changing the version in file (see ) which means that the image's version is STILL 0.9.10 in the manifests ... and the corefile config is correct against the version of the manifest. QUESTION: when modifying the , is there a way to upgrade the manifest by program ? I guess at the time the new version number is applied on the manifest ...
thanks for reporting this! I send PR to update the Corefile. I don't think of a way so far. I guess we can't unless there is a way to get the Corefile from some place of upstream (CoreDNS).

Discussion:
Corefile: | .:53 { errors <del> log stdout </del> <ins> log </ins> health <del> kubernetes __PILLAR__DNS__DOMAIN__ __PILLAR__CLUSTER_CIDR__ </del> <ins> kubernetes __PILLAR__DNS__DOMAIN__ __PILLAR__CLUSTER_CIDR__ { pods insecure } </ins> prometheus proxy . /etc/resolv.conf cache 30

Corefile: | .:53 { errors <del> log stdout </del> <ins> log </ins> health <del> kubernetes {{ pillar['dns_domain'] }} {{ pillar['service_cluster_ip_range'] }} </del> <ins> kubernetes {{ pillar['dns_domain'] }} {{ pillar['service_cluster_ip_range'] }} { pods insecure } </ins> prometheus proxy . /etc/resolv.conf cache 30

Corefile: | .:53 { errors <del> log stdout </del> <ins> log </ins> health <del> kubernetes $DNS_DOMAIN $SERVICE_CLUSTER_IP_RANGE </del> <ins> kubernetes $DNS_DOMAIN $SERVICE_CLUSTER_IP_RANGE { pods insecure } </ins> prometheus proxy . /etc/resolv.conf cache 30

operator: "Exists" containers: - name: coredns <del> image: coredns/coredns:0.9.10 </del> <ins> image: coredns/coredns:1.0.1 </ins> imagePullPolicy: IfNotPresent resources: limits:

Corefile: | .:53 { errors <del> log stdout </del> <ins> log </ins> health kubernetes {{ .DNSDomain }} {{ .ServiceCIDR }} { pods insecure

kubeDNSProbeSRV = "SRV" kubeDNSProbeA   = "A" <del> coreDNSVersion  = "1.0.0" </del> <ins> coreDNSVersion  = "1.0.1" </ins> ) // GetDNSVersion returns the right kube-dns version for a specific k8s version func GetDNSVersion(kubeVersion *version.Version, dns string) string { // v1.8.0+ uses kube-dns 1.14.5 // v1.9.0+ uses kube-dns 1.14.7 <del> // v1.9.0+ uses CoreDNS  1.0.0 </del> <ins> // v1.9.0+ uses CoreDNS  1.0.1 </ins> // In the future when the version is bumped at HEAD; add conditional logic to return the right versions // Also, the version might be bumped for different k8s releases on the same branch