update troubleshooting guide with CRD links and improved formatting#726
update troubleshooting guide with CRD links and improved formatting#726sachin21212121 wants to merge 5 commits intokubeedge:masterfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
There was a problem hiding this comment.
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
-
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. ↩
There was a problem hiding this comment.
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.
|
|
||
| This page contains a few commonly occurring questions. | ||
| # **Troubleshooting** |
There was a problem hiding this comment.
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.
| 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** |
There was a problem hiding this comment.
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.
| ## **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`: |
There was a problem hiding this comment.
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.
| For v1.21, use the** v1beta1 CRDs** available under `build/crds`: | |
| For v1.21, use the **v1beta1 CRDs** available under `build/crds`: |
| 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. |
There was a problem hiding this comment.
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.| 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/). |
There was a problem hiding this comment.
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.
| 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). |
There was a problem hiding this comment.
There is a missing space between the word 'the' and the markdown link. This will prevent the link from rendering correctly.
| - 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). |
Shelley-BaoYue
left a comment
There was a problem hiding this comment.
Please fix DCO with git commit -s
Shelley-BaoYue
left a comment
There was a problem hiding this comment.
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.
fujitatomoya
left a comment
There was a problem hiding this comment.
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?
This PR updates the KubeEdge troubleshooting guide to improve readability and usability. Changes include: