Skip to content

docs:add beginner guide to service mesh and update diagrams - #334

Open
devGPP23 wants to merge 1 commit into
kmesh-net:mainfrom
devGPP23:beginner-guide-gpp
Open

docs:add beginner guide to service mesh and update diagrams#334
devGPP23 wants to merge 1 commit into
kmesh-net:mainfrom
devGPP23:beginner-guide-gpp

Conversation

@devGPP23

Copy link
Copy Markdown

Currently, there isn't a beginner-friendly guide explaining the core concepts of service meshes, eBPF, and how Kmesh operates compared to traditional sidecar models. Also, a few of the existing architecture diagrams contain Chinese text, making them difficult for English-speaking users to fully grasp.

As discussed with @LiZhenCheng9527 on Slack, I've put together a blog post to serve as a beginner's guide to Kmesh!

  1. Added a new blog post: "Kmesh: The Ultimate Guide to Service Mesh for Beginners" to clearly explain the evolution of service meshes, the "bouncing problem," and Kmesh's 1-hop architecture.
  2. Regenerated the istio-perf-analysis.png and ebpf-sockmap-pods.png diagrams to be entirely in English.
  3. Linked this new beginner guide in the README.md for better visibility.

Fixes #333

Copilot AI review requested due to automatic review settings July 19, 2026 09:18
@netlify

netlify Bot commented Jul 19, 2026

Copy link
Copy Markdown

Deploy Preview for kmesh-net ready!

Name Link
🔨 Latest commit 82ad715
🔍 Latest deploy log https://app.netlify.com/projects/kmesh-net/deploys/6a5cca50ea4b6e000838c7ea
😎 Deploy Preview https://deploy-preview-334--kmesh-net.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@kmesh-bot

Copy link
Copy Markdown
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign yaozengzeng for approval. For more information see the Kubernetes Code Review Process.

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

@kmesh-bot

Copy link
Copy Markdown
Collaborator

Welcome @devGPP23! It looks like this is your first PR to kmesh-net/website 🎉

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

Copy link
Copy Markdown

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 adds a new beginner-friendly blog post titled "Kmesh: The Ultimate Guide to Service Mesh for Beginners", updates the authors' profiles, and links the post in the README. The review feedback focuses on polishing the blog post by correcting minor grammatical errors and ensuring formatting consistency across list items.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread blog/kmesh-service-mesh-explained/index.md Outdated
Comment thread blog/kmesh-service-mesh-explained/index.md Outdated

*"Who is making sure all of this communication works properly?"*

This growing complexity makes managing your microservices **painful**. Several solutions were proposed for that.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The sentence "Several solutions were proposed for that." can be phrased more naturally using the present perfect tense.

Suggested change
This growing complexity makes managing your microservices **painful**. Several solutions were proposed for that.
This growing complexity makes managing your microservices **painful**. Several solutions have been proposed to address this.


Why was this a breakthrough?

- Order Service in Java, Payment Service in Go? Doesn't matter — the same Envoy proxy handles networking for all of them.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

To maintain consistency with the other items in this list (which all start with a bolded term), we should format this item with a bolded prefix.

Suggested change
- Order Service in Java, Payment Service in Go? Doesn't matter — the same Envoy proxy handles networking for all of them.
- **Language independence:** Order Service in Java, Payment Service in Go? Doesn't matter — the same Envoy proxy handles networking for all of them.


### How Does Kmesh Know Where to Route Traffic?

Kmesh doesn't reinvent any of the control plane logic. If you're already using Istio, defining your traffic rules is exactly the same way. Same YAML files, same routing policies, same canary deployments.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The phrase "defining your traffic rules is exactly the same way" is grammatically awkward. It should be "defining your traffic rules works exactly the same way" or "defining your traffic rules is done in exactly the same way".

Suggested change
Kmesh doesn't reinvent any of the control plane logic. If you're already using Istio, defining your traffic rules is exactly the same way. Same YAML files, same routing policies, same canary deployments.
Kmesh doesn't reinvent any of the control plane logic. If you're already using Istio, defining your traffic rules works exactly the same way. Same YAML files, same routing policies, same canary deployments.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds a new beginner-oriented Kmesh blog post and wires it into the site’s author metadata and main README for discoverability, while also introducing updated English-only diagrams referenced by the post.

