X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=blueprints%2Fiotgateway%2Fplaybooks%2Froles%2Fk3s%2Ftasks%2Finstall.yml;fp=blueprints%2Fiotgateway%2Fplaybooks%2Froles%2Fk3s%2Ftasks%2Finstall.yml;h=87de5dd32af30ff9bfc227003ea428dfb3208c73;hb=98019264e44c1fb840c87ba81bc14f2df104f902;hp=0000000000000000000000000000000000000000;hpb=21d76c6999be0e33881c027411500b502139e343;p=eliot.git diff --git a/blueprints/iotgateway/playbooks/roles/k3s/tasks/install.yml b/blueprints/iotgateway/playbooks/roles/k3s/tasks/install.yml new file mode 100644 index 0000000..87de5dd --- /dev/null +++ b/blueprints/iotgateway/playbooks/roles/k3s/tasks/install.yml @@ -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