mirror of
https://github.com/notherealmarco/coredns-deployment.git
synced 2025-05-05 12:32:34 +02:00
kubernetes: Reverse zone fall through (#53)
* add cidr default, move to getopts * add ipv6 zone * update readme
This commit is contained in:
parent
29da3093c4
commit
ba02ac313f
3 changed files with 43 additions and 14 deletions
|
@ -21,10 +21,10 @@ You should examine the manifest carefully and make sure it is correct for your p
|
||||||
cluster. Depending on how you have built your cluster and the version you are running,
|
cluster. Depending on how you have built your cluster and the version you are running,
|
||||||
some modifications to the manifest may be needed.
|
some modifications to the manifest may be needed.
|
||||||
|
|
||||||
In the best case scenario, all that's needed to replace Kube-DNS are these two commands (replacing the CIDRs with the service and pod CIDRs in your deployment respectively):
|
In the best case scenario, all that's needed to replace Kube-DNS are these two commands:
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
$ ./deploy.sh 10.3.0.0/12 172.17.0.0/16 | kubectl apply -f -
|
$ ./deploy.sh | kubectl apply -f -
|
||||||
$ kubectl delete --namespace=kube-system deployment kube-dns
|
$ kubectl delete --namespace=kube-system deployment kube-dns
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
|
|
@ -49,9 +49,10 @@ data:
|
||||||
.:53 {
|
.:53 {
|
||||||
errors
|
errors
|
||||||
health
|
health
|
||||||
kubernetes CLUSTER_DOMAIN SERVICE_CIDR POD_CIDR {
|
kubernetes CLUSTER_DOMAIN REVERSE_CIDRS {
|
||||||
pods insecure
|
pods insecure
|
||||||
upstream /etc/resolv.conf
|
upstream /etc/resolv.conf
|
||||||
|
fallthrough in-addr.arpa ip6.arpa
|
||||||
}
|
}
|
||||||
prometheus :9153
|
prometheus :9153
|
||||||
proxy . /etc/resolv.conf
|
proxy . /etc/resolv.conf
|
||||||
|
|
|
@ -2,23 +2,51 @@
|
||||||
|
|
||||||
# Deploys CoreDNS to a cluster currently running Kube-DNS.
|
# Deploys CoreDNS to a cluster currently running Kube-DNS.
|
||||||
|
|
||||||
SERVICE_CIDR=$1
|
show_help () {
|
||||||
POD_CIDR=$2
|
cat << USAGE
|
||||||
CLUSTER_DNS_IP=$3
|
usage: $0 [ -r REVERSE-CIDR ] [ -i DNS-IP ] [ -d CLUSTER-DOMAIN ] [ -t YAML-TEMPLATE ]
|
||||||
CLUSTER_DOMAIN=${4:-cluster.local}
|
|
||||||
YAML_TEMPLATE=${5:-`pwd`/coredns.yaml.sed}
|
|
||||||
|
|
||||||
if [[ -z $SERVICE_CIDR ]]; then
|
-r : Define a reverse zone for the given CIDR. You may specifcy this option more
|
||||||
echo "Usage: $0 SERVICE-CIDR [ POD-CIDR ] [ DNS-IP ] [ CLUSTER-DOMAIN ] [ YAML-TEMPLATE ]"
|
than once to add multiple reverse zones. If no reverse CIDRs are defined,
|
||||||
exit 1
|
then the default is to handle all reverse zones (i.e. in-addr.arpa and ip6.arpa)
|
||||||
|
-i : Specify the cluster DNS IP address. If not specificed, the IP address of
|
||||||
|
the existing "kube-dns" service is used, if present.
|
||||||
|
USAGE
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Simple Defaults
|
||||||
|
CLUSTER_DOMAIN=cluster.local
|
||||||
|
YAML_TEMPLATE=`pwd`/coredns.yaml.sed
|
||||||
|
|
||||||
|
|
||||||
|
# Get Opts
|
||||||
|
while getopts "hr:i:d:t:" opt; do
|
||||||
|
case "$opt" in
|
||||||
|
h) show_help
|
||||||
|
;;
|
||||||
|
r) REVERSE_CIDRS="$REVERSE_CIDRS $OPTARG"
|
||||||
|
;;
|
||||||
|
i) CLUSTER_DNS_IP=$OPTARG
|
||||||
|
;;
|
||||||
|
d) CLUSTER_DOMAIN=$OPTARG
|
||||||
|
;;
|
||||||
|
t) YAML_TEMPLATE=$OPTARG
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# Conditional Defaults
|
||||||
|
if [[ -z $REVERSE_CIDRS ]]; then
|
||||||
|
REVERSE_CIDRS="in-addr.arpa ip6.arpa"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z $CLUSTER_DNS_IP ]]; then
|
if [[ -z $CLUSTER_DNS_IP ]]; then
|
||||||
|
# Default IP to kube-dns IP
|
||||||
CLUSTER_DNS_IP=$(kubectl get service --namespace kube-system kube-dns -o jsonpath="{.spec.clusterIP}")
|
CLUSTER_DNS_IP=$(kubectl get service --namespace kube-system kube-dns -o jsonpath="{.spec.clusterIP}")
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
>&2 echo "Error! The IP address for DNS service couldn't be determined automatically. Please specify the DNS-IP in paramaters."
|
>&2 echo "Error! The IP address for DNS service couldn't be determined automatically. Please specify the DNS-IP with the '-i' option."
|
||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sed -e s/CLUSTER_DNS_IP/$CLUSTER_DNS_IP/g -e s/CLUSTER_DOMAIN/$CLUSTER_DOMAIN/g -e s?SERVICE_CIDR?$SERVICE_CIDR?g -e s?POD_CIDR?$POD_CIDR?g $YAML_TEMPLATE
|
sed -e s/CLUSTER_DNS_IP/$CLUSTER_DNS_IP/g -e s/CLUSTER_DOMAIN/$CLUSTER_DOMAIN/g -e "s?REVERSE_CIDRS?$REVERSE_CIDRS?g" $YAML_TEMPLATE
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue