Migrate Exploring Kubernetes Services tutorial from Meshery docs#1020
Migrate Exploring Kubernetes Services tutorial from Meshery docs#1020leecalcote wants to merge 3 commits intomasterfrom
Conversation
Adds the Exploring Kubernetes Services with Meshery tutorial under content/en/kanvas/tutorials/kubernetes/. Image paths are rewritten to the kanvas tutorials image convention and aliases are preserved for the legacy /guides/tutorials/... URLs.
There was a problem hiding this comment.
Code Review
This pull request introduces a new Kubernetes tutorial section and a detailed hands-on guide for exploring Kubernetes Services using Meshery Playground and Kanvas. The tutorial covers the creation and management of ClusterIP, NodePort, and LoadBalancer services. The review feedback identifies several minor grammatical and clarity issues, including a redundant phrase in the description, unnecessary articles, missing prepositions, and incorrect hyphenation of 'pop-up'.
| params: | ||
| kind: services | ||
| categories: [Tutorials] | ||
| description: Explore Kubernetes Services using Meshery using Meshery Playground, an interactive live environment, through a series of hands-on exercises. |
There was a problem hiding this comment.
The description contains a redundant phrase "using Meshery using Meshery Playground".
| description: Explore Kubernetes Services using Meshery using Meshery Playground, an interactive live environment, through a series of hands-on exercises. | |
| description: Explore Kubernetes Services using Meshery Playground, an interactive live environment, through a series of hands-on exercises. |
|
|
||
| ### Introduction | ||
|
|
||
| In this tutorial, we'll learn to implement Kubernetes **Services**, the resources responsible for exposing applications inside and outside the cluster. Using Meshery Playground, an interactive live cluster environment, we'll perform hands-on labs to gain practical experience with the Kubernetes Services, without writing any YAML. |
There was a problem hiding this comment.
Minor grammatical improvement: "the Kubernetes Services" can be simplified to "Kubernetes Services" for better flow.
| In this tutorial, we'll learn to implement Kubernetes **Services**, the resources responsible for exposing applications inside and outside the cluster. Using Meshery Playground, an interactive live cluster environment, we'll perform hands-on labs to gain practical experience with the Kubernetes Services, without writing any YAML. | |
| In this tutorial, we'll learn to implement Kubernetes **Services**, the resources responsible for exposing applications inside and outside the cluster. Using Meshery Playground, an interactive live cluster environment, we'll perform hands-on labs to gain practical experience with Kubernetes Services, without writing any YAML. |
| 3. Connect the Service to the Deployment: Click over the service component until green dots appear, click the arrow and select network. Drag to the deployment. This creates a Network link. | ||
|  | ||
|
|
||
| From the Actions Tab, Undeploy the deployment first and then, validate and dry-run the new design, resolve any errors that may arise. Now, deploy the design. A pop up in the bottom right will confirm that the design is successfully configured. |
There was a problem hiding this comment.
The term "pop up" should be hyphenated when used as a noun.
| From the Actions Tab, Undeploy the deployment first and then, validate and dry-run the new design, resolve any errors that may arise. Now, deploy the design. A pop up in the bottom right will confirm that the design is successfully configured. | |
| From the Actions Tab, Undeploy the deployment first and then, validate and dry-run the new design, resolve any errors that may arise. Now, deploy the design. A pop-up in the bottom right will confirm that the design is successfully configured. |
| Now switch to Operator mode, click on any component to view details(like type or selector) about the Service or the Pod. | ||
|  | ||
|
|
||
| Note that this service is mapped NodePort and is accessible on the **Node’s IP address**. |
There was a problem hiding this comment.
"mapped NodePort" is missing a preposition. It should be "mapped to a NodePort" for better readability.
| Note that this service is mapped NodePort and is accessible on the **Node’s IP address**. | |
| Note that this service is mapped to a NodePort and is accessible on the **Node’s IP address**. |
|
🚀 Preview deployment: https://layer5io.github.io/docs/pr-preview/pr-1020/
|
- Remove redundant "using Meshery" from frontmatter description - Drop superfluous article in "the Kubernetes Services" - Hyphenate "pop-up" as a noun - Add missing preposition in "mapped to a NodePort"
There was a problem hiding this comment.
Pull request overview
This PR migrates the “Exploring Kubernetes Services with Meshery” tutorial into the Layer5 Docs Kanvas tutorial section, introducing a new Kubernetes tutorials subsection and adding URL aliases intended to preserve legacy links.
Changes:
- Added a new Kanvas Kubernetes tutorials section index page.
- Added the migrated Kubernetes Services tutorial page (ClusterIP, NodePort, LoadBalancer) with updated paths/aliases.
- Updated screenshot paths to the
/kanvas/tutorials/images/...convention.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 9 comments.
| File | Description |
|---|---|
| content/en/kanvas/tutorials/kubernetes/_index.md | Introduces the Kubernetes subsection under Kanvas tutorials. |
| content/en/kanvas/tutorials/kubernetes/kubernetes-services.md | Adds the migrated Services tutorial content, including aliases and updated image/link references. |
| params: | ||
| kind: services | ||
| categories: [Tutorials] | ||
| description: Explore Kubernetes Services using Meshery Playground, an interactive live environment, through a series of hands-on exercises. |
|
|
||
| In this tutorial, we'll learn to implement Kubernetes **Services**, the resources responsible for exposing applications inside and outside the cluster. Using Meshery Playground, an interactive live cluster environment, we'll perform hands-on labs to gain practical experience with Kubernetes Services, without writing any YAML. | ||
|
|
||
| > **NOTE:** If this is your first time working with Meshery Playground, consider starting with the [Exploring Kubernetes Pods with Meshery Playground](/kanvas/tutorials/kubernetes/kubernetes-pods) tutorial first or [Exploring Kubernetes Deployments with Meshery](/kanvas/tutorials/kubernetes/kubernetes-deployments). |
| - Click **Kanvas** from the left menu to navigate to the [_Kanvas_ design](https://kanvas.new/extension/meshmap) page. | ||
|
|
||
|  | ||
|
|
| - On successful login, you should be at the dashboard. | ||
| - Click **Kanvas** from the left menu to navigate to the [_Kanvas_ design](https://kanvas.new/extension/meshmap) page. | ||
|
|
||
|  |
| ### Introduction | ||
|
|
||
| In this tutorial, we'll learn to implement Kubernetes **Services**, the resources responsible for exposing applications inside and outside the cluster. Using Meshery Playground, an interactive live cluster environment, we'll perform hands-on labs to gain practical experience with Kubernetes Services, without writing any YAML. | ||
|
|
||
| > **NOTE:** If this is your first time working with Meshery Playground, consider starting with the [Exploring Kubernetes Pods with Meshery Playground](/kanvas/tutorials/kubernetes/kubernetes-pods) tutorial first or [Exploring Kubernetes Deployments with Meshery](/kanvas/tutorials/kubernetes/kubernetes-deployments). | ||
|
|
||
|
|
||
| ### Prerequisites | ||
|
|
||
| - Basic understanding of containerization and Kubernetes concepts. | ||
| - Access to the _Meshery Playground_. If you don't have an account, sign up at [Meshery Playground](https://playground.meshery.io/). | ||
|
|
||
| ### Lab Scenario | ||
|
|
||
| Deploy a simple application or a simple Pod and expose it using ClusterIP, NodePort, and LoadBalancer services. Each service will route traffic to the pods via a common label selector. We’ll inspect the service details in Operator mode to confirm their types and behavior. | ||
|
|
||
| ### Objective | ||
|
|
||
| Learn how to create, manage, and explore _Kubernetes Services_ to expose applications within the context of a microservices architecture. | ||
|
|
||
| ### Steps | ||
|
|
| - **Image**: `meshery/meshery-milestone:latest` | ||
| - **Name**: `meshery-milestone` | ||
|  | ||
|
|
| - Set **Type** to `ClusterIP`. | ||
| - Click on **+ Add Item** under Ports to add a port called **Ports 1**. Click on it and add: | ||
| - **Port**: `80` | ||
| - **TargetPort**: `80` (These match the container port that our image serves on.) | ||
| - Also add the same key value pair as before under **Selector**: `app:9988110` | ||
| - We will also add the same label as the deployment for easier identification in Operator Mode. | ||
|  |
| - **Port**: `80` | ||
| - **TargetPort**: `80` | ||
| - **NodePort**: `30091` (or leave blank to auto-assign). | ||
|  |
| - **Port**: `80` | ||
| - **TargetPort**: `80` |
… URLs - Promote top-level section headings from ### to ## to match the existing Kanvas tutorial convention; demote step headings accordingly. - Indent sub-bullets and inline images so they nest correctly under their parent numbered steps. - Add descriptive alt text on every screenshot for accessibility. - Point sister-tutorial links and screenshot URLs at the existing meshery docs site so the page renders today; once the assets and sibling tutorials migrate over, paths can be swapped to local.
Summary
Migrates the Exploring Kubernetes Services with Meshery tutorial from
meshery/meshery(docs/content/en/guides/tutorials/kubernetes/kubernetes-services.md) intolayer5io/docsundercontent/en/kanvas/tutorials/kubernetes/.content/en/kanvas/tutorials/kubernetes/_index.mdto introduce a Kubernetes section under the Kanvas tutorials.content/en/kanvas/tutorials/kubernetes/kubernetes-services.md, the migrated tutorial walking through ClusterIP, NodePort, and LoadBalancer service types in Meshery Playground./guides/tutorials/images/...to/kanvas/tutorials/images/...to match the existing Kanvas tutorial image convention.kubernetes-pods,kubernetes-deployments) to the anticipated/kanvas/tutorials/kubernetes/...paths so they resolve once the sister tutorials migrate over./guides/tutorials/kubernetes-services/guides/tutorials/kubernetes/kubernetes-services/kanvas/tutorials/kubernetes-servicesCompanion change
The source file is removed from
meshery/mesheryon the matching branch (claude/migrate-k8s-tutorial-Rc5G2).Follow-ups
/kanvas/tutorials/images/kubernetes-services/and/kanvas/tutorials/images/kubernetes-deployments/need to be copied frommeshery/meshery(docs/static/guides/tutorials/images/kubernetes-services/,docs/static/guides/tutorials/images/kubernetes-deployments/) into this repo's static path before the page renders fully.kubernetes-pods,kubernetes-deployments, etc.) referenced from this page will continue to 404 on the Layer5 site until they are migrated similarly.Test plan
hugo --quietbuilds without errors/kanvas/tutorials/kubernetes/kubernetes-services/renders end-to-end/guides/tutorials/kubernetes-servicesand/guides/tutorials/kubernetes/kubernetes-servicesredirect to the new pagestatic/kanvas/tutorials/images/kubernetes-services/Generated by Claude Code