From a9e4fc59ddc051e0f9e7a7c15b7199ee940d2364 Mon Sep 17 00:00:00 2001 From: Chris Short Date: Sat, 16 Jun 2018 19:48:12 -0400 Subject: [PATCH 1/2] Cleaning Up/Organizing/Adding Functionality - Incorporate changes from #34 - Changing soon to be deprecated Ansible syntaxes - Adding a backup option for /root/.kube/config - Set hostname from inventory - Adding version options to group_vars Signed-off-by: Chris Short --- group_vars/all.yml | 41 +++++++++++++++++++++++++++- inventory | 52 +++--------------------------------- roles/common/tasks/main.yml | 23 ++++++++++++---- roles/master/tasks/main.yml | 6 ++--- roles/workers/tasks/main.yml | 2 +- 5 files changed, 66 insertions(+), 58 deletions(-) diff --git a/group_vars/all.yml b/group_vars/all.yml index 78ee36d..f99db77 100644 --- a/group_vars/all.yml +++ b/group_vars/all.yml @@ -1,2 +1,41 @@ token: udy29x.ugyyk3tumg27atmr -podnet: 10.244.0.0/16 \ No newline at end of file +podnet: 10.244.0.0/16 + +kubernetes_package_version: "1.9.7-00" +# Available versions: +# 1.10.3-00 +# 1.10.2-00 +# 1.10.1-00 +# 1.10.0-00 +# 1.9.8-00 +# 1.9.7-00 +# 1.9.6-00 +# 1.9.5-00 + +kubernetes_version: "v1.9.7" +# Available versions: +# v1.10.3 +# v1.10.2 +# v1.10.1 +# v1.10.1 +# v1.9.8 +# v1.9.7 +# v1.9.6 +# v1.9.5 + +docker_ce_version: "18.04.0~ce~3-0~raspbian" +# Available versions: +# 18.05.0~ce~3-0~raspbian +# 18.04.0~ce~3-0~raspbian +# 18.03.1~ce-0~raspbian +# 18.03.0~ce-0~raspbian +# 18.02.0~ce-0~raspbian +# 18.01.0~ce-0~raspbian + +flannel_version: "v0.10.0" +# v0.10.0 +# v0.9.1 +# v0.9.0 +# v0.8.0 +# v0.7.1 +# v0.7.0 \ No newline at end of file diff --git a/inventory b/inventory index dc2e1ac..7a61b69 100644 --- a/inventory +++ b/inventory @@ -1,50 +1,6 @@ -pik8s000 ansible_host=192.168.86.200 -pik8s001 ansible_host=192.168.86.201 -pik8s002 ansible_host=192.168.86.202 -pik8s003 ansible_host=192.168.86.203 -pik8s004 ansible_host=192.168.86.204 -pik8s005 ansible_host=192.168.86.205 +rak8s000 ansible_host=192.168.86.203 +rak8s001 ansible_host=192.168.86.204 +rak8s002 ansible_host=192.168.86.205 [master] -pik8s000 - -[all:vars] -kubernetes_package_version="1.9.7-00" -# Available versions: -# 1.10.3-00 -# 1.10.2-00 -# 1.10.1-00 -# 1.10.0-00 -# 1.9.8-00 -# 1.9.7-00 -# 1.9.6-00 -# 1.9.5-00 - -kubernetes_version="v1.9.7" -# Available versions: -# v1.10.3 -# v1.10.2 -# v1.10.1 -# v1.10.1 -# v1.9.8 -# v1.9.7 -# v1.9.6 -# v1.9.5 - -docker_ce_version="18.04.0~ce~3-0~raspbian" -# Available versions: -# 18.05.0~ce~3-0~raspbian -# 18.04.0~ce~3-0~raspbian -# 18.03.1~ce-0~raspbian -# 18.03.0~ce-0~raspbian -# 18.02.0~ce-0~raspbian -# 18.01.0~ce-0~raspbian - -flannel_version="v0.10.0" -# v0.10.0 -# v0.9.1 -# v0.9.0 -# v0.8.0 -# v0.7.1 -# v0.7.0 - +rak8s000 \ No newline at end of file diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml index 1384e19..9670e98 100644 --- a/roles/common/tasks/main.yml +++ b/roles/common/tasks/main.yml @@ -1,5 +1,18 @@ --- -# tasks file for common +- name: Ensure hostname set + hostname: name={{ inventory_hostname }} + when: not inventory_hostname is match('(\d{1,3}\.){3}\d{1,3}') + register: hostname + tags: hostname + +- name: Ensure hostname is in /etc/hosts + lineinfile: + dest=/etc/hosts + regexp="^{{ ansible_default_ipv4.address }}.+$" + line="{{ ansible_default_ipv4.address }} {{ ansible_fqdn }} {{ ansible_hostname }}" + register: hostname + tags: hostname + - name: Enabling cgroup options at boot copy: src: cmdline.txt @@ -27,7 +40,7 @@ async: 1 poll: 0 ignore_errors: True - when: cmdline|changed + when: cmdline or hostname is changed tags: - boot - shutdown @@ -37,10 +50,10 @@ args: host: "{{ inventory_hostname }}" port: 22 - delay: 15 - timeout: 90 + delay: 20 + timeout: 120 become: False - when: cmdline|changed + when: cmdline or hostname is changed tags: - boot - shutdown diff --git a/roles/master/tasks/main.yml b/roles/master/tasks/main.yml index edd0861..b0eaab7 100644 --- a/roles/master/tasks/main.yml +++ b/roles/master/tasks/main.yml @@ -4,10 +4,10 @@ shell: kubeadm reset register: kubeadm_reset -- name: "Initialize Master {{ kubernetes_version }}" +- name: "Initialize Master {{ kubernetes_version }}" shell: kubeadm init --apiserver-advertise-address={{ ansible_default_ipv4.address }} --token={{ token }} --kubernetes-version={{ kubernetes_version }} --pod-network-cidr=172.30.0.0/16 register: kubeadm_init - when: kubeadm_reset|succeeded + when: kubeadm_reset is succeeded - name: Create Kubernetes config directory file: @@ -29,7 +29,7 @@ - name: Join Kubernetes Cluster shell: kubeadm join --ignore-preflight-errors=all --token {{ token }} {{ groups['master'][0] }}:6443 --discovery-token-unsafe-skip-ca-verification - when: kubeadm_reset|succeeded + when: kubeadm_reset is succeeded register: kubeadm_join - name: Install Flannel (Networking) diff --git a/roles/workers/tasks/main.yml b/roles/workers/tasks/main.yml index d607cba..8ef8ce9 100644 --- a/roles/workers/tasks/main.yml +++ b/roles/workers/tasks/main.yml @@ -6,7 +6,7 @@ - name: Join Kubernetes Cluster shell: kubeadm join --ignore-preflight-errors=all --token {{ token }} {{ groups['master'][0] }}:6443 --discovery-token-unsafe-skip-ca-verification - when: kubeadm_reset|succeeded + when: kubeadm_reset is succeeded register: kubeadm_join - name: Poke kubelet From 75da3a3d25d5d46a0df52ea7ecdc3f2035ccaf2d Mon Sep 17 00:00:00 2001 From: Chris Short Date: Sat, 16 Jun 2018 19:49:07 -0400 Subject: [PATCH 2/2] Backup Option Signed-off-by: Chris Short --- roles/master/tasks/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/master/tasks/main.yml b/roles/master/tasks/main.yml index b0eaab7..d6ee8f0 100644 --- a/roles/master/tasks/main.yml +++ b/roles/master/tasks/main.yml @@ -25,6 +25,7 @@ group: root mode: 0755 remote_src: yes + backup: yes when: kubeadm_init - name: Join Kubernetes Cluster