#!/bin/bash
IFS_OLD=${IFS}
IFS=$'\n'
init()
{
  systemctl disable firewalld
  systemctl stop firewalld
  sed -i 's/SELINUX=enforcing/SELINUX=disabled' /etc/selinux/config
  setenforce 0
  ls_path=$(cd $(dirname $0);pwd)
  
}

installk3smaster()
{
  read -p "Please input the k3smaster hostname:" ls_k3smasterhostname
  hostnamectl set-hostname ${ls_k3smasterhostname}
  echo "net.ipv4.ip_forward=1">>/etc/sysctl.conf
  sysctl -p
  swapoff -a
  docker load < ${ls_path}/install/k3s-airgap-images-arm64.tar.gz
  chmod +x ${ls_path}/install/k3s-arm64  && cp ${ls_path}/install/k3s-arm64 /usr/local/bin/k3s
  mkdir -p /var/lib/rancher/k3s/agent/images/ && cp ${ls_path}/install/k3s-airgap-images-arm64.tar.gz /var/lib/rancher/k3s/agent/images/
  cd ${ls_path}/install
  #INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_MIRROR=cn INSTALL_K3S_SKIP_SELINUX_RPM=true INSTALL_K3S_EXEC='--docker' ./k3s-install.sh
  INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_MIRROR=cn INSTALL_K3S_SKIP_SELINUX_RPM=true INSTALL_K3S_EXEC='--docker' ./k3s-install1.sh
  yum install -y nfs-utils
}

installk3snode()
{
  read -p "Please input the k3smaster hostname" ls_k3snodehostname
  hostnamectl set-hostname ${ls_k3snodehostname}
  echo "net.ipv4.ip_forward=1">>/etc/sysctl.conf
  sysctl -p
  swapoff -a
  docker load < ${ls_path}/install/k3s-airgap-images-amd64.tar.gz
  chmod +x ${ls_path}/k3s && cp k3s /usr/local/bin
  mkdir -p /var/lib/rancher/k3s/agent/images/ && cp ${ls_path}/k3s-airgap-images-amd64.tar.gz /var/lib/rancher/k3s/agent/images/
  read -p "Please input the k3smaster ip TOKEN" ls_k3smasterip ls_k3smastertoken
  cd ${ls_path}/install
  INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_MIRROR=cn INSTALL_K3S_SKIP_SELINUX_RPM=true  K3S_URL=https://${ls_k3smasterip}:6443 K3S_TOKEN=${ls_k3smastertoken}   INSTALL_K3S_EXEC='--docker' ./k3s-install.sh
  yum install -y nfs-utils
}

initk3s()
{
  kubectl label node k3smaster1 nfsprovisoner=true

}

init
echo "1.install docker
2.install k3smaster 
3.install k3snode "
read -p "Please input the num:" ls_item
case ${ls_item} in
  1)
    installdocker 
  ;;
  2)
    installk3smaster
  ;;
  3)
    installk3snode
  ;;
  *)
    echo "input error"
  ;;
esac
IFS=${IFS_OLD}
