commit
a85454ea75
11 changed files with 42 additions and 9 deletions
11
cluster.yml
11
cluster.yml
|
@ -1,13 +1,19 @@
|
||||||
---
|
---
|
||||||
- hosts: all
|
- hosts: all
|
||||||
gather_facts: true
|
gather_facts: false
|
||||||
|
roles:
|
||||||
|
- bootstrap-os
|
||||||
|
tags:
|
||||||
|
- bootstrap-os
|
||||||
|
|
||||||
- hosts: etcd:!k8s-cluster
|
- hosts: etcd:!k8s-cluster
|
||||||
|
gather_facts: true
|
||||||
roles:
|
roles:
|
||||||
- { role: kubernetes/preinstall, tags: preinstall }
|
- { role: kubernetes/preinstall, tags: preinstall }
|
||||||
- { role: etcd, tags: etcd }
|
- { role: etcd, tags: etcd }
|
||||||
|
|
||||||
- hosts: k8s-cluster
|
- hosts: k8s-cluster
|
||||||
|
gather_facts: true
|
||||||
roles:
|
roles:
|
||||||
- { role: kubernetes/preinstall, tags: preinstall }
|
- { role: kubernetes/preinstall, tags: preinstall }
|
||||||
- { role: etcd, tags: etcd }
|
- { role: etcd, tags: etcd }
|
||||||
|
@ -15,14 +21,17 @@
|
||||||
- { role: network_plugin, tags: network }
|
- { role: network_plugin, tags: network }
|
||||||
|
|
||||||
- hosts: kube-master
|
- hosts: kube-master
|
||||||
|
gather_facts: true
|
||||||
roles:
|
roles:
|
||||||
- { role: kubernetes/preinstall, tags: preinstall }
|
- { role: kubernetes/preinstall, tags: preinstall }
|
||||||
- { role: kubernetes/master, tags: master }
|
- { role: kubernetes/master, tags: master }
|
||||||
|
|
||||||
- hosts: k8s-cluster
|
- hosts: k8s-cluster
|
||||||
|
gather_facts: true
|
||||||
roles:
|
roles:
|
||||||
- { role: dnsmasq, tags: dnsmasq }
|
- { role: dnsmasq, tags: dnsmasq }
|
||||||
|
|
||||||
- hosts: kube-master[0]
|
- hosts: kube-master[0]
|
||||||
|
gather_facts: true
|
||||||
roles:
|
roles:
|
||||||
- {role: kubernetes-apps, tags: apps}
|
- {role: kubernetes-apps, tags: apps}
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# Valid bootstrap options (required): xenial, coreos, none
|
||||||
|
bootstrap_os: none
|
||||||
|
|
||||||
# Directory where the binaries will be installed
|
# Directory where the binaries will be installed
|
||||||
bin_dir: /usr/local/bin
|
bin_dir: /usr/local/bin
|
||||||
|
|
||||||
|
|
|
@ -4,9 +4,10 @@
|
||||||
register: need_bootstrap
|
register: need_bootstrap
|
||||||
ignore_errors: True
|
ignore_errors: True
|
||||||
|
|
||||||
|
|
||||||
- name: Bootstrap | Run bootstrap.sh
|
- name: Bootstrap | Run bootstrap.sh
|
||||||
script: bootstrap.sh
|
script: bootstrap.sh
|
||||||
when: need_bootstrap | failed
|
when: (need_bootstrap | failed)
|
||||||
|
|
||||||
- set_fact:
|
- set_fact:
|
||||||
ansible_python_interpreter: "/opt/bin/python"
|
ansible_python_interpreter: "/opt/bin/python"
|
||||||
|
@ -16,23 +17,23 @@
|
||||||
register: need_pip
|
register: need_pip
|
||||||
ignore_errors: True
|
ignore_errors: True
|
||||||
changed_when: false
|
changed_when: false
|
||||||
when: need_bootstrap | failed
|
when: (need_bootstrap | failed)
|
||||||
|
|
||||||
- name: Bootstrap | Copy get-pip.py
|
- name: Bootstrap | Copy get-pip.py
|
||||||
copy: src=get-pip.py dest=~/get-pip.py
|
copy: src=get-pip.py dest=~/get-pip.py
|
||||||
when: need_pip | failed
|
when: (need_pip | failed)
|
||||||
|
|
||||||
- name: Bootstrap | Install pip
|
- name: Bootstrap | Install pip
|
||||||
shell: "{{ansible_python_interpreter}} ~/get-pip.py"
|
shell: "{{ansible_python_interpreter}} ~/get-pip.py"
|
||||||
when: need_pip | failed
|
when: (need_pip | failed)
|
||||||
|
|
||||||
- name: Bootstrap | Remove get-pip.py
|
- name: Bootstrap | Remove get-pip.py
|
||||||
file: path=~/get-pip.py state=absent
|
file: path=~/get-pip.py state=absent
|
||||||
when: need_pip | failed
|
when: (need_pip | failed)
|
||||||
|
|
||||||
- name: Bootstrap | Install pip launcher
|
- name: Bootstrap | Install pip launcher
|
||||||
copy: src=runner dest=/opt/bin/pip mode=0755
|
copy: src=runner dest=/opt/bin/pip mode=0755
|
||||||
when: need_pip | failed
|
when: (need_pip | failed)
|
||||||
|
|
||||||
- name: Install required python modules
|
- name: Install required python modules
|
||||||
pip:
|
pip:
|
||||||
|
@ -45,4 +46,4 @@
|
||||||
|
|
||||||
- name: Assign inventory name to unconfigured hostnames
|
- name: Assign inventory name to unconfigured hostnames
|
||||||
shell: sh -c "echo \"{{inventory_hostname}}\" > /etc/hostname; hostname \"{{inventory_hostname}}\""
|
shell: sh -c "echo \"{{inventory_hostname}}\" > /etc/hostname; hostname \"{{inventory_hostname}}\""
|
||||||
when: configured_hostname.stdout == 'localhost'
|
when: (configured_hostname.stdout == 'localhost')
|
14
roles/bootstrap-os/tasks/bootstrap-ubuntu.yml
Normal file
14
roles/bootstrap-os/tasks/bootstrap-ubuntu.yml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
# raw: cat /etc/issue.net | grep '{{ bootstrap_versions }}'
|
||||||
|
|
||||||
|
- name: Bootstrap | Check if bootstrap is needed
|
||||||
|
raw: which python
|
||||||
|
register: need_bootstrap
|
||||||
|
ignore_errors: True
|
||||||
|
|
||||||
|
- name: Bootstrap | Install python 2.x
|
||||||
|
raw: DEBIAN_FRONTEND=noninteractive apt-get install -y python-minimal
|
||||||
|
when: need_bootstrap | failed
|
||||||
|
|
||||||
|
- set_fact:
|
||||||
|
ansible_python_interpreter: "/usr/bin/python"
|
6
roles/bootstrap-os/tasks/main.yml
Normal file
6
roles/bootstrap-os/tasks/main.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
- include: bootstrap-ubuntu.yml
|
||||||
|
when: bootstrap_os == "ubuntu"
|
||||||
|
|
||||||
|
- include: bootstrap-coreos.yml
|
||||||
|
when: bootstrap_os == "coreos"
|
|
@ -2,4 +2,4 @@
|
||||||
- hosts: all
|
- hosts: all
|
||||||
gather_facts: False
|
gather_facts: False
|
||||||
roles:
|
roles:
|
||||||
- coreos-bootstrap
|
- ubuntu-bootstrap
|
Loading…
Reference in a new issue