2.1 Enable Remote Access to CoreDNS
Casablanca
This installation step is required for Casablanca in order to enable automatic DNS updates on failover.
Setup required to test DnsSwitch functionality
These steps are used to test DNSSwitch functionality within PROM POD
1. Place dnsSwitch.bash on core-dns master under /home/ubuntu
2.Following are the steps to create ssh key for remote core-dns connection
a. As a root user, execute below command on coredns master (make sure to use the key name as coredns.key) :
$ ssh-keygen -t rsa -f coredns.key (hit Enter key for the prompts)
This creates two files: coredns.key and coredns.key.pub
b. verify below command works for root user without any prompts(because the key was added with root user):
ssh -i coredns.key root@<corednsHost>
c. Copy coredns.key and coredns.key.pub files to /dockerdata-nfs/coredns on all Master sites
3. Make sure kubectl works on core-dns master
#kubernetes cluster was installed using ubuntu, hence below does not work
root@core-dns-master:/home/ubuntu# kubectl get pods -n onap
The connection to the server localhost:8080 was refused - did you specify the right host or port?
#copy kube config using root user to /root to make it work
root@core-dns-master:/home/ubuntu# cp /home/ubuntu/.kube/ /root
#verify kubectl works from root user
root@core-dns-master:~# kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-7fd6694686-dnwt7 1/1 Running 2 11d
kube-system coredns-7fd6694686-jrj92 1/1 Running 2 11d
kube-system etcd-core-dns-master 1/1 Running 2 12d
kube-system kube-apiserver-core-dns-master 1/1 Running 10 12d
kube-system kube-controller-manager-core-dns-master 1/1 Running 8 12d
kube-system kube-proxy-j4wlv 1/1 Running 2 12d
kube-system kube-proxy-q74fc 1/1 Running 2 12d
kube-system kube-scheduler-core-dns-master 1/1 Running 7 12d
kube-system tiller-deploy-84f4c8bb78-skvlp 1/1 Running 2 12d
kube-system weave-net-lq4ls 2/2 Running 7 12d
kube-system weave-net-rm6z4 2/2 Running 15 12d
6. Execute sdnc.makeActive script from Site A or Site B to trigger manual failover and DNSSwitch
root@k8s-master:/home/ubuntu# ./sdnc.makeActive
7. You may verify the logs on core-dns master :
root@core-dns-master:~$ ll *.log
-rw-r--r-- 1 root root 12002 May 1 11:28 dnsSwitch.log
root@core-dns-master:~$
root@core-dns-master:~$ cat dnsSwitch.log
Fri Apr 27 09:16:10 EDT 2018 script called from site: 10.147.113.136
Fri Apr 27 09:16:10 EDT 2018 logging current dns entry
Server: 10.96.0.10
Address: 10.96.0.10#53
Name: sdnc.example.com
Address: 10.147.112.139
Fri Apr 27 09:16:10 EDT 2018 editing dns zone
Fri Apr 27 09:16:10 EDT 2018 verify if dns domain address exist in configuration for given app: sdnc
Fri Apr 27 09:16:10 EDT 2018 dns domain address was found
Fri Apr 27 09:16:10 EDT 2018 dns zone file edited
Fri Apr 27 09:16:10 EDT 2018 editing coredns configmap
configmap "coredns" deleted
configmap "coredns" created
Fri Apr 27 09:16:11 EDT 2018 coredns configmap edited
Fri Apr 27 09:16:11 EDT 2018 waiting for dns cache time
Fri Apr 27 09:17:01 EDT 2018 sending refresh signal for coredns configmap
Fri Apr 27 09:17:01 EDT 2018 Completed executing sdnc.dnsswitch on host: core-dns-master