87de5dd32af30ff9bfc227003ea428dfb3208c73
[eliot.git] / blueprints / iotgateway / playbooks / roles / k3s / tasks / install.yml
1 # Copyright 2020 Huawei Technologies Co., Ltd.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #     http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 ---
16 - name: check whether k3s is already installed
17   shell:
18     cmd: which k3s
19   register: result
20   ignore_errors: yes
21   no_log: True
22
23 - debug:
24     msg: k3s is already present
25   when: result.stdout != ""
26
27 - debug:
28 # yamllint disable rule:line-length
29     msg: Ignore Uninstall Log , k3s not installed continue with Installation
30 # yamllint disable rule:line-length
31   when: result.stdout == ""
32
33 - debug:
34     msg: K3 Installation started on {{ ansible_facts['distribution'] }} MEP Node
35
36 - name: "INSTALL: Disabling firewall for successfull k3s installation on CentOs"
37   shell:
38     cmd: systemctl stop firewalld
39   when: ansible_facts['distribution'] == "CentOS" and result is failed
40
41 - name: "INSTALL: install container-selinux"
42   shell:
43     cmd: yum install -y container-selinux selinux-policy-base
44   when: ansible_facts['distribution'] == "CentOS" and result is failed
45   ignore_errors: true
46
47 - name: "INSTALL: get interface name"
48   shell:
49     cmd: ip a |grep {{ ansible_host }} |awk '{print $NF}'
50   register: ifName
51   when: result is failed
52
53 # yamllint disable rule:line-length
54 - name: "INSTALL: install k3s"
55   shell:
56     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 -
57   when: result is failed
58
59 # yamllint disable rule:line-length
60
61 #- name: "INSTALL: install k3s"
62 # shell:
63 #    cmd: curl -sfL https://get.k3s.io | sh -
64 #  when: result is failed
65
66 - name: "INSTALL: create .kube dir"
67   shell:
68     cmd: mkdir -p $HOME/.kube/
69   when: result is failed
70
71 - name: "INSTALL: copy kubeconfig"
72   shell:
73     cmd: cp /etc/rancher/k3s/k3s.yaml $HOME/.kube/config
74   when: result is failed