Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS

In this Article we are going to discuss about Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04.

Istio is one of the most powerful service mesh technologies available today. It provides a robust way to manage microservices traffic, security, and observability. In this guide, you’ll learn how to set up Istio Service Mesh on Ubuntu 24.04, and deploy observability tools like Jaeger, Prometheus, Grafana, and Kiali. You’ll also run a sample microservices app and expose it using port-forwarding.

Prerequisites

  • Ubuntu 24.04 EC2 instance (recommended: t2.xlarge or better)
  • At least 8 GB RAM and 4 CPUs
  • Internet access
  • A security group with open ports:
    • 22 (SSH)
    • 8080, 16686, 20001, etc. for observability tools
    • 30000-32767 if using NodePorts
  • Minikube and Kubectl

Step by Step Guide Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS

Step #1:Download and Set Up Istio CLI

1. Download latest Istio release:

curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.26.0 sh -
cd istio-1.26.0
Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS 1

(Replace 1.26.0 with the latest version if needed.)

2. Add istioctl to your path:

export PATH="$PWD/bin:$PATH"

To make it permanent:

echo 'export PATH="$PWD/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Step #2:Install Istio on Kubernetes

Install Istio control plane:

istioctl install --set profile=demo -y
Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS 2

Label the default namespace for automatic Envoy injection:

kubectl label namespace default istio-injection=enabled
Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS 3

Verify installation:

kubectl get pods -n istio-system
Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS 4

Step #3:Deploy Sample Microservices App

Clone the microservices demo:

git clone https://github.com/GoogleCloudPlatform/microservices-demo.git
cd microservices-demo/release
Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS 5

Apply the deployment:

kubectl apply -f kubernetes-manifests.yaml
Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS 6

Check that the pods are running:

kubectl get pods
Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS 7

Step #4:Enable Istio Observability Add-ons

Apply add-ons:

kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.26/samples/addons/prometheus.yaml
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.26/samples/addons/grafana.yaml
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.26/samples/addons/jaeger.yaml
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.26/samples/addons/kiali.yaml
Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS 8

Create service for Jaeger UI (if needed):

# jaeger-ui-service.yaml
apiVersion: v1
kind: Service
metadata:
name: jaeger
namespace: istio-system
spec:
selector:
app: jaeger
ports:
- protocol: TCP
port: 16686
targetPort: 16686

Apply it:

kubectl apply -f jaeger-ui-service.yaml
Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS 9

Now port-forward:

kubectl port-forward svc/jaeger -n istio-system --address 0.0.0.0 16686:16686
kubectl port-forward svc/prometheus -n istio-system --address 0.0.0.0 9090:9090
kubectl port-forward svc/grafana -n istio-system --address 0.0.0.0 3000:3000
kubectl port-forward svc/kiali -n istio-system --address 0.0.0.0 20001:20001

Now open in your browser (replace <EC2-IP>):

Jaeger: http://<EC2-IP>:16686

Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS 10

Prometheus: http://<EC2-IP>:9090

Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS 11

Grafana: http://<EC2-IP>:3000

Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS 12

Kiali: http://<EC2-IP>:20001

Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS 13
Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS 14

Step #5:Verify Service Mesh Working

Use kiali to visualize the service mesh topology and traffic flow.

Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS 15

Step #6:Access the Application

Access the Application by using the port-forward:

kubectl port-forward svc/frontend-external --address 0.0.0.0 8080:80
Installing Istio Service Mesh with Observability Add-ons on Ubuntu 24.04 LTS 16

Conclusion:

Monitoring your deployed application with Istio’s observability tools provides deep insights into the health, performance, and behavior of your microservices. By integrating Prometheus for metrics collection, Grafana for visualization, Jaeger for distributed tracing, and Kiali for real-time service mesh visualization, you gain a powerful, unified observability stack. This setup not only helps you troubleshoot issues quickly but also enables proactive performance tuning and infrastructure optimization. Whether you’re running in development or production, Istio’s observability features are essential for maintaining a resilient and transparent Kubernetes environment.

Related Articles:

Kubernetes Traefik Ingress LetsEncrypt – cert-manager, TLS

Reference:

istio official page

Harish Reddy

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Share via
Copy link
Powered by Social Snap