
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Kube-dns configmap translation to CoreDNS **What this PR does / why we need it**: Translation of kube-dns ConfigMap (StubDomains and UpstreamNameserver) to equivalent Proxy in CoreDNS. **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: Fixes kubernetes/kubeadm#662 **Special notes for your reviewer**: Currently, the translation is done as follows: Example ConfigMap of kube-dns. ``` apiVersion: v1 data: federations: | {"foo" : "foo.feddomain.com"} stubDomains: | {"abc.com" : ["1.2.3.4"], "my.cluster.local" : ["2.3.4.5"]} upstreamNameservers: | ["8.8.8.8", "8.8.4.4"] kind: ConfigMap metadata: creationTimestamp: 2018-01-22T20:21:56Z name: kube-dns namespace: kube-system ``` CoreDNS Corefile after translation. ``` .:53 { errors health kubernetes cluster.local in-addr.arpa ip6.arpa { upstream 8.8.8.8 8.8.4.4 pods insecure fallthrough in-addr.arpa ip6.arpa } federation cluster.local { foo foo.feddomain.com } prometheus :9153 proxy . 8.8.8.8 8.8.4.4 cache 30 } abc.com:53 { errors cache 30 proxy . 1.2.3.4 } my.cluster.local:53 { errors cache 30 proxy . 2.3.4.5 } ``` **Release note**: ```release-note Kubeadm: CoreDNS supports migration of the kube-dns configuration to CoreDNS configuration when upgrading the service discovery from kube-dns to CoreDNS as part of Beta. ```
69 lines
2.3 KiB
Python
69 lines
2.3 KiB
Python
package(default_visibility = ["//visibility:public"])
|
|
|
|
load(
|
|
"@io_bazel_rules_go//go:def.bzl",
|
|
"go_library",
|
|
"go_test",
|
|
)
|
|
|
|
go_test(
|
|
name = "go_default_test",
|
|
srcs = [
|
|
"dns_test.go",
|
|
"versions_test.go",
|
|
],
|
|
embed = [":go_default_library"],
|
|
deps = [
|
|
"//cmd/kubeadm/app/constants:go_default_library",
|
|
"//cmd/kubeadm/app/util:go_default_library",
|
|
"//pkg/apis/core:go_default_library",
|
|
"//pkg/util/version:go_default_library",
|
|
"//vendor/k8s.io/api/core/v1:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
|
"//vendor/k8s.io/client-go/kubernetes/fake:go_default_library",
|
|
"//vendor/k8s.io/client-go/testing:go_default_library",
|
|
],
|
|
)
|
|
|
|
go_library(
|
|
name = "go_default_library",
|
|
srcs = [
|
|
"dns.go",
|
|
"manifests.go",
|
|
"versions.go",
|
|
],
|
|
importpath = "k8s.io/kubernetes/cmd/kubeadm/app/phases/addons/dns",
|
|
deps = [
|
|
"//cmd/kubeadm/app/apis/kubeadm:go_default_library",
|
|
"//cmd/kubeadm/app/constants:go_default_library",
|
|
"//cmd/kubeadm/app/features:go_default_library",
|
|
"//cmd/kubeadm/app/util:go_default_library",
|
|
"//cmd/kubeadm/app/util/apiclient:go_default_library",
|
|
"//pkg/api/legacyscheme:go_default_library",
|
|
"//pkg/util/version:go_default_library",
|
|
"//vendor/github.com/mholt/caddy/caddyfile:go_default_library",
|
|
"//vendor/k8s.io/api/apps/v1:go_default_library",
|
|
"//vendor/k8s.io/api/core/v1:go_default_library",
|
|
"//vendor/k8s.io/api/rbac/v1:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
|
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
|
|
],
|
|
)
|
|
|
|
filegroup(
|
|
name = "package-srcs",
|
|
srcs = glob(["**"]),
|
|
tags = ["automanaged"],
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
filegroup(
|
|
name = "all-srcs",
|
|
srcs = [":package-srcs"],
|
|
tags = ["automanaged"],
|
|
)
|