Install KubeEdge
Download keadm (both cloud/edge)
keadm is mainly used for kubeedge management, installation, and usage.
Official release version link: Release KubeEdge v1.9.2 release · kubeedge/kubeedge (github.com).
# Check machine architecture
uname -a
# Download keadm with corresponding version and architecture
wget https://github.com/kubeedge/kubeedge/releases/download/v1.9.2/keadm-v1.9.2-linux-amd64.tar.gz
# Unzip
tar zxvf keadm-v1.9.2-linux-amd64.tar.gz
# Add execution permissions
chmod +x keadm-v1.9.2-linux-amd64/keadm/keadm
# Move to /usr/local/bin/
cp keadm-v1.9.2-linux-amd64/keadm/keadm /usr/local/bin/
Start KubeEdge (cloud)
This step may occur Question 4:10002 already in use.
Reset environment (Skip on first installation)
keadm reset
Start cloudcore
Start cloudcore by keadm.
# Modify the ip address of '--adverse-address'
keadm init --advertise-address=114.212.81.11 --kubeedge-version=1.9.2
# Open forwarding route
kubectl get cm tunnelport -n kubeedge -o yaml
# find '10350' or '10351' in the result
# set CLOUDCOREIPS
export CLOUDCOREIPS=xxx.xxx.xxx.xxx
# set 'dport' as previously 'tunnelport'
iptables -t nat -A OUTPUT -p tcp --dport 10351 -j DNAT --to $CLOUDCOREIPS:10003
cd /etc/kubeedge/
# or download manually from https://github.com/kubeedge/kubeedge/blob/master/build/tools/certgen.sh
wget https://raw.githubusercontent.com/kubeedge/kubeedge/refs/heads/master/build/tools/certgen.sh
bash certgen.sh stream
Configure cloudcore
vim /etc/kubeedge/config/cloudcore.yaml
# modify cloudcore.yaml
modules:
..
cloudStream:
enable: true
streamPort: 10003
..
dynamicController:
enable: true
Restart cloudcore:
sudo systemctl restart cloudcore.service
If restarting cloudcore fails, the solution is as follows:
# Place the generated 'cloudcore.service' under the folder managed by systemctl
cp /etc/kubeedge/cloudcore.service /etc/systemd/system
Use journalctl -u cloudcore.service -xe
to check if cloudcore is running normally and there are no errors reported.
Join KubeEdge cluster (edge)
This step may occur Question 5:edgecore file exists.
If keadm join
fails, you can retry from keadm reset
.
Reset environment (Skip on first installation)
# reset
keadm reset
# When rejoining, if an error was reported that there was a folder, just deleted directly.
rm -rf /etc/kubeedge
# Possible docker container occupancy (usually 'mqtt')
docker ps -a
docker stop mqtt
docker rm mqtt
Start edgecore
To start edgecore, you need to get token on the master node (cloud) first:
keadm gettoken
Execute on the edge:
# Add IP address of the master here. The token here is obtained from the master
keadm join --cloudcore-ipport=114.212.81.11:10000 --kubeedge-version=1.9.2 --token=9e1832528ae701aba2c4f7dfb49183ab2487e874c8090e68c19c95880cd93b50.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTk1NjU4MzF9.1B4su4QwvQy_ZCPs-PIyDT9ixsDozfN1oG4vX59tKDs
This step may occur Question 25:keadm join error on edge nodes.
# Check for logs
journalctl -u edgecore.service -f