Skip to content
Open
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
d4b76e1
fix(resources): add cloud native tutorials and redirect
kanishksingh23 Apr 30, 2026
b46e2e4
Merge branch 'master' into fix/update-resources-and-cloud-native-labs
kanishksingh23 Apr 30, 2026
31c872a
Merge branch 'master' into fix/update-resources-and-cloud-native-labs
kanishksingh23 Apr 30, 2026
64e31df
Merge branch 'master' into fix/update-resources-and-cloud-native-labs
kanishksingh23 May 1, 2026
342dd73
Merge branch 'master' into fix/update-resources-and-cloud-native-labs
kanishksingh23 May 4, 2026
8252c80
Merge branch 'master' into fix/update-resources-and-cloud-native-labs
kanishksingh23 May 5, 2026
c4896e4
Merge branch 'master' into fix/update-resources-and-cloud-native-labs
kanishksingh23 May 6, 2026
8879b51
Merge branch 'master' into fix/update-resources-and-cloud-native-labs
kanishksingh23 May 7, 2026
869298f
Merge branch 'master' into fix/update-resources-and-cloud-native-labs
kanishksingh23 May 8, 2026
a68cac6
Merge branch 'master' into fix/update-resources-and-cloud-native-labs
kanishksingh23 May 14, 2026
6f79e75
fix(resources): address reviewer comments
May 16, 2026
d77685d
Merge branch 'master' into fix/update-resources-and-cloud-native-labs
kanishksingh23 May 16, 2026
18d02ab
fix(resources): replace prose training file with individual session t…
kanishksingh23 May 16, 2026
aa4c625
fix(resources): convert markdown to HTML in tutorial MDX files
kanishksingh23 May 16, 2026
caae187
fix(resources): fix broken code block in publish-to-artifacthub tutorial
kanishksingh23 May 16, 2026
237dadd
fix(resources): rewrite tutorial MDX files with clean HTML structure
kanishksingh23 May 16, 2026
fd5b94f
fix(resources): remove space before allowFullScreen in contributor tr…
kanishksingh23 May 16, 2026
85efa2c
fix(resources): add blank lines between import and JSX in tutorial MD…
kanishksingh23 May 16, 2026
f2161b6
Merge branch 'master' into fix/update-resources-and-cloud-native-labs
kanishksingh23 May 19, 2026
7f7474f
Merge branch 'master' into fix/update-resources-and-cloud-native-labs
kanishksingh23 May 20, 2026
c3c7ef6
Merge branch 'master' into fix/update-resources-and-cloud-native-labs
kanishksingh23 May 20, 2026
d395e83
Merge branch 'master' into fix/update-resources-and-cloud-native-labs
kanishksingh23 May 21, 2026
e4d0bc1
Merge branch 'master' into fix/update-resources-and-cloud-native-labs
kanishksingh23 May 23, 2026
7d63f69
Merge branch 'master' into fix/update-resources-and-cloud-native-labs
kanishksingh23 May 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 86 additions & 0 deletions src/collections/resources/tutorials/deploy-aws-ec2.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
title: "Deploy AWS EC2 Instances with Meshery"
thumbnail: ../../../assets/images/tutorials/intro-to-meshery.webp
darkthumbnail: ../../../assets/images/tutorials/intro-to-meshery.webp
date: 2025-04-24 10:30:05 -0530
category: Cloud Native
tags:
- Meshery
- AWS
- Tutorial
type: Tutorial
product: Meshery
technology: AWS
featured: false
published: true
resource: true
---

import { ResourcesWrapper } from "../Resources.style.js";

<ResourcesWrapper>

### Introduction

