為了import自己機器上的k8s叢集,因此我們需要先安裝kubernetes在我們的主機上
# 添加K8s的Repo
sudo su -c "curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -"
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
sudo apt update
# 指定版本並安裝k8s套件
version=1.18.6-00
echo $version
apt-cache show kubectl | grep "Version: $version"
sudo apt install -y kubelet=$version kubectl=$version kubeadm=$version
sudo apt-mark hold kubelet kubeadm kubectl
# Essential Tweaks
cat << EOF | sudo tee /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
sudo free -m
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc
# Init cluster
## For Master Node
sudo kubeadm init --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 --v=6
### Copy Config
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
### Flannel CNI
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
### Waiting until Ready
kubectl cluster-info
#watch -n 1 kubectl get nodes
### Taint(if needed)
kubectl taint nodes --all node-role.kubernetes.io/master-
Rancher 有提供兩種方式進行import K8s 一為import機器上現有的k8s 二為透過RKE (Rancher Kubernetes Engine)透過Docker使用RKE2進行k8s安裝與import 而因官方建議RKE要在不同機器上安裝,因此這邊使用import已經安裝好的K8s
進到home目錄後下方有一個 impot Exsiting
進去之後選generic
名稱設定好之後 就按照上面的指示 選擇中間的script並到想要import的主機上貼上,之後Rancher會在主機上起一個Rancher Agent並啟動API server cattle system等服務進行監控
看到Active就是deploy好了
在安裝時可能遇到的問題
有些人可能沒有多餘的主機可進行部屬因此使用VM進行安裝與測試,若在import的時候deploy時一直卡在waiting API server,可先嘗試看看F5後網頁有沒有卡住 如果出現拒絕連線先看看VM或是你在用的機器CPU與記憶體使用量有沒有過高(<80%是最好的) 如果有就開多一點CPU (Rancher是建議 4核8G 有些服務至少要5核以上)
再重新開機看是否能正常運行