new file: ansible/inventory/gce.ini new file: ansible/inventory/gce.py new file: ansible/master-node-create.yaml new file: ansible/secrets.py new file: ansible/test-inv new file: ansible/test.yaml new file: ansible/work-kube-config.yaml new file: ansible/worker-config.yaml new file: ansible/yum-config-manager.yaml new file: gcp-lb/main.tf new file: gcp-lb/outputs.tf new file: gcp-lb/provider.tf new file: gcp-lb/variables.tf new file: k8s-master/firewall.tf new file: k8s-master/main.tf new file: k8s-master/network.tf new file: k8s-master/outputs.tf new file: k8s-master/provider.tf new file: k8s-master/scripts/get-metadata-gce.sh new file: k8s-master/scripts/id_ecdsa new file: k8s-master/scripts/id_ecdsa.pub new file: k8s-master/scripts/startup.sh new file: k8s-master/variables.tf new file: k8s-workers/firewall.tf new file: k8s-workers/main.tf new file: k8s-workers/outputs.tf new file: k8s-workers/provider.tf new file: k8s-workers/scripts/get-metadata-gce.sh new file: k8s-workers/scripts/id_ecdsa new file: k8s-workers/scripts/id_ecdsa.pub new file: k8s-workers/scripts/startup.sh new file: k8s-workers/variables.tf new file: main.tf new file: provider.tf new file: variables.tf new file: versions.tf Initial commit
56 lines
1.8 KiB
YAML
56 lines
1.8 KiB
YAML
- name: Set up master node
|
|
hosts: masters
|
|
become: true
|
|
tasks:
|
|
- name: Check for admin.conf from kubeadm
|
|
stat: path=/etc/kubernetes/admin.conf
|
|
register: admin_conf
|
|
|
|
- set_fact:
|
|
running: admin_conf.stat.exists
|
|
|
|
- name: Run kubeadm if admin.conf doesn't exist
|
|
command: kubeadm init
|
|
when: admin_conf.stat.exists == false
|
|
|
|
- name: Create kubeadm join command
|
|
shell: kubeadm token create --print-join-command
|
|
register: results
|
|
when: admin_conf.stat.exists == false
|
|
- debug:
|
|
var: results.stdout
|
|
when: admin_conf.stat.exists == false
|
|
- set_fact:
|
|
token: "{{ results.stdout | regex_search(regexp, '\\2') | first }}"
|
|
vars:
|
|
regexp: '([^\s]+\s){4}([^\s]+)'
|
|
when: admin_conf.stat.exists == false
|
|
- debug:
|
|
var: token
|
|
when: admin_conf.stat.exists == false
|
|
- set_fact:
|
|
hash: "{{ results.stdout | regex_search(regexp, '\\2') | first }}"
|
|
vars:
|
|
regexp: '([^\s]+\s){6}([^\s]+)'
|
|
when: admin_conf.stat.exists == false
|
|
- debug:
|
|
var: hash
|
|
when: admin_conf.stat.exists == false
|
|
|
|
- name: Install flannel networking for RPi
|
|
shell: curl -sSL https://rawgit.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml | sed "s/amd64/arm/g" | kubectl --kubeconfig=/etc/kubernetes/admin.conf create -f -
|
|
when:
|
|
- ansible_lsb.id == "Raspbian"
|
|
- admin_conf.stat.exists == false
|
|
|
|
- name: Install flannel networking for x86_64
|
|
shell: curl -sSL https://rawgit.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml | kubectl --kubeconfig=/etc/kubernetes/admin.conf create -f -
|
|
when:
|
|
- ansible_distribution == "Debian"
|
|
- ansible_architecture == "x86_64"
|
|
- admin_conf.stat.exists == false
|
|
|
|
- debug:
|
|
msg: "kubeadm has probably already been run."
|
|
when: admin_conf.stat.exists == true
|