From eba63d86cde08b7f42388d554218f65c27658d2e Mon Sep 17 00:00:00 2001 From: Sandeep Rajan Date: Thu, 21 Sep 2017 10:28:45 -0400 Subject: [PATCH 1/3] adding coredns as an addon --- cmd/minikube/cmd/config/config.go | 6 ++ .../addons/coredns/coreDNS-clusterrole.yaml | 18 ++++++ deploy/addons/coredns/coreDNS-configmap.yaml | 18 ++++++ deploy/addons/coredns/coreDNS-controller.yaml | 58 +++++++++++++++++++ deploy/addons/coredns/coreDNS-crbinding.yaml | 17 ++++++ deploy/addons/coredns/coreDNS-sa.yaml | 7 +++ deploy/addons/coredns/coreDNS-svc.yaml | 23 ++++++++ pkg/minikube/assets/addons.go | 32 ++++++++++ 8 files changed, 179 insertions(+) create mode 100644 deploy/addons/coredns/coreDNS-clusterrole.yaml create mode 100644 deploy/addons/coredns/coreDNS-configmap.yaml create mode 100644 deploy/addons/coredns/coreDNS-controller.yaml create mode 100644 deploy/addons/coredns/coreDNS-crbinding.yaml create mode 100644 deploy/addons/coredns/coreDNS-sa.yaml create mode 100644 deploy/addons/coredns/coreDNS-svc.yaml diff --git a/cmd/minikube/cmd/config/config.go b/cmd/minikube/cmd/config/config.go index 9f4e2d78c948..601774e7016b 100644 --- a/cmd/minikube/cmd/config/config.go +++ b/cmd/minikube/cmd/config/config.go @@ -137,6 +137,12 @@ var settings = []Setting{ validations: []setFn{IsValidAddon}, callbacks: []setFn{EnableOrDisableAddon}, }, + { + name: "coredns", + set: SetBool, + validations: []setFn{IsValidAddon}, + callbacks: []setFn{EnableOrDisableAddon}, + }, { name: "kube-dns", set: SetBool, diff --git a/deploy/addons/coredns/coreDNS-clusterrole.yaml b/deploy/addons/coredns/coreDNS-clusterrole.yaml new file mode 100644 index 000000000000..195db3023874 --- /dev/null +++ b/deploy/addons/coredns/coreDNS-clusterrole.yaml @@ -0,0 +1,18 @@ +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRole +metadata: + labels: + kubernetes.io/bootstrapping: rbac-defaults + addonmanager.kubernetes.io/mode: Reconcile + name: system:coredns +rules: +- apiGroups: + - "" + resources: + - endpoints + - services + - pods + - namespaces + verbs: + - list + - watch \ No newline at end of file diff --git a/deploy/addons/coredns/coreDNS-configmap.yaml b/deploy/addons/coredns/coreDNS-configmap.yaml new file mode 100644 index 000000000000..05069f2450f5 --- /dev/null +++ b/deploy/addons/coredns/coreDNS-configmap.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: coredns + namespace: kube-system + labels: + addonmanager.kubernetes.io/mode: EnsureExists +data: + Corefile: | + .:53 { + errors + log stdout + health + kubernetes cluster.local + prometheus + proxy . /etc/resolv.conf + cache 30 + } diff --git a/deploy/addons/coredns/coreDNS-controller.yaml b/deploy/addons/coredns/coreDNS-controller.yaml new file mode 100644 index 000000000000..4d48ce8bc442 --- /dev/null +++ b/deploy/addons/coredns/coreDNS-controller.yaml @@ -0,0 +1,58 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: coredns + namespace: kube-system + labels: + k8s-app: coredns + kubernetes.io/name: "CoreDNS" + addonmanager.kubernetes.io/mode: Reconcile +spec: + replicas: 1 + selector: + matchLabels: + k8s-app: coredns + template: + metadata: + labels: + k8s-app: coredns + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' + scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly", "operator":"Exists"}]' + spec: + serviceAccountName: coredns + containers: + - name: coredns + image: coredns/coredns:latest + imagePullPolicy: Always + args: [ "-conf", "/etc/coredns/Corefile" ] + volumeMounts: + - name: config-volume + mountPath: /etc/coredns + ports: + - containerPort: 53 + name: dns + protocol: UDP + - containerPort: 53 + name: dns-tcp + protocol: TCP + - containerPort: 9153 + name: metrics + protocol: TCP + livenessProbe: + httpGet: + path: /health + port: 8080 + scheme: HTTP + initialDelaySeconds: 60 + timeoutSeconds: 5 + successThreshold: 1 + failureThreshold: 5 + dnsPolicy: Default + volumes: + - name: config-volume + configMap: + name: coredns + items: + - key: Corefile + path: Corefile \ No newline at end of file diff --git a/deploy/addons/coredns/coreDNS-crbinding.yaml b/deploy/addons/coredns/coreDNS-crbinding.yaml new file mode 100644 index 000000000000..db85292c806b --- /dev/null +++ b/deploy/addons/coredns/coreDNS-crbinding.yaml @@ -0,0 +1,17 @@ +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding +metadata: + annotations: + rbac.authorization.kubernetes.io/autoupdate: "true" + labels: + kubernetes.io/bootstrapping: rbac-defaults + addonmanager.kubernetes.io/mode: EnsureExists + name: system:coredns +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: system:coredns +subjects: +- kind: ServiceAccount + name: coredns + namespace: kube-system \ No newline at end of file diff --git a/deploy/addons/coredns/coreDNS-sa.yaml b/deploy/addons/coredns/coreDNS-sa.yaml new file mode 100644 index 000000000000..48208008bb99 --- /dev/null +++ b/deploy/addons/coredns/coreDNS-sa.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: coredns + namespace: kube-system + labels: + addonmanager.kubernetes.io/mode: Reconcile \ No newline at end of file diff --git a/deploy/addons/coredns/coreDNS-svc.yaml b/deploy/addons/coredns/coreDNS-svc.yaml new file mode 100644 index 000000000000..2d88b7ce8ef3 --- /dev/null +++ b/deploy/addons/coredns/coreDNS-svc.yaml @@ -0,0 +1,23 @@ +apiVersion: v1 +kind: Service +metadata: + name: coredns + namespace: kube-system + labels: + k8s-app: coredns + kubernetes.io/name: "CoreDNS" + addonmanager.kubernetes.io/mode: Reconcile +spec: + selector: + k8s-app: coredns + clusterIP: 10.0.0.10 + ports: + - name: dns + port: 53 + protocol: UDP + - name: dns-tcp + port: 53 + protocol: TCP + - name: metrics + port: 9153 + protocol: TCP \ No newline at end of file diff --git a/pkg/minikube/assets/addons.go b/pkg/minikube/assets/addons.go index 496d19838900..b5366b3f7152 100644 --- a/pkg/minikube/assets/addons.go +++ b/pkg/minikube/assets/addons.go @@ -82,6 +82,38 @@ var Addons = map[string]*Addon{ "storageclass.yaml", "0640"), }, true, "default-storageclass"), + "coredns": NewAddon([]*BinDataAsset{ + NewBinDataAsset( + "deploy/addons/coreDNS/coreDNS-controller.yaml", + constants.AddonsPath, + "coreDNS-controller.yaml", + "0640"), + NewBinDataAsset( + "deploy/addons/coreDNS/coreDNS-configmap.yaml", + constants.AddonsPath, + "coreDNS-configmap.yaml", + "0640"), + NewBinDataAsset( + "deploy/addons/coreDNS/coreDNS-svc.yaml", + constants.AddonsPath, + "coreDNS-svc.yaml", + "0640"), + NewBinDataAsset( + "deploy/addons/coreDNS/coreDNS-crbinding.yaml", + constants.AddonsPath, + "coreDNS-crbinding.yaml", + "0640"), + NewBinDataAsset( + "deploy/addons/coreDNS/coreDNS-sa.yaml", + constants.AddonsPath, + "coreDNS-sa.yaml", + "0640"), + NewBinDataAsset( + "deploy/addons/coreDNS/coreDNS-clusterrole.yaml", + constants.AddonsPath, + "coreDNS-clusterrole.yaml", + "0640"), + }, false, "coredns"), "kube-dns": NewAddon([]*BinDataAsset{ NewBinDataAsset( "deploy/addons/kube-dns/kube-dns-controller.yaml", From 06b3e74fb8bc417d926f4313b652f2badeac3cbc Mon Sep 17 00:00:00 2001 From: Sandeep Rajan Date: Thu, 21 Sep 2017 10:47:38 -0400 Subject: [PATCH 2/3] rectified incorrect path --- pkg/minikube/assets/addons.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkg/minikube/assets/addons.go b/pkg/minikube/assets/addons.go index b5366b3f7152..43d5d6d895ae 100644 --- a/pkg/minikube/assets/addons.go +++ b/pkg/minikube/assets/addons.go @@ -84,32 +84,32 @@ var Addons = map[string]*Addon{ }, true, "default-storageclass"), "coredns": NewAddon([]*BinDataAsset{ NewBinDataAsset( - "deploy/addons/coreDNS/coreDNS-controller.yaml", + "deploy/addons/coredns/coreDNS-controller.yaml", constants.AddonsPath, "coreDNS-controller.yaml", "0640"), NewBinDataAsset( - "deploy/addons/coreDNS/coreDNS-configmap.yaml", + "deploy/addons/coredns/coreDNS-configmap.yaml", constants.AddonsPath, "coreDNS-configmap.yaml", "0640"), NewBinDataAsset( - "deploy/addons/coreDNS/coreDNS-svc.yaml", + "deploy/addons/coredns/coreDNS-svc.yaml", constants.AddonsPath, "coreDNS-svc.yaml", "0640"), NewBinDataAsset( - "deploy/addons/coreDNS/coreDNS-crbinding.yaml", + "deploy/addons/coredns/coreDNS-crbinding.yaml", constants.AddonsPath, "coreDNS-crbinding.yaml", "0640"), NewBinDataAsset( - "deploy/addons/coreDNS/coreDNS-sa.yaml", + "deploy/addons/coredns/coreDNS-sa.yaml", constants.AddonsPath, "coreDNS-sa.yaml", "0640"), NewBinDataAsset( - "deploy/addons/coreDNS/coreDNS-clusterrole.yaml", + "deploy/addons/coredns/coreDNS-clusterrole.yaml", constants.AddonsPath, "coreDNS-clusterrole.yaml", "0640"), From 98b7ec62ba75bfbdb91c28b27180d3563cb40a62 Mon Sep 17 00:00:00 2001 From: Sandeep Rajan Date: Thu, 21 Sep 2017 11:19:39 -0400 Subject: [PATCH 3/3] minor fixes and added service CIDR --- deploy/addons/coredns/coreDNS-clusterrole.yaml | 2 +- deploy/addons/coredns/coreDNS-configmap.yaml | 4 ++-- deploy/addons/coredns/coreDNS-controller.yaml | 4 ++-- deploy/addons/coredns/coreDNS-crbinding.yaml | 2 +- deploy/addons/coredns/coreDNS-sa.yaml | 2 +- deploy/addons/coredns/coreDNS-svc.yaml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/deploy/addons/coredns/coreDNS-clusterrole.yaml b/deploy/addons/coredns/coreDNS-clusterrole.yaml index 195db3023874..3a47159e2374 100644 --- a/deploy/addons/coredns/coreDNS-clusterrole.yaml +++ b/deploy/addons/coredns/coreDNS-clusterrole.yaml @@ -15,4 +15,4 @@ rules: - namespaces verbs: - list - - watch \ No newline at end of file + - watch diff --git a/deploy/addons/coredns/coreDNS-configmap.yaml b/deploy/addons/coredns/coreDNS-configmap.yaml index 05069f2450f5..d0975d0bee5c 100644 --- a/deploy/addons/coredns/coreDNS-configmap.yaml +++ b/deploy/addons/coredns/coreDNS-configmap.yaml @@ -9,9 +9,9 @@ data: Corefile: | .:53 { errors - log stdout + log health - kubernetes cluster.local + kubernetes cluster.local 10.0.0.0/24 prometheus proxy . /etc/resolv.conf cache 30 diff --git a/deploy/addons/coredns/coreDNS-controller.yaml b/deploy/addons/coredns/coreDNS-controller.yaml index 4d48ce8bc442..e80f763399bf 100644 --- a/deploy/addons/coredns/coreDNS-controller.yaml +++ b/deploy/addons/coredns/coreDNS-controller.yaml @@ -23,7 +23,7 @@ spec: serviceAccountName: coredns containers: - name: coredns - image: coredns/coredns:latest + image: coredns/coredns:011 imagePullPolicy: Always args: [ "-conf", "/etc/coredns/Corefile" ] volumeMounts: @@ -55,4 +55,4 @@ spec: name: coredns items: - key: Corefile - path: Corefile \ No newline at end of file + path: Corefile diff --git a/deploy/addons/coredns/coreDNS-crbinding.yaml b/deploy/addons/coredns/coreDNS-crbinding.yaml index db85292c806b..c450e6ec01bf 100644 --- a/deploy/addons/coredns/coreDNS-crbinding.yaml +++ b/deploy/addons/coredns/coreDNS-crbinding.yaml @@ -14,4 +14,4 @@ roleRef: subjects: - kind: ServiceAccount name: coredns - namespace: kube-system \ No newline at end of file + namespace: kube-system diff --git a/deploy/addons/coredns/coreDNS-sa.yaml b/deploy/addons/coredns/coreDNS-sa.yaml index 48208008bb99..3b61f44af497 100644 --- a/deploy/addons/coredns/coreDNS-sa.yaml +++ b/deploy/addons/coredns/coreDNS-sa.yaml @@ -4,4 +4,4 @@ metadata: name: coredns namespace: kube-system labels: - addonmanager.kubernetes.io/mode: Reconcile \ No newline at end of file + addonmanager.kubernetes.io/mode: Reconcile diff --git a/deploy/addons/coredns/coreDNS-svc.yaml b/deploy/addons/coredns/coreDNS-svc.yaml index 2d88b7ce8ef3..24bfd266ab81 100644 --- a/deploy/addons/coredns/coreDNS-svc.yaml +++ b/deploy/addons/coredns/coreDNS-svc.yaml @@ -20,4 +20,4 @@ spec: protocol: TCP - name: metrics port: 9153 - protocol: TCP \ No newline at end of file + protocol: TCP