Merge kube-dns templates into a single file
This commit is contained in:
		@@ -40,7 +40,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.
 | 
			
		||||
 
 | 
			
		||||
@@ -29,6 +29,6 @@ all: transform
 | 
			
		||||
%.sed: %.base
 | 
			
		||||
	sed -f transforms2sed.sed $<  | sed s/__SOURCE_FILENAME__/$</g > $@
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
[]()
 | 
			
		||||
 
 | 
			
		||||
@@ -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:
 | 
			
		||||
@@ -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:
 | 
			
		||||
@@ -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:
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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"
 | 
			
		||||
 
 | 
			
		||||
@@ -1794,13 +1794,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"
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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'
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user