https://www.linuxtechi.com/install-kubernetes-k8s-on-ubuntu-20-04/
https://www.jianshu.com/p/04f5b9791dc4
1、给虚拟机命名sudo hostnamectl set-hostname "k8s-master"
2、查看主机IPifconfig -a
遇到ifconfig not found
则sudo apt install net-tools
遇到无法定位软件包 net-tools
则sudo apt-get update
3、安装docker
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable docker.service --now
systemctl status docker
docker --version
4、关闭swap等
sudo vim /etc/fstab
会遇到:找不到vim命令
sudo apt-get install vim-gtk
按i
进入编辑模式
注释掉下面这行:
按Esc:wq
退出保存
sudo swapoff -a
sudo vim /etc/sysctl.conf
将下面这行代码取消注释
sudo sysctl -p
5、安装kubectl、kubelet、kubeadm
sudo apt update && sudo apt install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
会遇到找不到curl
sudo apt install curl
sudo vim /etc/apt/sources.list.d/kubernetes.list
在文件中添加下列镜像地址
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
sudo apt update
sudo apt-get install -y kubelet=1.17.3-00 kubeadm=1.17.3-00 kubectl=1.17.3-00
安装之后查看版本
kubelet --version
6、主节点初始化(1-5步主节点和边缘节点都需要操作)
sudo kubeadm init --image-repository=registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --kubernetes-version=v1.17.3
初始化成功后一定要复制保存下面这段话:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
在从节点运行上述复制保存的代码
会遇到文件已经存在
sudo rm -rf 相应的文件名
会遇到端口已经占用
sudo kubeadm reset
kubectl get nodes
# 此时node都是NotReady
7、主节点配置pod
kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml
kubectl get nodes
# 此时node都是Ready
kubectl get pods --all-namesapces
至此,到下图k8s配置完成
8、安装keadm(主节点和边缘节点都得安装)
# 下载压缩包(最好翻墙)
wget https://github.com/kubeedge/kubeedge/releases/download/v1.7.2/keadm-v1.7.2-linux-amd64.tar.gz
# 解压缩
tar -zxvf keadm-v1.7.2-linux-amd64.tar.gz
# 一定要添加环境变量
mv ./keadm /usr/local/bin/
9、主节点安装cloudcore、并获取主节点的token
# 利用keadm init
sudo keadm init --advertise-address=192.168.61.128 --kubeedge-version=1.7.2 --kube-config=/home/node0/.kube/config
# 利用keadm gettoken, 注意config的路径设置
keadm gettoken --kube-config $HOME/.kube/config
10、边缘节点安装edgecore
sudo keadm join --cloudcore-ipport=192.168.61.128:10000 --edgenode-name=k8s-node1 --kubeedge-version=1.7.2 --token=第9步获得得一串序列
11、
root@node-virtual-machine:~# WEBSOCKET_CID=$(docker ps | grep k8s_ws_ws-edge | awk '{print $1}')
root@node-virtual-machine:~# docker exec -it $WEBSOCKET_CID bash
root@ws-edge-5fdb8dd58b-sn2b8:/home/service# ./client --addr ws-svc.default:12348
connecting to ws://ws-svc.default:12348/echo
recv: 2021-11-15 12:26:28.811829533 +0000 UTC m=+1.005864693
recv: 2021-11-15 12:26:29.812444226 +0000 UTC m=+2.006479398
recv: 2021-11-15 12:26:30.812460877 +0000 UTC m=+3.006496037
recv: 2021-11-15 12:26:31.812574111 +0000 UTC m=+4.006609327
recv: 2021-11-15 12:26:32.812228251 +0000 UTC m=+5.006263510
recv: 2021-11-15 12:26:33.812256246 +0000 UTC m=+6.006291407
recv: 2021-11-15 12:26:34.812679064 +0000 UTC m=+7.006714284
recv: 2021-11-15 12:26:35.812742513 +0000 UTC m=+8.006777674
recv: 2021-11-15 12:26:36.812352016 +0000 UTC m=+9.006387275
recv: 2021-11-15 12:26:37.812371091 +0000 UTC m=+10.006406250
recv: 2021-11-15 12:26:38.812145603 +0000 UTC m=+11.006180861
recv: 2021-11-15 12:26:39.812002754 +0000 UTC m=+12.006037913
recv: 2021-11-15 12:26:40.812458166 +0000 UTC m=+13.006493323
recv: 2021-11-15 12:26:41.812541257 +0000 UTC m=+14.006576416
recv: 2021-11-15 12:26:42.812121378 +0000 UTC m=+15.006156570
recv: 2021-11-15 12:26:43.811974779 +0000 UTC m=+16.006009950
recv: 2021-11-15 12:26:44.812085269 +0000 UTC m=+17.006120450
recv: 2021-11-15 12:26:45.812579712 +0000 UTC m=+18.006614883
recv: 2021-11-15 12:26:46.811978821 +0000 UTC m=+19.006014011
^Cinterrupt
read: websocket: close 1000 (normal)