Ansible playbook added
[eliot.git] / blueprints / iotgateway / playbooks / roles / k3s / tasks / install.yml
diff --git a/blueprints/iotgateway/playbooks/roles/k3s/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/k3s/tasks/install.yml
new file mode 100644 (file)
index 0000000..87de5dd
--- /dev/null
@@ -0,0 +1,74 @@
+# Copyright 2020 Huawei Technologies Co., Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+---
+- name: check whether k3s is already installed
+  shell:
+    cmd: which k3s
+  register: result
+  ignore_errors: yes
+  no_log: True
+
+- debug:
+    msg: k3s is already present
+  when: result.stdout != ""
+
+- debug:
+# yamllint disable rule:line-length
+    msg: Ignore Uninstall Log , k3s not installed continue with Installation
+# yamllint disable rule:line-length
+  when: result.stdout == ""
+
+- debug:
+    msg: K3 Installation started on {{ ansible_facts['distribution'] }} MEP Node
+
+- name: "INSTALL: Disabling firewall for successfull k3s installation on CentOs"
+  shell:
+    cmd: systemctl stop firewalld
+  when: ansible_facts['distribution'] == "CentOS" and result is failed
+
+- name: "INSTALL: install container-selinux"
+  shell:
+    cmd: yum install -y container-selinux selinux-policy-base
+  when: ansible_facts['distribution'] == "CentOS" and result is failed
+  ignore_errors: true
+
+- name: "INSTALL: get interface name"
+  shell:
+    cmd: ip a |grep {{ ansible_host }} |awk '{print $NF}'
+  register: ifName
+  when: result is failed
+
+# yamllint disable rule:line-length
+- name: "INSTALL: install k3s"
+  shell:
+    cmd: curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--node-ip={{ ansible_host }} --node-external-ip={{ ansible_host }} --bind-address={{ ansible_host }} --flannel-iface=eth0 --docker --no-deploy=servicelb --no-deploy=traefik --write-kubeconfig-mode 644 --kube-apiserver-arg="service-node-port-range=30000-36000"" sh -
+  when: result is failed
+
+# yamllint disable rule:line-length
+
+#- name: "INSTALL: install k3s"
+# shell:
+#    cmd: curl -sfL https://get.k3s.io | sh -
+#  when: result is failed
+
+- name: "INSTALL: create .kube dir"
+  shell:
+    cmd: mkdir -p $HOME/.kube/
+  when: result is failed
+
+- name: "INSTALL: copy kubeconfig"
+  shell:
+    cmd: cp /etc/rancher/k3s/k3s.yaml $HOME/.kube/config
+  when: result is failed