From 667fa134daca1c7264d0abfabfb1ce443a82ccc4 Mon Sep 17 00:00:00 2001 From: adarsh1001 Date: Sun, 22 Jul 2018 02:11:47 +0530 Subject: [PATCH] Add ansible scripts for raspberry pi based kubernetes edge cluster JIRA: CLOVER-71 This issue falls under the "Edge Cloud-Native Cluster" intern project and is a part of both Clover and Edge cloud projects. The detailed description of the project and the instructions for using the scripts are documented in the README. Change-Id: I4fdb98f17ae0c53f918376ad6fb90be8ff0b0a71 Signed-off-by: adarsh1001 --- edge/sample/Network.png | Bin 0 -> 41699 bytes edge/sample/README.md | 54 +++ edge/sample/ansible.cfg | 475 +++++++++++++++++++++ edge/sample/clusterForm.yml | 15 + edge/sample/clusterTear.yml | 5 + edge/sample/hosts | 16 + .../sample/roles/clusterForm_common/tasks/main.yml | 127 ++++++ .../sample/roles/clusterForm_master/tasks/main.yml | 72 ++++ .../roles/clusterForm_slave(s)/tasks/main.yml | 12 + .../sample/roles/clusterTear_common/tasks/main.yml | 21 + 10 files changed, 797 insertions(+) create mode 100644 edge/sample/Network.png create mode 100644 edge/sample/README.md create mode 100644 edge/sample/ansible.cfg create mode 100644 edge/sample/clusterForm.yml create mode 100644 edge/sample/clusterTear.yml create mode 100644 edge/sample/hosts create mode 100644 edge/sample/roles/clusterForm_common/tasks/main.yml create mode 100644 edge/sample/roles/clusterForm_master/tasks/main.yml create mode 100644 edge/sample/roles/clusterForm_slave(s)/tasks/main.yml create mode 100644 edge/sample/roles/clusterTear_common/tasks/main.yml diff --git a/edge/sample/Network.png b/edge/sample/Network.png new file mode 100644 index 0000000000000000000000000000000000000000..18973356caead39b761b585273846054e8db61cc GIT binary patch literal 41699 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 kubelog.txt + +- name: Scraping the join token + shell: cat kubelog.txt | grep 'kubeadm join' > join.sh && sed "s/^[ \t]*//" -i join.sh + args: + warn: false + become: false + +- name: Fetching the joining script + fetch: + src: /home/pi/join.sh + dest: ./ + flat: yes + become: false + +- name: Making a .kube directory in home + file: + path: /home/pi/.kube + state: directory + become: false + +- name: Copying admin config file to .kube directory + copy: + src: /etc/kubernetes/admin.conf + dest: /home/pi/.kube/config + remote_src: yes + +- name: Changing user and group ownership of the config file + shell: chown $(id -u):$(id -g) /home/pi/.kube/config + args: + warn: false + +- name: Installing Flannel + shell: curl -sSL https://rawgit.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml | sed "s/amd64/arm/g" | kubectl create -f - + args: + warn: false + become: false + +- name: Pause a minute for system containers to spin up + pause: + minutes: 1 diff --git a/edge/sample/roles/clusterForm_slave(s)/tasks/main.yml b/edge/sample/roles/clusterForm_slave(s)/tasks/main.yml new file mode 100644 index 0000000..206e86c --- /dev/null +++ b/edge/sample/roles/clusterForm_slave(s)/tasks/main.yml @@ -0,0 +1,12 @@ +# Copyright (c) Authors of Clover +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 + +- name: Resetting kubeadm on slaves + shell: kubeadm reset + +- name: Join the cluster, slaves! + script: join.sh diff --git a/edge/sample/roles/clusterTear_common/tasks/main.yml b/edge/sample/roles/clusterTear_common/tasks/main.yml new file mode 100644 index 0000000..64b1320 --- /dev/null +++ b/edge/sample/roles/clusterTear_common/tasks/main.yml @@ -0,0 +1,21 @@ +# Copyright (c) Authors of Clover +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 + +- name: Resetting kubeadm + shell: kubeadm reset + +- name: Deleting the .kube config directory + file: + path: /home/pi/.kube + state: absent + when: "'master' in group_names" + +- name: Rebooting + shell: sleep 2 && reboot + async: 1 + poll: 0 + ignore_errors: true -- 2.16.6