Getting Started with Istio Playground
A simple K3s cluster with Istio service mesh and the sample Bookinfo app deployed. The playground is a good fit for workshops, self-paced labs, and quick experimentation with Istio and service mesh fundamentals.

Getting Started with Istio
This playground provides a hands-on environment for learning the basics of Istio.
You'll be working with a simple K3s cluster enhanced with Istio and the popular Bookinfo sample application pre-installed. The playground is a good starting point for developers and operators looking to explore Istio's features in a realistic yet lightweight setup.
🧠 What You'll Learn
- How to install and configure Istio on a K3s cluster
- Deploying the Bookinfo app, a microservices-based sample application
- Setting up and using Istio Gateway API
- Navigating and experimenting with services using a live productpage UI
🛠️ Playground Overview
This environment is made up of three virtual machines:
- dev-machine – Your main workspace with IDE, Kubernetes tools, and Istio CLI installed
- cplane-01 – Control plane node of the K3s cluster
- node-01 – Application node hosting the Bookinfo services
Each machine has a terminal tab for direct access, and the dev-machine also includes:
- IDE: Write or inspect configuration files
- Explorer: Visualize your Kubernetes cluster (via
iximiuz/kexp) - HTTP Port Tab: Access the
productpageweb UI with a single click.
⚙️ Provisioning Steps
This playground uses initTasks to fully automate the setup process, including downloading Istio, installing it to the cluster, deploying the sample app, and exposing it via a Gateway.
1. Download Istio
curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.30.1 sh -
echo 'export PATH=$PATH:$HOME/istio-1.30.1/bin' >> ~/.bashrc
export PATH=$PATH:$HOME/istio-1.30.1/bin
2. Install Istio and Prepare the Cluster
cd istio-1.30.1
istioctl install -f samples/bookinfo/demo-profile-no-gateways.yaml -y
kubectl label namespace default istio-injection=enabled
kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd?ref=v1.2.1" \
| kubectl apply -f -
3. Deploy the Bookinfo Application
kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
4. Set Up the Istio Gateway
kubectl apply -f samples/bookinfo/gateway-api/bookinfo-gateway.yaml
kubectl wait --for=condition=programmed gtw bookinfo-gateway
Then expose the root path (/) to the productpage with an extra HTTPRoute manifest:
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: bookinfo-root
spec:
parentRefs:
- name: bookinfo-gateway
rules:
- matches:
- path:
type: PathPrefix
value: /
backendRefs:
- name: productpage
port: 9080
🚀 How to Use the Playground
- Use the IDE tab to explore and edit configuration files.
- Use the Explorer tab to inspect the cluster and Istio resources.
- Open the HTTP port tab named
productpageto view the running Bookinfo application. - Terminals are provided for each node, but most commands will be run from the dev-machine.
This playground is open to everyone. Ideal for workshops, self-paced labs, and quick experimentation with Istio and service mesh fundamentals.