Changes:

  • Added a new blog post: “Kmesh: The Ultimate Guide to Service Mesh for Beginners”.
  • Added/updated blog author entries (including devGPP23) in both global and zh i18n author lists.
  • Linked the new guide from README.md.

Reviewed changes

Copilot reviewed 4 out of 21 changed files in this pull request and generated 2 comments.

File Description
README.md Adds a prominent link to the new beginner guide from the repo entrypoint.
i18n/zh/docusaurus-plugin-content-blog/authors.yml Adds the new author entry for the blog (zh i18n metadata).
blog/kmesh-service-mesh-explained/index.md Introduces the new beginner guide content and references updated English diagrams.
blog/authors.yml Updates author metadata (adds devGPP23, updates jayesh9747 avatar URL).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -0,0 +1,338 @@
---
title: "Kmesh: The Ultimate Guide to Service Mesh for Beginners"
summary: "A beginner-friendly guide explaining concept behind service meshes, why traditional meshes are slow, how eBPF works, and how Kmesh uses kernel-native traffic governance to deliver near-zero latency overhead."
Comment on lines +7 to +9
date: 2025-07-19T12:00:00+05:30
last_update:
date: 2025-07-19T12:00:00+05:30
@devGPP23
devGPP23 force-pushed the beginner-guide-gpp branch from 027b6c2 to aaef9c7 Compare July 19, 2026 11:32
Copilot AI review requested due to automatic review settings July 19, 2026 11:39

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 21 changed files in this pull request and generated 4 comments.

Comment on lines +19 to +25
- What problem Kmesh is solving (and why that problem matters)
- How the current solutions work (and why they're slow)
- What Kmesh does differently (and why it's faster)
- How all the pieces fit together


## What is a Service Mesh and Why Does It Exist?

All that bouncing means data gets copied back and forth between **user space** and **kernel space** multiple times. It means extra TCP connections get established. It means more CPU cycles, more memory, and more latency.

According to Istio's own benchmarks, the sidecar proxy adds approximately **2.65 milliseconds** of latency per hop. Suddenly, you're looking at an extra 15-25ms of pure overhead that has nothing to do with your business logic.

![Istio performance benchmark — 2.65ms latency per proxy](images/istio-performance.png)

![Istio latency analysis in Chinese — sidecar overhead breakdown](images/istio-perf-analysis.png)

As the diagram shows, a lightweight component called **kmesh-daemon** runs on each node in your cluster. Its job is:

1. **Listening** to Istio's control plane for routing rules via **xDS** (a standard protocol that Istio uses to push configuration to its data plane) — Envoy and Kmesh too use xDS.
Copilot AI review requested due to automatic review settings July 19, 2026 12:23
@devGPP23
devGPP23 force-pushed the beginner-guide-gpp branch from d493856 to 475ce46 Compare July 19, 2026 12:23

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 21 changed files in this pull request and generated 2 comments.

- What Kmesh does differently (and why it's faster)
- How all the pieces fit together

<!-- truncate-->

Why was this a breakthrough?

- **Language independence:**Order Service in Java, Payment Service in Go? Doesn't matter — the same Envoy proxy handles networking for all of them.
Signed-off-by: devGP7 <gauravpatil232005@gmail.com>
Copilot AI review requested due to automatic review settings July 19, 2026 12:59
@devGPP23
devGPP23 force-pushed the beginner-guide-gpp branch from 398d243 to 82ad715 Compare July 19, 2026 12:59

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 21 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

blog/kmesh-service-mesh-explained/index.md:24

  • The blog excerpt truncation marker is formatted differently from the rest of the blog posts (<!-- truncate -->). With the current <!-- truncate--> (and indentation), Docusaurus may not detect it, causing the full post to appear on the blog list page instead of an excerpt.
   <!-- truncate-->

@devGPP23

Copy link
Copy Markdown
Author

/cc @LiZhenCheng9527
/cc @YaoZengzeng
/cc @yashisrani
/cc @hzxuzhonghu

Please review and give feedback whenever you have chance to review
I have kept blog conversational and also added diagram for better conceptual understanding and I think it will be really helpful for new contributors or enthusiasts

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Docs] Add a beginner's guide to Kmesh & fix Chinese text in some diagrams Body

3 participants