0-Home
Github
TraceMyPodsOfficial
TMP-docs
EKS-Deploy-README
Istio Ingress Nlb

helm repo add istio https://istio-release.storage.googleapis.com/charts (opens in a new tab) helm repo update

kubectl create namespace istio-system

Install Istio Base Chart

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

Install Istiod (Control Plane)

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

# values.yaml
service:
  type: LoadBalancer
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
    service.beta.kubernetes.io/aws-load-balancer-scheme: "internet-facing"
    service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
    service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: "ip"

```bash
# instll custom values
helm install istio-ingress istio/gateway -n istio-system -f values.yaml --wait
# Retrieve NLB DNS and Update DNS Records
kubectl -n istio-system get svc istio-ingress -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'

Create Gateway and VirtualService for Your Application

# gateway.yaml
apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
  name: ai-assistant-gateway
  namespace: ai-assistant
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "assist.ahmadraza.in"

# virtualservice.yaml
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: ai-assistant-vs
  namespace: ai-assistant
spec:
  hosts:
  - "assist.ahmadraza.in"
  gateways:
  - ai-assistant-gateway
  http:
  - match:
    - uri:
        prefix: "/api"
    route:
    - destination:
        host: backend-service
        port:
          number: 80
  - match:
    - uri:
        prefix: "/"
    route:
    - destination:
        host: frontend-service
        port:
          number: 80
kubectl apply -f gateway.yaml
kubectl apply -f virtualservice.yaml

💬 Need a Quick Summary?

Hey! Don't have time to read everything? I get it. 😊
Click below and I'll give you the main points and what matters most on this page.
Takes about 5 seconds • Uses Perplexity AI