arm64架构安装kubeedge报错:failed to initialize top level QOS containers: root container [kubepods] doesn’t exist
arm64架构使用版本kubeedge1.7.1报错
uname -a
Linux davinci-mini 4.19.95+ #1 SMP Wed Feb 24 17:32:53 CST 2021 aarch64 aarch64 aarch64 GNU/Linux
报错,如下
E1118 12:49:31.723180 21529 edged.go:756] Failed to start container manager, err: failed to initialize top level QOS containers: root container [kubepods] doesn't exist
E1118 12:49:31.723232 21529 edged.go:294] initialize module error: failed to initialize top level QOS containers: root container [kubepods] doesn't exist
https://github.com/kubeedge/kubeedge/issues/3042
GitHub 提的issues别人说修改文件:kubeedge/vendor/k8s.io/kubernetes/pkg/features/kube_features.go
SupportPodPidsLimit=false
SupportNodePidsLimit=false
别人重新编译后可以,我试了不行,如下修改编译
修改和编译
安装go环境
MacBook Linux 树莓派raspberrypi安装Golang环境
下载包: go1.17.3.linux-arm64.tar.gz
vim /etc/profile
export GOROOT=/data/soft/go
export GO_HOME=$GOROOT
export GOPATH=/data/go-beyond
export PATH=$GO_HOME/bin:$PATH
# 启用 Go Modules 功能
export GO111MODULE=on
# 配置 GOPROXY 代理环境变量
export GOPROXY=https://goproxy.io
下载源代码并编译
git clone https://gitee.com/iot-kubeedge/kubeedge-kubeedge.git
cd /data/go-beyond/src/github.com/kubeedge
切换分支tag
git checkout v1.7.1
修改文件的两个配置为false:vendor/k8s.io/kubernetes/pkg/features/kube_features.go
SupportPodPidsLimit=false
SupportNodePidsLimit=false
编译edge core
make all WHAT=edgecore
进入编译后的目录执行
cd _output/local/bin/
./edgecore 运行还是一样报错
切回master分支去修改文件,两个配置为false,在编译执行
git reset --hard
git checkout master
make all WHAT=edgecore
执行一样的报错,和之前1.8.2版本一样的错误: Unit kubepods.slice already exists.
arm64架构安装kubeedge报错:Unit kubepods.slice already exists
最后修改edgecore.yaml配置成功启动
修改配置cgroupsPerQOS: false
vim /etc/kubeedge/config/edgecore.yaml
edged:
cgroupsPerQOS: false
执行
/usr/local/bin/edgecore
systemctl status edgecore
systemctl start edgecore
ps aux|grep edge
mkdir -p /sys/fs/cgroup/cpuset/system.slice/kubelet.service