Add ip route workaround for DNS clusterIP
This commit is contained in:
parent
e68d6575cd
commit
4c300a57b5
2 changed files with 23 additions and 0 deletions
|
@ -26,4 +26,6 @@ if [ "$deploy_res" -eq "0" ]; then
|
||||||
ansible-playbook -i $INVENTORY playbooks/kubedns.yaml
|
ansible-playbook -i $INVENTORY playbooks/kubedns.yaml
|
||||||
echo "Setting up kubedashboard..."
|
echo "Setting up kubedashboard..."
|
||||||
ansible-playbook -i $INVENTORY playbooks/kubedashboard.yaml
|
ansible-playbook -i $INVENTORY playbooks/kubedashboard.yaml
|
||||||
|
echo "Setting up ip route work-around for DNS clusterIP availability..."
|
||||||
|
ansible-playbook -i $INVENTORY playbooks/ipro_for_dnsmasq.yaml
|
||||||
fi
|
fi
|
||||||
|
|
21
playbooks/ipro_for_dnsmasq.yaml
Normal file
21
playbooks/ipro_for_dnsmasq.yaml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# FXIME: add persistent routing rule
|
||||||
|
- hosts: kube-master
|
||||||
|
tasks:
|
||||||
|
- name: Get DNS clusterIP
|
||||||
|
shell: kubectl get svc --namespace kube-system dnsmasq --template=\{\{.spec.clusterIP\}\}
|
||||||
|
register: dnsmasq_ip
|
||||||
|
run_once: true
|
||||||
|
- hosts: all
|
||||||
|
tasks:
|
||||||
|
- name: Get local IP
|
||||||
|
shell: "calicoctl status | grep IP: | awk '{print $2}'"
|
||||||
|
register: local_ip
|
||||||
|
- name: Get route
|
||||||
|
shell: ip ro ls | grep "^{{ hostvars[groups['kube-master'][0]]['dnsmasq_ip']['stdout'] }}" || echo ""
|
||||||
|
register: local_route
|
||||||
|
- name: Clean up route
|
||||||
|
shell: ip ro del {{ hostvars[groups['kube-master'][0]]['dnsmasq_ip']['stdout'] }} || true
|
||||||
|
when: local_route.stdout.find('{{ local_ip.stdout }}') == -1
|
||||||
|
- name: Setup route
|
||||||
|
shell: ip ro add {{ hostvars[groups['kube-master'][0]]['dnsmasq_ip']['stdout'] }} via {{ local_ip.stdout }}
|
||||||
|
when: local_route.stdout.find('{{ local_ip.stdout }}') == -1
|
Loading…
Reference in a new issue