Skip to content

update troubleshooting guide with CRD links and improved formatting#726

Open
sachin21212121 wants to merge 5 commits intokubeedge:masterfrom
sachin21212121:docs-troubleshooting-update
Open

update troubleshooting guide with CRD links and improved formatting#726
sachin21212121 wants to merge 5 commits intokubeedge:masterfrom
sachin21212121:docs-troubleshooting-update

Conversation

@sachin21212121
Copy link

This PR updates the KubeEdge troubleshooting guide to improve readability and usability. Changes include:

  • Replacing raw GitHub links with links to the GitHub file pages for CRDs and release packages.
  • Updating examples to KubeEdge v1.21.0.
  • Improved Markdown formatting: headings, bold text for key actions, inline code for commands and filenames.
  • Added clear instructions for troubleshooting Pending/Terminating pods, verifying node health, and locating CloudCore/EdgeCore and pod logs.
  • Ensured consistent spacing, code blocks, and link formatting throughout the document.

@kubeedge-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please assign kevin-wangzefeng after the PR has been reviewed.
You can assign the PR to them by writing /assign @kevin-wangzefeng in a comment when ready.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @sachin21212121, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on a comprehensive update to the KubeEdge troubleshooting guide. The primary goal is to make the documentation more accessible, accurate, and user-friendly by refreshing content, updating examples to the latest KubeEdge version, and refining the overall presentation. These changes aim to streamline the troubleshooting process for users encountering common issues.

Highlights

  • Documentation Update: The KubeEdge troubleshooting guide has been significantly updated to improve readability and usability for developers.
  • Link and Version Updates: Raw GitHub links have been replaced with direct links to file pages for CRDs and release packages, and all examples are updated to KubeEdge v1.21.0.
  • Improved Formatting: Markdown formatting has been enhanced with clearer headings, bold text for key actions, inline code for commands, and consistent spacing and code blocks.
  • Expanded Troubleshooting Steps: New, clear instructions have been added for troubleshooting Pending/Terminating pods, verifying node health, and locating CloudCore/EdgeCore and pod logs.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@kubeedge-bot kubeedge-bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Sep 18, 2025
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request significantly improves the troubleshooting guide by updating the examples to a more recent version, improving the structure, and making the instructions clearer. The changes make the document much more user-friendly. I've provided a few suggestions to further enhance formatting consistency and address some minor issues. The most critical point is to restore the frontmatter, which is essential for the documentation site. Other suggestions focus on standardizing headings and restructuring some sections for better readability.

Comment on lines 1 to +2

This page contains a few commonly occurring questions.
# **Troubleshooting**

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The frontmatter for the page title and sidebar position has been removed. This metadata is necessary for the documentation site generator (Docusaurus) to correctly display the page title and position it in the navigation sidebar. Please restore it. I've also corrected a typo in the original title from TroubleShooting to Troubleshooting and simplified the main heading.

Suggested change
This page contains a few commonly occurring questions.
# **Troubleshooting**
---
title: Troubleshooting
sidebar_position: 7
---
# Troubleshooting

This page addresses common issues encountered during the setup and operation of KubeEdge.

