系統要求:
2台 Ubuntu 16.04+
最低 2核2G
1、安裝docker
2、阿里源 安裝 kubelet kubeadm kubectl
sudo apt-get update
sudo apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
// 因為是復制的人家的命令所以用 root 用戶寫入方便,也可以 sudo vim 編輯
// cat 到 EOF 是寫入文件,復制的時候單行復制,不要有空行。
sudo su
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
// 退出root 用戶
exit
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
kubectl version 可以查看當前k8s的版本,初始化集群的時候需要
https://cloud.tencent.com/developer/article/1353427
3、關閉swap
sudo swapoff -a
sudo mount -n -o remount,rw /
vim /etc/fstab //注釋 swap 那一行
https://blog.csdn.net/csdn_duomaomao/article/details/75142769
4、修改cgroupfs
sudo vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
增加--cgroup-driver=cgroupfs
重啟kubelet
sudo systemctl daemon-reload
sudo systemctl restart kubelet
https://blog.csdn.net/Andriy_dangli/article/details/85062983
5、初始化k8s集群
從某個版本開始 k8s 支持指定 image 源,這里使用的是阿里源—image-repository registry.aliyuncs.com/google_containers,感謝阿里的大佬
kubeadm init —apiserver-advertise-address={master ip} —image-repository registry.aliyuncs.com/google_containers —kubernetes-version {k8s-version} —service-cidr=10.1.0.0/16 —pod-network-cidr=10.244.0.0/16
根據提示輸入命令。
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
6、安裝flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
如果flannel的鏡像下載不了,先把 flannel 鏡像從其他地方搞到手。
從github flannel下載地址 可以下載flannel的docker鏡像,通過docker load -i {文件名} 加載即可,如: docker load -i flanneld-v0.11.0-amd64.docker。
每個節點都需要flannel 的鏡像,所以網絡不行的,建議從github上下載了對應的版本的鏡像后,每個節點都load一下。
7、node加入集群
運行上面拷貝的命令,加入集群,如果token過期使用 kubeadm 創建一個新的token https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/。
8、完成
在master上運行 kubectl get node 即可看到節點已經加入到集群中。
如果命令報錯,admin.conf 文件無權訪問,運行 chmod 666 xx.conf 文件名
最后感謝各位以上鏈接的大佬的分享,加上一個官網 https://kubernetes.io/docs/setup。