Meshery is a powerful multi-cloud management platform that enables you to configure, deploy, and manage AWS resources such as EC2 instances. Meshery uses [AWS Controllers for Kubernetes (ACK)](https://aws.amazon.com/blogs/containers/aws-controllers-for-kubernetes-ack/) to bridge Kubernetes and AWS services. In this tutorial, we use the [Kanvas](https://docs.meshery.io/extensions/kanvas) extension to provide a visual experience for deploying an AWS EC2 instance.

### Prerequisites

1. A [self-hosted Meshery installation](https://docs.meshery.io/installation).
2. An active AWS account.
3. A running Kubernetes cluster (e.g., Minikube or EKS).

### Overview of Deployment Steps

1. **Connect your Kubernetes cluster to Meshery** — establishing the foundation for interacting with AWS resources via ACK.
2. **Set up essential AWS resources** — deploy VPCs, subnets, and networking components for the EC2 instance.
3. **Verify and monitor the deployment** — confirm EC2 instances via the AWS Console or Meshery's visualization mode.

### Steps

#### 1. Connect Your Kubernetes Cluster to Meshery

1. For this guide, use the **in-cluster deployment** method. Follow the [Minikube setup guide](https://docs.meshery.io/installation/kubernetes/minikube) to deploy Meshery in-cluster.
2. Open the Meshery UI at `localhost:9081` and verify that the cluster is listed.
3. Click the cluster name to ping and confirm connectivity.

#### 2. Configure and Deploy the EC2 Controller

1. [Clone the EC2 controller design](https://cloud.layer5.io/catalog/content/catalog/ec2-controller-design-28a7fad9-c7ef-440a-a8f0-7614e072b866) from the Layer5 Catalog.
2. Open the design in Kanvas. The design includes the EC2 Controller Pod, CRDs, Service Account, and an AWS Credentials Secret.

**Configure the AWS Secret:**

3. Double-click the **Secret** component.
4. Under **Data**, add base64-encoded values:
- `AWS_ACCESS_KEY_ID`: your encoded key
- `AWS_SECRET_ACCESS_KEY`: your encoded secret
5. Use a [base64 encoder](https://www.base64encode.org/) to encode your credentials.

**Deploy the EC2 Controller:**

6. Click **Actions > Deploy**.
7. Once deployed, click **Open in Visualizer** to see the deployed resources in the `ack-system` namespace.

#### 3. Deploy the VPC Workflow

8. [Clone the VPC workflow design](https://cloud.layer5.io/catalog/content/catalog/vpc-workflow-design-50cac19e-209c-4acf-b91c-4784281db033) from the Catalog.
9. Open the design and adjust CIDR blocks and region as needed (default: `us-east-1`).
10. Click **Actions > Deploy**.
11. Verify in your AWS Management Console that the VPC and networking resources are created.

The VPC workflow includes: 1 VPC, 1 Internet Gateway, 1 NAT Gateway, 1 Elastic IP, 2 Route Tables, 2 Subnets, and 1 Security Group.

#### 4. Deploy the EC2 Instance

12. [Clone the EC2 instances design](https://cloud.layer5.io/catalog/content/catalog/ec2-instances-design-a344f109-2d92-41da-8644-3bc285c3ca9e) from the Catalog.
13. Open the design in the Playground and click **Deploy**.
14. Navigate to the AWS Management Console to confirm the instances are running.

### Conclusion

You've successfully deployed and managed AWS EC2 instances using Meshery. This guide demonstrated how to use pre-configured catalog designs, set up the ACK controller with AWS credentials, deploy VPC networking, and launch EC2 instances — all without CLI commands.

> This tutorial is sourced from the [Meshery documentation](https://docs.meshery.io/guides/tutorials/aws/deploy-aws-ec2-instances-with-meshery).

</ResourcesWrapper>
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
---
title: "Understanding Kubernetes ConfigMaps and Secrets with Meshery"
thumbnail: ../../../assets/images/tutorials/intro-to-meshery.webp
darkthumbnail: ../../../assets/images/tutorials/intro-to-meshery.webp
date: 2024-04-16 10:30:05 -0530
category: Cloud Native
tags:
- Meshery
- Kubernetes
- Tutorial
type: Tutorial
product: Meshery
technology: Kubernetes
featured: false
published: true
resource: true
---

import { ResourcesWrapper } from "../Resources.style.js";

<ResourcesWrapper>

### Introduction

In this tutorial, we explore how to use **Kubernetes ConfigMaps and Secrets** with Meshery Playground. ConfigMaps allow you to decouple configuration from container images, while Secrets store sensitive data such as passwords and API keys securely.

### Prerequisites

- Basic understanding of Kubernetes Pods and Deployments.
- Access to the *Meshery Playground*. Sign up at [Meshery Playground](https://play.meshery.io/) if needed.

### Lab Scenario

Create a ConfigMap and a Secret, then mount them into a Pod using Meshery's visual design canvas.

### Objective

Learn how to create **ConfigMaps** and **Secrets** and attach them to Pods using Meshery Playground.

### Steps

#### Access Meshery Playground

1. Log in to [Meshery Playground](https://play.meshery.io) and click **Explore** to open *Kanvas*.
2. Rename your design (e.g., `configmap-secrets-lab`).

#### Create a ConfigMap

1. In the **Components** tab, search for **ConfigMap** and drag it onto the canvas.
2. Click the ConfigMap component to open its configuration.
3. Under **data**, add a key-value pair, e.g.:
- Key: `APP_ENV`
- Value: `production`
4. Give it a name (e.g., `app-config`) and a label.

#### Create a Secret

5. Search for **Secret** in Components and drag it onto the canvas.
6. Click the Secret component and add base64-encoded data under **data**, e.g.:
- Key: `DB_PASSWORD`
- Value: `cGFzc3dvcmQ=` (base64 for "password")
7. Name it (e.g., `app-secret`).

#### Create a Pod and Mount ConfigMap and Secret

8. Drag a **Pod** component onto the canvas.
9. Add a container (`nginx:latest`) as covered in the Pods tutorial.
10. In the container configuration, scroll to **envFrom** to reference the ConfigMap:
- Add a `configMapRef` pointing to `app-config`.
11. Add another entry under **envFrom** referencing the Secret:
- Add a `secretRef` pointing to `app-secret`.
12. Add a unique label to the pod for filtering.

#### Validate and Deploy

13. Click **Validate** and resolve any errors.
14. Click **Deploy** to apply the design.

#### Verify in Visualize

15. Switch to **Visualize** and filter by your pod's label.
16. Click the pod and examine the **Details** tab to confirm the configuration is applied.

#### Clean Up

17. Use **Undeploy** to remove all resources.

### Conclusion

You've successfully created Kubernetes ConfigMaps and Secrets and mounted them into a Pod using Meshery Playground. This approach enables clean separation of configuration from application code.

> This tutorial is sourced from the [Meshery documentation](https://docs.meshery.io/guides/tutorials/kubernetes/kubernetes-configmaps-secrets).

</ResourcesWrapper>
86 changes: 86 additions & 0 deletions src/collections/resources/tutorials/kubernetes-cronjobs.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
title: "Exploring Kubernetes CronJobs with Meshery"
thumbnail: ../../../assets/images/tutorials/intro-to-meshery.webp
darkthumbnail: ../../../assets/images/tutorials/intro-to-meshery.webp
date: 2024-05-10 10:30:05 -0530
category: Cloud Native
tags:
- Meshery
- Kubernetes
- Tutorial
type: Tutorial
product: Meshery
technology: Kubernetes
featured: false
published: true
resource: true
---

import { ResourcesWrapper } from "../Resources.style.js";

<ResourcesWrapper>

### Introduction

In this tutorial, we explore **Kubernetes CronJobs** using Meshery Playground. CronJobs create Jobs on a repeating schedule, making them ideal for periodic tasks like backups, report generation, or cleanup operations.

### Prerequisites

- Basic understanding of Kubernetes Pods and Jobs.
- Access to *Meshery Playground*. Sign up at [Meshery Playground](https://play.meshery.io/) if needed.

### Lab Scenario

Create a CronJob that runs a simple task on a schedule using Meshery's visual canvas.

### Objective

Learn how to create and manage **Kubernetes CronJobs** visually using Meshery Playground.

### Steps

#### Access Meshery Playground

1. Log in to [Meshery Playground](https://play.meshery.io) and click **Explore** to open *Kanvas*.
2. Name your design (e.g., `cronjob-lab`).

#### Create a CronJob

1. In the **Components** tab, search for **CronJob** and drag it onto the canvas.
2. Click the CronJob component to open its configuration modal.
3. Set the **name** (e.g., `hello-cronjob`).
4. Set the **schedule** field to `"*/1 * * * *"` — this runs the job every minute.
5. Under **jobTemplate > spec > template > spec > containers**, click **+** to add a container:
- **name**: `hello`
- **image**: `busybox:latest`
- **command**: `["/bin/sh", "-c", "echo Hello from CronJob"]`
6. Set **restartPolicy** to `OnFailure`.
7. Add a unique label (e.g., `app: hello-cronjob`) for filtering.
8. Click outside to close the modal.

#### Validate and Deploy

9. Click **Validate** to check for errors.
10. Click **Deploy** to apply the CronJob.

#### Visualize the CronJob

11. Switch to **Visualize** and filter by the label set in step 7.
12. Wait a minute — you should see a **Job** and a **Pod** appear as the CronJob triggers.
13. Click the Pod in the **Details** tab to see its status and logs.

#### View Job History

14. In the Visualize view, filter for **Kind: Job** to see the history of completed jobs created by the CronJob.

#### Clean Up

15. Go back to **Design** view and use **Undeploy** to remove the CronJob and all associated resources.

### Conclusion

You've successfully created and managed a Kubernetes CronJob using Meshery Playground. CronJobs are a powerful way to automate periodic tasks in Kubernetes without external schedulers.

> This tutorial is sourced from the [Meshery documentation](https://docs.meshery.io/guides/tutorials/kubernetes/exploring-kubernetes-cronjobs).

</ResourcesWrapper>
90 changes: 90 additions & 0 deletions src/collections/resources/tutorials/kubernetes-deployments.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
title: "Exploring Kubernetes Deployments with Meshery"
thumbnail: ../../../assets/images/tutorials/intro-to-meshery.webp
darkthumbnail: ../../../assets/images/tutorials/intro-to-meshery.webp
date: 2025-02-27 10:30:05 -0530
category: Cloud Native
tags:
- Meshery
- Kubernetes
- Tutorial
type: Tutorial
product: Meshery
technology: Kubernetes
featured: false
published: true
resource: true
---

import { ResourcesWrapper } from "../Resources.style.js";

<ResourcesWrapper>

### Introduction

In this tutorial, we'll explore Kubernetes Deployments using [Meshery Playground](https://play.meshery.io/). Deployments provide declarative updates for Pods and ReplicaSets, making it easy to roll out changes, scale applications, and roll back to previous versions.

### Prerequisites

- Basic understanding of Kubernetes Pods.
- Access to the *Meshery Playground*. Sign up at [Meshery Playground](https://play.meshery.io/) if needed.

> **NOTE:** Consider completing the [Exploring Kubernetes Pods with Meshery](/resources/tutorials/exploring-kubernetes-pods-with-meshery) tutorial first.

### Lab Scenario

Create and manage an NGINX Deployment in Meshery Playground, explore scaling, and observe rolling updates.

### Objective

Learn how to create, scale, and manage **Kubernetes Deployments** visually using Meshery's Kanvas.

### Steps

#### Access Meshery Playground

1. Log in to [Meshery Playground](https://play.meshery.io) and click **Explore** to open *Kanvas*.
2. Rename the design to something identifiable (e.g., `nginx-deployment`).

#### Create a Deployment

1. Click the **Components** tab and search for **Deployment**.
2. Drag the **Deployment** component onto the canvas.
3. Click the Deployment component to open its configuration modal.
4. Set the **name** (e.g., `nginx-deployment`).
5. Under **spec**, set `replicas` to `2`.
6. Under **template > spec > containers**, click **+** to add a container:
- **name**: `nginx`
- **image**: `nginx:latest`
7. Add a label (e.g., `app: nginx-deploy`) to help filter resources.
8. Click outside to close the modal.

#### Validate and Deploy

9. Click **Validate** to check for errors.
10. Click **Deploy** in the popup, then **Deploy** again to apply.

#### Visualize the Deployment

11. Click **Visualize** and apply a filter using the label set in step 7.
12. You should see the Deployment and its two managed Pods.
13. Click the Deployment in the **Details** tab to view replicas, conditions, and the rollout strategy.

#### Scale the Deployment

14. Go back to **Design** view and click the Deployment component.
15. Change `replicas` to `4`.
16. **Undeploy** and **Deploy** again to apply the change.
17. Switch to **Visualize** — you should now see 4 pods managed by the Deployment.

#### Clean Up

18. Use **Undeploy** from the Design view to remove all resources.

### Conclusion

You've successfully created and managed a Kubernetes Deployment using Meshery Playground. You scaled the deployment visually and observed how Kubernetes manages replica sets. Continue to the next tutorial to explore Kubernetes Services.

> This tutorial is sourced from the [Meshery documentation](https://docs.meshery.io/guides/tutorials/kubernetes/kubernetes-deployments).

</ResourcesWrapper>
Loading
Loading