kubeedge / kubeedge

Kubernetes Native Edge Computing Framework (project under CNCF)
https://kubeedge.io
Apache License 2.0
6.52k stars 1.68k forks source link

openWRT arm64 --- -ash: keadm: not found after istallation , the keadm file exists and executable #5617

Open SKD-SKD opened 1 month ago

SKD-SKD commented 1 month ago

openWRT KubeEdge on arm64 - following the install, images from https://github.com/kubeedge/kubeedge/releases

Environment: openWRT arm64 any version of keadm for arm64 (1.17.0 or 1.12.1 tried ) keadm file exists and permissions - executable

root@xxx:~# ./keadm -ash: ./keadm: not found root@xxx:~# keadm -ash: keadm: not found

Shelley-BaoYue commented 4 weeks ago

Sorry, keadm now don't support openWRT, it's part of our feature plan for this year. Welcome to follow or join us.

Shelley-BaoYue commented 4 weeks ago

related issue: https://github.com/kubeedge/kubeedge/issues/5565

SKD-SKD commented 2 weeks ago

i was able to rebuild keadm on UBUNTU with GOARCH=arm64 go build in keadm directory then: scp it to openWRT

ikeadm now runs on the openWRT

docker and dockerD installed on openWRT running and tested - and I can see unix:///var/run/docker.sock

my next issue is here below , please help :

running the ./keadm:

./keadm join --cloudcore-ipport=[192.168.1.205:10000](http://192.168.1.205:10000/) --token=20cb
33490ca5394f217bdb9bf90e417f3ba5330b942ee6759a1e0c6fba7ead53.eyJhbGciOiJIUzI1NiI
sInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTc2MDY5Mjh9.obEGueF7nYmcaK3xVcwbdDE7GLYi7_rx38aH6
xgjXcM --kubeedge-version=v1.12.1 --remote-runtime-endpoint=unix:///var/run/dock
er.sock

output error :


I0605 13:41:55.603089   10395 command.go:925] 1. Check KubeEdge edgecore process status
I0605 13:41:55.614826   10395 command.go:925] 2. Check if the management directory is clean
I0605 13:41:55.614993   10395 join.go:94] 3. Create the necessary directories
W0605 13:41:55.620565   10395 logging.go:59] [core] [Channel #1 SubChannel #2] grpc: addrConn.createTransport failed to connect to {Addr: "/var/run/docker.sock", ServerName: "/var/run/docker.sock", }. Err: connection error: desc = "error reading server preface: http2: frame too large"
Error: edge node join failed: validate service connection: validate CRI v1 image API for endpoint "unix:///var/run/docker.sock": rpc error: code = Unavailable desc = connection error: desc = "error reading server preface: http2: frame too large"

execute keadm command failed:  edge node join failed: validate service connection: validate CRI v1 image API for endpoint "unix:///var/run/docker.sock": rpc error: code = Unavailable desc = connection error: desc = "error reading server preface: http2: frame too large"
root@OpenWrt:~#```
SKD-SKD commented 2 weeks ago

i was able to make progress using keadm release 1.12

and running the join command gets me further :


./keadm join --cloudcore-ipport=[192.168.1.205:10000](http://192.168.1.205:10000/) --token=20cb
33490ca5394f217bdb9bf90e417f3ba5330b942ee6759a1e0c6fba7ead53.eyJhbGciOiJIUzI1NiI
sInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTc2MDY5Mjh9.obEGueF7nYmcaK3xVcwbdDE7GLYi7_rx38aH6
xgjXcM --kubeedge-version=v1.12.1 --remote-runtime-endpoint=unix:///var/run/dock
er.sock --runtimetype=docker
I0606 17:29:48.649559   16615 command.go:845] 1. Check KubeEdge edgecore process status
I0606 17:29:48.661321   16615 command.go:845] 2. Check if the management directory is clean
I0606 17:29:48.661596   16615 join.go:101] 3. Create the necessary directories
I0606 17:29:48.664243   16615 join.go:177] 4. Pull Images
Pulling kubeedge/installation-package:v1.12.1 ...
Pulling kubeedge/pause:3.1 ...
Pulling eclipse-mosquitto:1.6.15 ...
I0606 17:29:48.685911   16615 join.go:177] 5. Copy resources from the image to the management directory

[518026.413795] docker0: port 1(veth179595c) entered blocking state
[518026.419869] docker0: port 1(veth179595c) entered disabled state
[518026.426152] device veth179595c entered promiscuous mode
[518028.160423] eth0: renamed from veth79b19a3
[518028.212539] IPv6: ADDRCONF(NETDEV_CHANGE): veth179595c: link becomes ready
[518028.219836] docker0: port 1(veth179595c) entered blocking state
[518028.225876] docker0: port 1(veth179595c) entered forwarding state
[518036.276499] docker0: port 1(veth179595c) entered disabled state
[518036.282865] veth79b19a3: renamed from eth0
[518036.432069] docker0: port 1(veth179595c) entered disabled state
[518036.439778] device veth179595c left promiscuous mode
[518036.444869] docker0: port 1(veth179595c) entered disabled state
I0606 17:31:00.914047   16615 join.go:177] 6. Start the default mqtt service
I0606 17:31:00.914358   16615 join.go:101] 7. Generate systemd service file
I0606 17:31:00.914872   16615 join.go:101] 8. Generate EdgeCore default configuration
I0606 17:31:00.915013   16615 join.go:240] The configuration does not exist or the parsing fails, and the default configuration is generated
W0606 17:31:00.921546   16615 validation.go:71] NodeIP is empty , use default ip which can connect to cloud.
I0606 17:31:00.944280   16615 join.go:101] 9. Run EdgeCore daemon
I0606 17:31:00.953480   16615 join.go:332]
I0606 17:31:00.953538   16615 join.go:333] KubeEdge edgecore is running, For logs visit: /var/log/kubeedge/edgecore.log

i can not see the log in : /var/log/kubeedge/edgecore.log

please provide help

where is the log? how edgecore can run if openWRT has NO systemD ? what modifications with what parameters will make finishing steps successful?