## keadm init failed to download release
## **keadm init failed to download release**

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Headings in this document are formatted inconsistently. Some use redundant bolding (## **...**), while others use bolded text (**...**) instead of a proper heading tag (like on lines 48, 99, 111, and 130). For consistency, accessibility, and correct document structure, all main section titles should be level 2 headings like ## Title.

Suggested change
## **keadm init failed to download release**
## keadm init failed to download release

#### **Download the CRD YAMLs**

## Container keeps pending/ terminating
For v1.21, use the** v1beta1 CRDs** available under `build/crds`:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There's a minor formatting issue here. The double asterisks for bolding are misplaced, which can affect rendering. There should be a space between 'the' and the bolded text.

Suggested change
For v1.21, use the** v1beta1 CRDs** available under `build/crds`:
For v1.21, use the **v1beta1 CRDs** available under `build/crds`:

Comment on lines +50 to +97
If your pods remain in a Pending or Terminating state, try the following:

1. If `systemd` was used to start the cloudcore/ edgecore? then use `journalctl --unit <name of the service probably edgecore.service>` to view the logs.
2. 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.
- **Check node health**:

## Where do we find the pod logs
```bash

Connect to the edge node and then either
kubectl get nodes
```
- **Ensure nodes are in a Ready state.**

**Describe the pod**:

```bash
kubectl describe pod <your-pod>
This provides details and related events.

```

**Inspect EdgeCore logs**:

**If using systemd**:

```bash
journalctl --unit edgecore.service -f
```
**If started manually**:

Check the log file or stdout.

**Verify architecture compatibility**:

Ensure the container image matches your edge node architecture.

**Example**: use arm64v8/nginx for Raspberry Pi 4 (arm64) instead of nginx.

**Check podSandboxImage in edgecore.yaml :**


Confirm it points to a valid, compatible image.

**Manually run the container**:

```bash
docker run <your-container-image>
```
**Check disk space**:

Low disk space can prevent image pulls. Free up space if needed.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The troubleshooting steps in this section are structured inconsistently, mixing list items with simple bolded text, which makes the flow difficult to follow. Refactoring this into a clear, numbered list of steps would greatly improve readability and structure. This change also fixes an issue where an explanatory note was incorrectly placed inside a code block.

If your pods remain in a Pending or Terminating state, try the following troubleshooting steps:

1.  **Check node health**
    Run `kubectl get nodes` and ensure all nodes are in a `Ready` state.

2.  **Describe the pod**
    Run `kubectl describe pod <your-pod>` to get details about scheduling and other events.

3.  **Inspect EdgeCore logs**
    - **If using systemd**:
      ```bash
      journalctl --unit edgecore.service -f
      ```
    - **If started manually**:
      Check the log file specified at startup or stdout.

4.  **Verify architecture compatibility**
    Ensure the container image architecture matches your edge node's architecture. For example, use `arm64v8/nginx` for a Raspberry Pi 4 (arm64) instead of the default `nginx` image.

5.  **Check `podSandboxImage` in `edgecore.yaml`**
    Confirm that `podSandboxImage` points to a valid and compatible image for your node's architecture.

6.  **Manually run the container**
    Attempt to run the container image manually on the edge node to isolate potential runtime issues:
    ```bash
    docker run <your-container-image>
    ```

7.  **Check disk space**
    Insufficient disk space can prevent new images from being pulled. Free up space if necessary.

Comment on lines +113 to +128
To access pod logs:

- Connect to the edge node.

- Use one of the following methods:

1) Check the log files under /var/log/pods.

2) Use Docker to view container logs:

```bash
docker logs <container-id>
```
Alternatively, enable the kubectl logs feature:

See [Enable kubectl logs/exec to debug pods on the edge](https://kubeedge.io/docs/advanced/debug/).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The list explaining how to find pod logs has some formatting issues with nested lists, making it slightly confusing. I've restructured it for better clarity.

Suggested change
To access pod logs:
- Connect to the edge node.
- Use one of the following methods:
1) Check the log files under /var/log/pods.
2) Use Docker to view container logs:
```bash
docker logs <container-id>
```
Alternatively, enable the kubectl logs feature:
See [Enable kubectl logs/exec to debug pods on the edge](https://kubeedge.io/docs/advanced/debug/).
To access pod logs, first connect to the edge node, then use one of the following methods:
1. **Check log files directly**:
The logs are located in the `/var/log/pods` directory.
2. **Use Docker to view container logs**:
```bash
docker logs <container-id>
```
Alternatively, you can enable the `kubectl logs` feature to access logs from the cloud side. See [Enable kubectl logs/exec to debug pods on the edge](https://kubeedge.io/docs/advanced/debug/).


- Always replace version numbers (v1.21.0 in this example) with the version you plan to install.

- Official release artifacts and checksums are on the[KubeEdge v1.21.0 release page](https://github.com/kubeedge/kubeedge/releases/tag/v1.21.0).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There is a missing space between the word 'the' and the markdown link. This will prevent the link from rendering correctly.

Suggested change
- Official release artifacts and checksums are on the[KubeEdge v1.21.0 release page](https://github.com/kubeedge/kubeedge/releases/tag/v1.21.0).
- Official release artifacts and checksums are on the [KubeEdge v1.21.0 release page](https://github.com/kubeedge/kubeedge/releases/tag/v1.21.0).

Copy link
Collaborator

@Shelley-BaoYue Shelley-BaoYue left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fix DCO with git commit -s

Copy link
Collaborator

@Shelley-BaoYue Shelley-BaoYue left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can preview the final document effect through this link https://deploy-preview-726--kubeedge.netlify.app/docs/developer/troubleshooting . Please refer to the effect to fix format.

image

Copy link
Contributor

@fujitatomoya fujitatomoya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Improved Markdown formatting: headings, bold text for key actions, inline code for commands and filenames.

i do not think this is the main objective of this repository.
this PR generates some broken changes for documentation site.

@sachin21212121 are you still working on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants