故障排除
This page contains a few commonly occurring questions.
keadm init failed to download release
If you have issue about connection to github, please follow below guide with proxy before do setup, take v1.12.1
as example:
download release pkgs from release page
download crds yamls matches the release version you downloaded, links as below:
put them under
/etc/kubeedge
as below:$ tree -L 3
.
├── crds
│ ├── devices
│ │ ├── devices_v1alpha2_devicemodel.yaml
│ │ └── devices_v1alpha2_device.yaml
│ └── reliablesyncs
│ ├── cluster_objectsync_v1alpha1.yaml
│ └── objectsync_v1alpha1.yaml
└── kubeedge-v1.12.1-linux-amd64.tar.gz
3 directories, 5 files
Then you can do setup without any network issue, keadm
would detect them and not download again(make sure you specify v1.12.1
with option --kubeedge-version v1.12.1
).
Container keeps pending/ terminating
Check the output of
kubectl get nodes
, whether the node is running healthy. Note that nodes in unreachable, offline status cannot complete graceful/soft pod deletion until they come back to normal.Check the output of
kubectl describe pod <your-pod>
, whether the pod is scheduled successfully.Check the
edgecore
logs for any errors.Check the architecture of the node running
edgecore
and make sure that container image you are trying to run is of the same architecture. For example, if you are runningedgecore
on Raspberry Pi 4, which is ofarm64v8
architecture, the nginx image to be executed would bearm64v8/nginx
from the docker hub.Also, check that the
podSandboxImage
is correctly set as defined in Modification in edgecore.yaml.If all of the above is correctly set, login manually to your edge node and run your docker image manually by
docker run <your-container-image>
If the docker container image is not pulled from the docker hub, please check that there is enough space on the edge node.
Where do we find cloudcore/edgecore logs
This depends on the how cloudcore/ edgecore has been executed.
- If
systemd
was used to start the cloudcore/ edgecore? then usejournalctl --unit <name of the service probably edgecore.service>
to view the logs. - If
nohup
was used to start the cloudcore/ edgecore, either a path would have been added where the log is located, Otherwise, if the log file wasn’t provided, the logs would be written to stdout.
Where do we find the pod logs
Connect to the edge node and then either
- use the log file located in
/var/log/pods
or - use commands like
docker logs <container id>
You can also enable kubectl logs
feature refer to this guide.