二进制离线搭建kubeedge 1.10.0
目录
准备文件
自行下载对应的版本文件 kubedge
root@ubuntu:~/# tree
.
├── checksum_kubeedge-v1.10.0-linux-amd64.tar.gz.txt
├── keadm-v1.10.0-linux-amd64.tar.gz
├── kubeedge-1.10.0.tar.gz
├── kubeedge-master.zip
└── kubeedge-v1.10.0-linux-amd64.tar.gz
安装keadm
解压keadm
root@ubuntu:~/ke_install# tar zxvf keadm-v1.10.0-linux-amd64.tar.gz
keadm-v1.10.0-linux-amd64/
keadm-v1.10.0-linux-amd64/version
keadm-v1.10.0-linux-amd64/keadm/
keadm-v1.10.0-linux-amd64/keadm/keadm
root@ubuntu:~/ke_install# cp keadm-v1.10.0-linux-amd64/keadm/keadm /usr/local/bin/
root@ubuntu:~/ke_install# keadm version
version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"3803951602f938d9d90d74957eb0fbc238142101", GitTreeState:"clean", BuildDate:"2022-03-14T02:30:42Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"}
kubeedge初始化
将所属文件准备好,避免keadm远程拉取失败导致报错
mkdir -p /etc/kubeedge
cp checksum_kubeedge-v1.10.0-linux-amd64.tar.gz.txt /etc/kubeedge
cp kubeedge-v1.10.0-linux-amd64.tar.gz /etc/kubeedge
unzip kubeedge-master.zip
cd kubeedge-master/build/
cp tools/*.service /etc/kubeedge/
cp -r crds/ /etc/kubeedge/
#总共4个文件
root@ubuntu:~# ll /etc/kubeedge/
total 55452
drwxr-xr-x 5 root root 4096 Jun 28 08:10 ./
drwxr-xr-x 97 root root 4096 Jun 28 08:03 ../
-rw-r--r-- 1 root root 129 Jun 28 08:01 checksum_kubeedge-v1.10.0-linux-amd64.tar.gz.txt
-rw-r--r-- 1 root root 162 Jun 28 08:06 cloudcore.service
drwxr-xr-x 6 root root 4096 Jun 28 08:07 crds/
-rw-r--r-- 1 root root 56751052 Jun 28 08:02 kubeedge-v1.10.0-linux-amd64.tar.gz
初始化
root@ubuntu:~# keadm init deprecated --kubeedge-version=1.10.0 --advertise-address 192.168.5.64
root@ubuntu:~# ps aux | grep cloudcore
root 29206 0.1 0.5 1352032 44348 pts/0 Sl 08:10 0:00 /usr/local/bin/cloudcore
root 30561 0.0 0.0 14860 1008 pts/0 S+ 08:12 0:00 grep --color=auto cloudcore
#10000和10002端口启动
root@ubuntu:~# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:39499 0.0.0.0:* LISTEN 11718/kubelet
tcp 0 0 192.168.5.64:2379 0.0.0.0:* LISTEN 11302/etcd
tcp 0 0 127.0.0.1:2379 0.0.0.0:* LISTEN 11302/etcd
tcp 0 0 192.168.5.64:2380 0.0.0.0:* LISTEN 11302/etcd
tcp 0 0 127.0.0.1:2381 0.0.0.0:* LISTEN 11302/etcd
tcp 0 0 127.0.0.1:10257 0.0.0.0:* LISTEN 11343/kube-controll
tcp 0 0 127.0.0.1:10259 0.0.0.0:* LISTEN 11314/kube-schedule
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 760/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1305/sshd
tcp 0 0 127.0.0.1:10248 0.0.0.0:* LISTEN 11718/kubelet
tcp 0 0 127.0.0.1:10249 0.0.0.0:* LISTEN 12134/kube-proxy
tcp6 0 0 :::10250 :::* LISTEN 11718/kubelet
tcp6 0 0 :::6443 :::* LISTEN 11286/kube-apiserve
tcp6 0 0 :::10000 :::* LISTEN 29206/cloudcore
tcp6 0 0 :::10256 :::* LISTEN 12134/kube-proxy
tcp6 0 0 :::10002 :::* LISTEN 29206/cloudcore
tcp6 0 0 :::22 :::* LISTEN 1305/sshd
开启cloudStream
cd kubeedge-master/build/tools
cp certgen.sh /etc/kubeedge
export CLOUDCOREIPS="10.196.110.64"
./certgen.sh stream
vi /etc/kubeedge/config/cloudcore.yaml
cloudStream:
enable: true #修改
streamPort: 10003
tlsStreamCAFile: /etc/kubeedge/ca/streamCA.crt
tlsStreamCertFile: /etc/kubeedge/certs/stream.crt
tlsStreamPrivateKeyFile: /etc/kubeedge/certs/stream.key
tlsTunnelCAFile: /etc/kubeedge/ca/rootCA.crt
tlsTunnelCertFile: /etc/kubeedge/certs/server.crt
tlsTunnelPrivateKeyFile: /etc/kubeedge/certs/server.key
tunnelPort: 10004
重启cloudcore
systemctl stop cloudcore
systemctl start cloudcore
netstat -ntpl
#开启了10000 - 10004 端口
tcp6 0 0 :::4443 :::* LISTEN 9418/metrics-server
tcp6 0 0 :::10250 :::* LISTEN 7351/kubelet
tcp6 0 0 :::6443 :::* LISTEN 6915/kube-apiserver
tcp6 0 0 :::111 :::* LISTEN 622/rpcbind
tcp6 0 0 :::10000 :::* LISTEN 25064/cloudcore
tcp6 0 0 :::80 :::* LISTEN 19023/docker-proxy
tcp6 0 0 :::10256 :::* LISTEN 8244/kube-proxy
tcp6 0 0 :::10257 :::* LISTEN 6913/kube-controlle
tcp6 0 0 :::10002 :::* LISTEN 25064/cloudcore
tcp6 0 0 :::10003 :::* LISTEN 25064/cloudcore
tcp6 0 0 :::10259 :::* LISTEN 6900/kube-scheduler
tcp6 0 0 :::10004 :::* LISTEN 25064/cloudcore
ps:如果没有cloudcore服务 请将/etc/kubeedge的service文件移到/etc/systemd/system/目录下面
cp cloudcore.service /etc/systemd/system/service
systemctl stop cloudcore
systemctl start cloudcore
边缘环境部署
vi /etc/hosts
192.168.5.64 master
#从云端复制工具
scp master:/usr/local/bin/keadm /usr/local/bin/keadm
安装Mosquito
apt install gcc g++ make openssl libssl-dev
#自行下载cJSON-master.zip 和 mosquitto-2.0.14.tar.gz
unzip cJSON-master.zip
cd cJSON-master
make && make install
cd
tar xf mosquitto-2.0.14.tar.gz
make && make install
#后台启动Mosquito
mosquitto -d
#1883端口
root@edge01:~/mosquitto-2.0.14# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 779/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1290/sshd
tcp 0 0 127.0.0.1:1883 0.0.0.0:* LISTEN 10406/mosquitto
tcp6 0 0 :::22 :::* LISTEN 1290/sshd
tcp6 0 0 ::1:1883 :::* LISTEN 10406/mosquitto
在云端获取token
root@master:~# keadm gettoken
加入云端
root@edge01:~# keadm join --cloudcore-ipport=192.168.5.64:10000 --edgenode-name=edge01 --kubeedge-version=1.10.0 --cgroupdriver systemd --token=846a6b646cc75ada7505e409cc03a4a6e0717084203359422dbd9d8b8df210ac.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODgwMjYyMTV9.Ykav0oFI5Ux4Q9-83CoNt6aeM4is08IzbuvLX77ljCo
在边缘需要kubeedge/pause:3.1镜像,如果没有这个镜像将无法从云端部署pod到边缘端
在云端检测
root@master:~# kubectl get node