DEV Community

Ravindra Singh for AWS Community Builders

Posted on • Edited on

2

Install Istio Using Helm Chart in AWS EKS.

Image description

Istio

  1. It is an open-source service mesh.
  2. It operates as a transparent layer among microservices within an application.
  3. Originally created by Google, IBM, and Lyft, it now falls under the CNCF.
  4. Managing, securing, and monitoring traffic between microservices.

Why Istio ?

  1. Istio employs a sidecar proxy (Envoy) alongside each microservice.
  2. These proxies intercept and manage all incoming and outgoing traffic within the application.
  3. Their role is crucial as they enable Istio to control traffic flow, enforce security policies, and gather telemetry data.
  4. Istio's control plane, consisting of components like Pilot and Mixer:
  • Configures and monitors these proxies.
  • Ensures consistent and coordinated behavior across all microservices.

Benifits of using Istio:

  1. Traffic Management
  2. Circuit Breaking and Request Retries
  3. Eases Microservices Management
  4. Policy Enforcement at Network Level
  5. Security
  6. Load Balancing

Prerequisites :

  • A running Kubernetes cluster: This can be a self-managed cluster or a managed service like Amazon EKS.

  • Kubectl – Kubernetes command-line tool.
  • Helm – Package manager for Kubernetes.

Steps to install Istio using Helm charts
There are three steps involved in the process

  1. Add Istio repository to Helm
  2. Install Istio base chart
  3. Install Istio control plane

Step #1: Add Istio repository to Helm
Istio repository contains the necessary configurations and Istio charts for installing Istio. The first step is to add it to Helm by running the command below.



helm repo add istio https://istio-release.storage.googleapis.com/charts


Enter fullscreen mode Exit fullscreen mode

Now, update Helm repository to get the latest charts:



helm repo update


Enter fullscreen mode Exit fullscreen mode


istioctl x precheck 


Enter fullscreen mode Exit fullscreen mode

The istioctl x precheck command is used in the Istio service mesh to perform pre-installation checks before deploying Istio

Step #2: Install Istio base chart
Enter the following command to install the Istio base chart, which contains cluster-wide Custom Resource Definitions (CRDs). (Note that this is a requirement for installing the Istio control plane.)



helm install istio-base istio/base -n istio-system --create-namespace --set defaultRevision=default


Enter fullscreen mode Exit fullscreen mode
  • In the above command, istio-base and istio/base represent the chart name and the chart path, respectively.

  • The chart will be installed in istio-system namespace. Since the namespace does not exist already, we passed the argument –create-namespace to create it. The namespace will set up the validator required for Istio.

  • defaultRevision: As the Istio base chart sets up a ValidatingWebhookConfiguration to perform resource validation, it is necessary to select a default revision that will be used for validation. We will use the default revision here.

Step #3: Install Istio control plane
The below command will install the Istio control plane component, Istiod, into the istio-system namespace.



helm install istiod istio/istiod -n istio-system --wait


Enter fullscreen mode Exit fullscreen mode

Verify Istio base and Istiod deployment status
By running the following command, we can see the deployment status of istio-base and istiod.



helm ls -n istio-system


Enter fullscreen mode Exit fullscreen mode

Also, run the following command to verify if it is actually running:



kubectl get deployments -n istio-system -o wide


Enter fullscreen mode Exit fullscreen mode

We can see that the istiod service’s pod is running.

If you prefer a video tutorial to help guide you through the process of Install Istio Using Helm Chart in AWS EKS

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

Best Practices for Running  Container WordPress on AWS (ECS, EFS, RDS, ELB) using CDK cover image

Best Practices for Running Container WordPress on AWS (ECS, EFS, RDS, ELB) using CDK

This post discusses the process of migrating a growing WordPress eShop business to AWS using AWS CDK for an easily scalable, high availability architecture. The detailed structure encompasses several pillars: Compute, Storage, Database, Cache, CDN, DNS, Security, and Backup.

Read full post

👋 Kindness is contagious

Engage with a sea of insights in this enlightening article, highly esteemed within the encouraging DEV Community. Programmers of every skill level are invited to participate and enrich our shared knowledge.

A simple "thank you" can uplift someone's spirits. Express your appreciation in the comments section!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found this useful? A brief thank you to the author can mean a lot.

Okay