diff --git a/cluster/addons/dns-horizontal-autoscaler/dns-horizontal-autoscaler-rbac.yaml b/cluster/addons/dns-horizontal-autoscaler/dns-horizontal-autoscaler-rbac.yaml deleted file mode 100644 index 9aa518aaf61..00000000000 --- a/cluster/addons/dns-horizontal-autoscaler/dns-horizontal-autoscaler-rbac.yaml +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -kind: ServiceAccount -apiVersion: v1 -metadata: - name: kube-dns-autoscaler - namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: Reconcile ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: system:kube-dns-autoscaler - labels: - addonmanager.kubernetes.io/mode: Reconcile -rules: - - apiGroups: [""] - resources: ["nodes"] - verbs: ["list"] - - apiGroups: [""] - resources: ["replicationcontrollers/scale"] - verbs: ["get", "update"] - - apiGroups: ["extensions"] - resources: ["deployments/scale", "replicasets/scale"] - verbs: ["get", "update"] -# Remove the configmaps rule once below issue is fixed: -# kubernetes-incubator/cluster-proportional-autoscaler#16 - - apiGroups: [""] - resources: ["configmaps"] - verbs: ["get", "create"] ---- -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: system:kube-dns-autoscaler - labels: - addonmanager.kubernetes.io/mode: Reconcile -subjects: - - kind: ServiceAccount - name: kube-dns-autoscaler - namespace: kube-system -roleRef: - kind: ClusterRole - name: system:kube-dns-autoscaler - apiGroup: rbac.authorization.k8s.io diff --git a/cluster/addons/dns-horizontal-autoscaler/dns-horizontal-autoscaler.yaml b/cluster/addons/dns-horizontal-autoscaler/dns-horizontal-autoscaler.yaml index c3742493c3c..9e4e38b8760 100644 --- a/cluster/addons/dns-horizontal-autoscaler/dns-horizontal-autoscaler.yaml +++ b/cluster/addons/dns-horizontal-autoscaler/dns-horizontal-autoscaler.yaml @@ -12,6 +12,52 @@ # See the License for the specific language governing permissions and # limitations under the License. +kind: ServiceAccount +apiVersion: v1 +metadata: + name: kube-dns-autoscaler + namespace: kube-system + labels: + addonmanager.kubernetes.io/mode: Reconcile +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: system:kube-dns-autoscaler + labels: + addonmanager.kubernetes.io/mode: Reconcile +rules: + - apiGroups: [""] + resources: ["nodes"] + verbs: ["list"] + - apiGroups: [""] + resources: ["replicationcontrollers/scale"] + verbs: ["get", "update"] + - apiGroups: ["extensions"] + resources: ["deployments/scale", "replicasets/scale"] + verbs: ["get", "update"] +# Remove the configmaps rule once below issue is fixed: +# kubernetes-incubator/cluster-proportional-autoscaler#16 + - apiGroups: [""] + resources: ["configmaps"] + verbs: ["get", "create"] +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: system:kube-dns-autoscaler + labels: + addonmanager.kubernetes.io/mode: Reconcile +subjects: + - kind: ServiceAccount + name: kube-dns-autoscaler + namespace: kube-system +roleRef: + kind: ClusterRole + name: system:kube-dns-autoscaler + apiGroup: rbac.authorization.k8s.io + +--- apiVersion: extensions/v1beta1 kind: Deployment metadata: @@ -40,7 +86,7 @@ spec: - /cluster-proportional-autoscaler - --namespace=kube-system - --configmap=kube-dns-autoscaler - # Should keep target in sync with cluster/addons/dns/kubedns-controller.yaml.base + # Should keep target in sync with cluster/addons/dns/kube-dns.yaml.base - --target=Deployment/kube-dns # When cluster is using large nodes(with more cores), "coresPerReplica" should dominate. # If using small nodes, "nodesPerReplica" should dominate. diff --git a/cluster/addons/dns/Makefile b/cluster/addons/dns/Makefile index f065dc5fb09..50419ff3247 100644 --- a/cluster/addons/dns/Makefile +++ b/cluster/addons/dns/Makefile @@ -29,6 +29,6 @@ all: transform %.sed: %.base sed -f transforms2sed.sed $< | sed s/__SOURCE_FILENAME__/$ $@ -transform: kubedns-controller.yaml.in kubedns-svc.yaml.in kubedns-controller.yaml.sed kubedns-svc.yaml.sed +transform: kube-dns.yaml.in kube-dns.yaml.sed .PHONY: transform diff --git a/cluster/addons/dns/README.md b/cluster/addons/dns/README.md index 3ac63419d79..64cecaa72a9 100644 --- a/cluster/addons/dns/README.md +++ b/cluster/addons/dns/README.md @@ -23,11 +23,10 @@ will be clobbered, in addition the replicas count for kube-dns Deployment will be reset to 1. See [Cluster add-ons README](../README.md) and [#36411](https://github.com/kubernetes/kubernetes/issues/36411) for reference. -## kube-dns Deployment and Service templates +## kube-dns addon templates This directory contains the base UNDERSCORE templates that can be used to -generate the kubedns-controller.yaml.in and kubedns.controller.yaml.in needed in -Salt format. +generate the kube-dns.yaml.in needed in Salt format. Due to a varied preference in templating language choices, the transform Makefile in this directory should be enhanced to generate all required formats @@ -38,7 +37,7 @@ that supply values for your new parameter. Here is one way you might find those scripts: ``` -cd kubernetes && git grep 'kubedns-controller.yaml' +cd kubernetes && git grep 'kube-dns.yaml' ``` ### Base Template files @@ -47,22 +46,19 @@ These are the authoritative base templates. Run 'make' to generate the Salt and Sed yaml templates from these. ``` -kubedns-controller.yaml.base -kubedns-svc.yaml.base +kube-dns.yaml.base ``` ### Generated Salt files ``` -kubedns-controller.yaml.in -kubedns-svc.yaml.in +kube-dns.yaml.in ``` ### Generated Sed files ``` -kubedns-controller.yaml.sed -kubedns-svc.yaml.sed +kube-dns.yaml.sed ``` [![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/cluster/addons/dns/README.md?pixel)]() diff --git a/cluster/addons/dns/kubedns-controller.yaml.base b/cluster/addons/dns/kube-dns.yaml.base similarity index 87% rename from cluster/addons/dns/kubedns-controller.yaml.base rename to cluster/addons/dns/kube-dns.yaml.base index d11b5cb85cc..e25ad51de97 100644 --- a/cluster/addons/dns/kubedns-controller.yaml.base +++ b/cluster/addons/dns/kube-dns.yaml.base @@ -17,6 +17,45 @@ # __MACHINE_GENERATED_WARNING__ +apiVersion: v1 +kind: Service +metadata: + name: kube-dns + namespace: kube-system + labels: + k8s-app: kube-dns + kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile + kubernetes.io/name: "KubeDNS" +spec: + selector: + k8s-app: kube-dns + clusterIP: __PILLAR__DNS__SERVER__ + ports: + - name: dns + port: 53 + protocol: UDP + - name: dns-tcp + port: 53 + protocol: TCP +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: kube-dns + namespace: kube-system + labels: + kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: kube-dns + namespace: kube-system + labels: + addonmanager.kubernetes.io/mode: EnsureExists +--- apiVersion: extensions/v1beta1 kind: Deployment metadata: diff --git a/cluster/addons/dns/kubedns-controller.yaml.in b/cluster/addons/dns/kube-dns.yaml.in similarity index 87% rename from cluster/addons/dns/kubedns-controller.yaml.in rename to cluster/addons/dns/kube-dns.yaml.in index 5bf74863b92..c3beaa7b955 100644 --- a/cluster/addons/dns/kubedns-controller.yaml.in +++ b/cluster/addons/dns/kube-dns.yaml.in @@ -15,8 +15,47 @@ # Should keep target in cluster/addons/dns-horizontal-autoscaler/dns-horizontal-autoscaler.yaml # in sync with this file. -# Warning: This is a file generated from the base underscore template file: kubedns-controller.yaml.base +# Warning: This is a file generated from the base underscore template file: kube-dns.yaml.base +apiVersion: v1 +kind: Service +metadata: + name: kube-dns + namespace: kube-system + labels: + k8s-app: kube-dns + kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile + kubernetes.io/name: "KubeDNS" +spec: + selector: + k8s-app: kube-dns + clusterIP: {{ pillar['dns_server'] }} + ports: + - name: dns + port: 53 + protocol: UDP + - name: dns-tcp + port: 53 + protocol: TCP +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: kube-dns + namespace: kube-system + labels: + kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: kube-dns + namespace: kube-system + labels: + addonmanager.kubernetes.io/mode: EnsureExists +--- apiVersion: extensions/v1beta1 kind: Deployment metadata: diff --git a/cluster/addons/dns/kubedns-controller.yaml.sed b/cluster/addons/dns/kube-dns.yaml.sed similarity index 87% rename from cluster/addons/dns/kubedns-controller.yaml.sed rename to cluster/addons/dns/kube-dns.yaml.sed index dc6d2001d73..bc1bf6f057f 100644 --- a/cluster/addons/dns/kubedns-controller.yaml.sed +++ b/cluster/addons/dns/kube-dns.yaml.sed @@ -15,8 +15,47 @@ # Should keep target in cluster/addons/dns-horizontal-autoscaler/dns-horizontal-autoscaler.yaml # in sync with this file. -# Warning: This is a file generated from the base underscore template file: kubedns-controller.yaml.base +# Warning: This is a file generated from the base underscore template file: kube-dns.yaml.base +apiVersion: v1 +kind: Service +metadata: + name: kube-dns + namespace: kube-system + labels: + k8s-app: kube-dns + kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile + kubernetes.io/name: "KubeDNS" +spec: + selector: + k8s-app: kube-dns + clusterIP: $DNS_SERVER_IP + ports: + - name: dns + port: 53 + protocol: UDP + - name: dns-tcp + port: 53 + protocol: TCP +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: kube-dns + namespace: kube-system + labels: + kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: kube-dns + namespace: kube-system + labels: + addonmanager.kubernetes.io/mode: EnsureExists +--- apiVersion: extensions/v1beta1 kind: Deployment metadata: diff --git a/cluster/addons/dns/kubedns-cm.yaml b/cluster/addons/dns/kubedns-cm.yaml deleted file mode 100644 index 057857527a7..00000000000 --- a/cluster/addons/dns/kubedns-cm.yaml +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -apiVersion: v1 -kind: ConfigMap -metadata: - name: kube-dns - namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: EnsureExists diff --git a/cluster/addons/dns/kubedns-sa.yaml b/cluster/addons/dns/kubedns-sa.yaml deleted file mode 100644 index 7455b2e27ef..00000000000 --- a/cluster/addons/dns/kubedns-sa.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: kube-dns - namespace: kube-system - labels: - kubernetes.io/cluster-service: "true" - addonmanager.kubernetes.io/mode: Reconcile diff --git a/cluster/addons/dns/kubedns-svc.yaml.base b/cluster/addons/dns/kubedns-svc.yaml.base deleted file mode 100644 index cdeeedf96cf..00000000000 --- a/cluster/addons/dns/kubedns-svc.yaml.base +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# __MACHINE_GENERATED_WARNING__ - -apiVersion: v1 -kind: Service -metadata: - name: kube-dns - namespace: kube-system - labels: - k8s-app: kube-dns - kubernetes.io/cluster-service: "true" - addonmanager.kubernetes.io/mode: Reconcile - kubernetes.io/name: "KubeDNS" -spec: - selector: - k8s-app: kube-dns - clusterIP: __PILLAR__DNS__SERVER__ - ports: - - name: dns - port: 53 - protocol: UDP - - name: dns-tcp - port: 53 - protocol: TCP diff --git a/cluster/addons/dns/kubedns-svc.yaml.in b/cluster/addons/dns/kubedns-svc.yaml.in deleted file mode 100644 index ed82d6155b5..00000000000 --- a/cluster/addons/dns/kubedns-svc.yaml.in +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Warning: This is a file generated from the base underscore template file: kubedns-svc.yaml.base - -apiVersion: v1 -kind: Service -metadata: - name: kube-dns - namespace: kube-system - labels: - k8s-app: kube-dns - kubernetes.io/cluster-service: "true" - addonmanager.kubernetes.io/mode: Reconcile - kubernetes.io/name: "KubeDNS" -spec: - selector: - k8s-app: kube-dns - clusterIP: {{ pillar['dns_server'] }} - ports: - - name: dns - port: 53 - protocol: UDP - - name: dns-tcp - port: 53 - protocol: TCP diff --git a/cluster/addons/dns/kubedns-svc.yaml.sed b/cluster/addons/dns/kubedns-svc.yaml.sed deleted file mode 100644 index bac6d97f678..00000000000 --- a/cluster/addons/dns/kubedns-svc.yaml.sed +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 2016 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Warning: This is a file generated from the base underscore template file: kubedns-svc.yaml.base - -apiVersion: v1 -kind: Service -metadata: - name: kube-dns - namespace: kube-system - labels: - k8s-app: kube-dns - kubernetes.io/cluster-service: "true" - addonmanager.kubernetes.io/mode: Reconcile - kubernetes.io/name: "KubeDNS" -spec: - selector: - k8s-app: kube-dns - clusterIP: $DNS_SERVER_IP - ports: - - name: dns - port: 53 - protocol: UDP - - name: dns-tcp - port: 53 - protocol: TCP diff --git a/cluster/centos/deployAddons.sh b/cluster/centos/deployAddons.sh index 62eddfc7a41..cc96b44248e 100755 --- a/cluster/centos/deployAddons.sh +++ b/cluster/centos/deployAddons.sh @@ -26,21 +26,19 @@ export KUBE_CONFIG_FILE=${KUBE_CONFIG_FILE:-${KUBE_ROOT}/cluster/centos/config-d function deploy_dns { echo "Deploying DNS on Kubernetes" - sed -e "s/\\\$DNS_DOMAIN/${DNS_DOMAIN}/g" "${KUBE_ROOT}/cluster/addons/dns/kubedns-controller.yaml.sed" > kubedns-controller.yaml - sed -e "s/\\\$DNS_SERVER_IP/${DNS_SERVER_IP}/g" "${KUBE_ROOT}/cluster/addons/dns/kubedns-svc.yaml.sed" > kubedns-svc.yaml + cp "${KUBE_ROOT}/cluster/addons/dns/kube-dns.yaml.sed" kube-dns.yaml + sed -i -e "s/\\\$DNS_DOMAIN/${DNS_DOMAIN}/g" kube-dns.yaml + sed -i -e "s/\\\$DNS_SERVER_IP/${DNS_SERVER_IP}/g" kube-dns.yaml KUBEDNS=`eval "${KUBECTL} get services --namespace=kube-system | grep kube-dns | cat"` if [ ! "$KUBEDNS" ]; then - # use kubectl to create kube-dns deployment and service - ${KUBECTL} --namespace=kube-system create -f kubedns-sa.yaml - ${KUBECTL} --namespace=kube-system create -f kubedns-cm.yaml - ${KUBECTL} --namespace=kube-system create -f kubedns-controller.yaml - ${KUBECTL} --namespace=kube-system create -f kubedns-svc.yaml + # use kubectl to create kube-dns addon + ${KUBECTL} --namespace=kube-system create -f kube-dns.yaml - echo "Kube-dns deployment and service is successfully deployed." + echo "Kube-dns addon is successfully deployed." else - echo "Kube-dns deployment and service is already deployed. Skipping." + echo "Kube-dns addon is already deployed. Skipping." fi echo diff --git a/cluster/gce/container-linux/configure-helper.sh b/cluster/gce/container-linux/configure-helper.sh index 23a40db6268..164b334b1c8 100755 --- a/cluster/gce/container-linux/configure-helper.sh +++ b/cluster/gce/container-linux/configure-helper.sh @@ -1295,13 +1295,11 @@ function start-kube-addons { fi if [[ "${ENABLE_CLUSTER_DNS:-}" == "true" ]]; then setup-addon-manifests "addons" "dns" - local -r dns_controller_file="${dst_dir}/dns/kubedns-controller.yaml" - local -r dns_svc_file="${dst_dir}/dns/kubedns-svc.yaml" - mv "${dst_dir}/dns/kubedns-controller.yaml.in" "${dns_controller_file}" - mv "${dst_dir}/dns/kubedns-svc.yaml.in" "${dns_svc_file}" + local -r kubedns_file="${dst_dir}/dns/kube-dns.yaml" + mv "${dst_dir}/dns/kube-dns.yaml.in" "${kubedns_file}" # Replace the salt configurations with variable values. - sed -i -e "s@{{ *pillar\['dns_domain'\] *}}@${DNS_DOMAIN}@g" "${dns_controller_file}" - sed -i -e "s@{{ *pillar\['dns_server'\] *}}@${DNS_SERVER_IP}@g" "${dns_svc_file}" + sed -i -e "s@{{ *pillar\['dns_domain'\] *}}@${DNS_DOMAIN}@g" "${kubedns_file}" + sed -i -e "s@{{ *pillar\['dns_server'\] *}}@${DNS_SERVER_IP}@g" "${kubedns_file}" if [[ "${ENABLE_DNS_HORIZONTAL_AUTOSCALER:-}" == "true" ]]; then setup-addon-manifests "addons" "dns-horizontal-autoscaler" diff --git a/cluster/gce/gci/configure-helper.sh b/cluster/gce/gci/configure-helper.sh index 6b2adf3469b..2011dd6fee3 100644 --- a/cluster/gce/gci/configure-helper.sh +++ b/cluster/gce/gci/configure-helper.sh @@ -1800,13 +1800,11 @@ function start-kube-addons { fi if [[ "${ENABLE_CLUSTER_DNS:-}" == "true" ]]; then setup-addon-manifests "addons" "dns" - local -r dns_controller_file="${dst_dir}/dns/kubedns-controller.yaml" - local -r dns_svc_file="${dst_dir}/dns/kubedns-svc.yaml" - mv "${dst_dir}/dns/kubedns-controller.yaml.in" "${dns_controller_file}" - mv "${dst_dir}/dns/kubedns-svc.yaml.in" "${dns_svc_file}" + local -r kubedns_file="${dst_dir}/dns/kube-dns.yaml" + mv "${dst_dir}/dns/kube-dns.yaml.in" "${kubedns_file}" # Replace the salt configurations with variable values. - sed -i -e "s@{{ *pillar\['dns_domain'\] *}}@${DNS_DOMAIN}@g" "${dns_controller_file}" - sed -i -e "s@{{ *pillar\['dns_server'\] *}}@${DNS_SERVER_IP}@g" "${dns_svc_file}" + sed -i -e "s@{{ *pillar\['dns_domain'\] *}}@${DNS_DOMAIN}@g" "${kubedns_file}" + sed -i -e "s@{{ *pillar\['dns_server'\] *}}@${DNS_SERVER_IP}@g" "${kubedns_file}" if [[ "${ENABLE_DNS_HORIZONTAL_AUTOSCALER:-}" == "true" ]]; then setup-addon-manifests "addons" "dns-horizontal-autoscaler" diff --git a/cluster/libvirt-coreos/config-default.sh b/cluster/libvirt-coreos/config-default.sh index 96c31f1f8a7..44ba5ce6aac 100644 --- a/cluster/libvirt-coreos/config-default.sh +++ b/cluster/libvirt-coreos/config-default.sh @@ -65,10 +65,7 @@ ENABLE_CLUSTER_REGISTRY="${KUBE_ENABLE_CLUSTER_REGISTRY:-true}" ENABLE_DNS_HORIZONTAL_AUTOSCALER="${KUBE_ENABLE_DNS_HORIZONTAL_AUTOSCALER:-false}" #Generate dns files -sed -f "${KUBE_ROOT}/cluster/addons/dns/transforms2sed.sed" < "${KUBE_ROOT}/cluster/addons/dns/kubedns-controller.yaml.base" | sed -f "${KUBE_ROOT}/cluster/libvirt-coreos/forShellEval.sed" > "${KUBE_ROOT}/cluster/libvirt-coreos/kubedns-controller.yaml" -sed -f "${KUBE_ROOT}/cluster/addons/dns/transforms2sed.sed" < "${KUBE_ROOT}/cluster/addons/dns/kubedns-svc.yaml.base" | sed -f "${KUBE_ROOT}/cluster/libvirt-coreos/forShellEval.sed" > "${KUBE_ROOT}/cluster/libvirt-coreos/kubedns-svc.yaml" -cp "${KUBE_ROOT}/cluster/addons/dns/kubedns-sa.yaml" "${KUBE_ROOT}/cluster/libvirt-coreos/kubedns-sa.yaml" -cp "${KUBE_ROOT}/cluster/addons/dns/kubedns-cm.yaml" "${KUBE_ROOT}/cluster/libvirt-coreos/kubedns-cm.yaml" +sed -f "${KUBE_ROOT}/cluster/addons/dns/transforms2sed.sed" < "${KUBE_ROOT}/cluster/addons/dns/kube-dns.yaml.base" | sed -f "${KUBE_ROOT}/cluster/libvirt-coreos/forShellEval.sed" > "${KUBE_ROOT}/cluster/libvirt-coreos/kube-dns.yaml" #Generate registry files diff --git a/cluster/libvirt-coreos/util.sh b/cluster/libvirt-coreos/util.sh index 042f3da8f9d..d63a247902a 100644 --- a/cluster/libvirt-coreos/util.sh +++ b/cluster/libvirt-coreos/util.sh @@ -217,10 +217,7 @@ function initialize-pool { mkdir -p "$POOL_PATH/kubernetes/addons" if [[ "$ENABLE_CLUSTER_DNS" == "true" ]]; then render-template "$ROOT/namespace.yaml" > "$POOL_PATH/kubernetes/addons/namespace.yaml" - render-template "$ROOT/kubedns-svc.yaml" > "$POOL_PATH/kubernetes/addons/kubedns-svc.yaml" - render-template "$ROOT/kubedns-controller.yaml" > "$POOL_PATH/kubernetes/addons/kubedns-controller.yaml" - render-template "$ROOT/kubedns-sa.yaml" > "$POOL_PATH/kubernetes/addons/kubedns-sa.yaml" - render-template "$ROOT/kubedns-cm.yaml" > "$POOL_PATH/kubernetes/addons/kubedns-cm.yaml" + render-template "$ROOT/kube-dns.yaml" > "$POOL_PATH/kubernetes/addons/kube-dns.yaml" fi virsh pool-refresh $POOL diff --git a/cluster/saltbase/salt/kube-addons/init.sls b/cluster/saltbase/salt/kube-addons/init.sls index ba51e78aab5..d3b86dc4c32 100644 --- a/cluster/saltbase/salt/kube-addons/init.sls +++ b/cluster/saltbase/salt/kube-addons/init.sls @@ -85,37 +85,13 @@ addon-dir-create: {% endif %} {% if pillar.get('enable_cluster_dns', '').lower() == 'true' %} -/etc/kubernetes/addons/dns/kubedns-svc.yaml: +/etc/kubernetes/addons/dns/kube-dns.yaml: file.managed: - - source: salt://kube-addons/dns/kubedns-svc.yaml.in + - source: salt://kube-addons/dns/kube-dns.yaml.in - template: jinja - group: root - dir_mode: 755 - makedirs: True - -/etc/kubernetes/addons/dns/kubedns-controller.yaml: - file.managed: - - source: salt://kube-addons/dns/kubedns-controller.yaml.in - - template: jinja - - group: root - - dir_mode: 755 - - makedirs: True - -/etc/kubernetes/addons/dns/kubedns-sa.yaml: - file.managed: - - source: salt://kube-addons/dns/kubedns-sa.yaml - - user: root - - group: root - - file_mode: 644 - - makedirs: True - -/etc/kubernetes/addons/dns/kubedns-cm.yaml: - file.managed: - - source: salt://kube-addons/dns/kubedns-cm.yaml - - user: root - - group: root - - file_mode: 644 - - makedirs: True {% endif %} {% if pillar.get('enable_dns_horizontal_autoscaler', '').lower() == 'true' diff --git a/hack/local-up-cluster.sh b/hack/local-up-cluster.sh index 6d6133f0455..0301d0037f5 100755 --- a/hack/local-up-cluster.sh +++ b/hack/local-up-cluster.sh @@ -755,18 +755,15 @@ EOF function start_kubedns { if [[ "${ENABLE_CLUSTER_DNS}" = true ]]; then - echo "Creating kube-system namespace" - sed -e "s/{{ pillar\['dns_domain'\] }}/${DNS_DOMAIN}/g" "${KUBE_ROOT}/cluster/addons/dns/kubedns-controller.yaml.in" >| kubedns-deployment.yaml - sed -e "s/{{ pillar\['dns_server'\] }}/${DNS_SERVER_IP}/g" "${KUBE_ROOT}/cluster/addons/dns/kubedns-svc.yaml.in" >| kubedns-svc.yaml + cp "${KUBE_ROOT}/cluster/addons/dns/kube-dns.yaml.in" kube-dns.yaml + sed -i -e "s/{{ pillar\['dns_domain'\] }}/${DNS_DOMAIN}/g" kube-dns.yaml + sed -i -e "s/{{ pillar\['dns_server'\] }}/${DNS_SERVER_IP}/g" kube-dns.yaml # TODO update to dns role once we have one. - # use kubectl to create kubedns deployment and service - ${KUBECTL} --kubeconfig="${CERT_DIR}/admin.kubeconfig" --namespace=kube-system create -f ${KUBE_ROOT}/cluster/addons/dns/kubedns-sa.yaml - ${KUBECTL} --kubeconfig="${CERT_DIR}/admin.kubeconfig" --namespace=kube-system create -f ${KUBE_ROOT}/cluster/addons/dns/kubedns-cm.yaml - ${KUBECTL} --kubeconfig="${CERT_DIR}/admin.kubeconfig" --namespace=kube-system create -f kubedns-deployment.yaml - ${KUBECTL} --kubeconfig="${CERT_DIR}/admin.kubeconfig" --namespace=kube-system create -f kubedns-svc.yaml - echo "Kube-dns deployment and service successfully deployed." - rm kubedns-deployment.yaml kubedns-svc.yaml + # use kubectl to create kubedns addon + ${KUBECTL} --kubeconfig="${CERT_DIR}/admin.kubeconfig" --namespace=kube-system create -f kube-dns.yaml + echo "Kube-dns addon successfully deployed." + rm kube-dns.yaml fi }