73 lines
2.1 KiB
YAML
73 lines
2.1 KiB
YAML
---
|
|
- name: pick dnsmasq cluster IP
|
|
set_fact:
|
|
dnsmasq_server: >-
|
|
{%- if skip_dnsmasq|bool -%}{{ skydns_server }}{%- else -%}{{ dns_server }}{%- endif -%}
|
|
|
|
- name: Wait for kubedns to be ready
|
|
shell: "nslookup kubernetes.default.svc.{{ dns_domain }} {{ dnsmasq_server }}"
|
|
register: kubernetes_resolvable
|
|
until: kubernetes_resolvable.rc == 0
|
|
delay: 5
|
|
retries: 5
|
|
changed_when: false
|
|
|
|
- name: Copy network test script
|
|
copy:
|
|
src: test_networking.sh
|
|
dest: "{{ bin_dir }}/test_networking.sh"
|
|
owner: root
|
|
group: root
|
|
mode: 0755
|
|
|
|
- name: Get current list of kube nodes
|
|
command: kubectl get nodes
|
|
register: kubectl_nodes
|
|
delegate_to: "{{groups['kube-node'][0]}}"
|
|
run_once: true
|
|
|
|
- name: Ensure kube-nodes are in list of nodes
|
|
fail:
|
|
msg: "{{inventory_hostname}} is not in kubectl get nodes"
|
|
when: inventory_hostname in groups['kube-node'] and
|
|
inventory_hostname not in kubectl_nodes.stdout
|
|
|
|
- name: Test networking connectivity
|
|
shell: "bash {{ bin_dir }}/test_networking.sh"
|
|
environment:
|
|
KUBEDNS_IP: "{{ skydns_server }}"
|
|
DNSMASQ_IP: "{{ dnsmasq_server }}"
|
|
ADMIN_USER: "{{ ansible_user }}"
|
|
ADMIN_IP: "{{ hostvars[groups['kube-master'][0]]['ip'] | default(hostvars[groups['kube-master'][0]]['ansible_default_ipv4']['address']) }}"
|
|
SLAVE_IPS: "{{ ip }}"
|
|
changed_when: false
|
|
become: no
|
|
|
|
- name: Check netchecker status
|
|
uri: url=http://localhost:31081/api/v1/connectivity_check
|
|
register: netchecker_status
|
|
until: netchecker_status.status == 200
|
|
retries: 6
|
|
delay: 20
|
|
delegate_to: "{{groups['kube-node'][0]}}"
|
|
run_once: true
|
|
become: no
|
|
when: deploy_netchecker|bool | default(false)
|
|
|
|
- name: Copy dashboard definition
|
|
copy:
|
|
src: kubernetes-dashboard.yml
|
|
dest: /etc/kubernetes/kubernetes-dashboard.yml
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
register: dashboard
|
|
delegate_to: "{{groups['kube-master'][0]}}"
|
|
run_once: true
|
|
|
|
- name: Create Kubernetes dashboard
|
|
command: "{{ bin_dir }}/kubectl create -f /etc/kubernetes/kubernetes-dashboard.yml"
|
|
when: dashboard.changed
|
|
delegate_to: "{{groups['kube-master'][0]}}"
|
|
run_once: true
|