Skip to content

Rancher

Rancher GPLv3 license

k3s

all nodes
#!/usr/bin/env bash

# check root
if [ "$EUID" -ne 0 ];then
  echo -e "[+] Please, run $0 as root"
  exit -1
fi

sed -i '/::\|The following lines are desirable for IPv6 capable hosts/d' /etc/hosts

# Install packets
apt-get update -qq >/dev/null && apt upgrade -y
apt install -y nano htop sudo curl net-tools open-iscsi nfs-common jq gnupg2 lsb-release git apt-transport-https ca-certificates

# nano
tee /root/.nanorc <<EOF
set constantshow
EOF

# Disable Swap
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
swapoff -a

# sysctl
tee /etc/sysctl.d/kubernetes.conf <<EOF
net.ipv6.conf.all.disable_ipv6 = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

# Apply & Reboot
apt autoremove -y
sysctl --system
master00
export PRIVATEIP="$(ip a show ens192 | awk '/inet / {print $2}' | cut -d/ -f1)"
export INSTALL_K3S_EXEC="server \
--flannel-iface=ens192 \
--bind-address $PRIVATEIP \
--advertise-address $PRIVATEIP \
--node-ip $PRIVATEIP \
--cluster-init"
curl -sfL https://get.k3s.io | sh -

kubectl get nodes -o wide
cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
tee -a /root/.bashrc > /dev/null <<'EOF'
source <(kubectl completion bash)
EOF
#Helm
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
bash get_helm.sh

#CertManager
export CERTRELEASE=$(curl -s https://api.github.com/repos/cert-manager/cert-manager/releases/latest|grep tag_name|cut -d '"' -f 4|sed 's/v//')
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v${CERTRELEASE}/cert-manager.yaml

#Rancher
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
helm repo update
helm install rancher rancher-stable/rancher --namespace cattle-system --create-namespace --set hostname=rancher.dominio.dorlet.com --set letsEncrypt.ingress.class=traefik

#fix-version
helm pull rancher-stable/rancher
tar -zxvf rancher-<version>.tgz
nano rancher/Chart.yaml
replace kubeVersion: < 1.27.0-0 by kubeVersion: < 1.28.0-0
helm package rancher
helm install rancher ./rancher-2.7.6.tgz --namespace cattle-system --create-namespace --set hostname=rancher.dominio.dorlet.com --set letsEncrypt.ingress.class=traefik
#master
systemctl stop k3s
systemctl disable k3s
bash /usr/local/bin/k3s-uninstall.sh
rm -rf /etc/rancher/
rm -rf /var/lib/rancher/
rm -rf /var/lib/kubelet/
rm -rf /etc/cni/
rm -rf /opt/cni/
rm -rf /var/run/calico/
rm -rf /usr/local/bin/k3s
rm -rf /etc/systemd/system/k3s-agent.service
rm -rf /etc/systemd/system/k3s.service
#reboot