istio: installation

In case of minikube it was started with parameters minikube start --memory=7900 --cpus=4

helm repo add istio https://istio-release.storage.googleapis.com/charts
helm repo update
kubectl create namespace istio-system
helm install istio-base istio/base -n istio-system

Check

helm status istio-base -n istio-system
helm get all istio-base -n istio-system

Install the Istio discovery chart which deploys the istiod service:

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

(Optional) Install an ingress gateway:

kubectl create namespace istio-ingress
kubectl label namespace istio-ingress istio-injection=enabled
helm install istio-ingress istio/gateway -n istio-ingress --wait

P.S. I got an error during helm install istio-ingress istio/gateway -n istio-ingress --wait command but it worked fine in minikube with default gateway and existed service

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: istio-gateway
spec:
  selector:
    istio: ingress # use istio default controller
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: web
spec:
  hosts:
  - "*"
  gateways:
  - istio-gateway
  http:
  - match:
    route:
    - destination:
        host: web
        port:
          number: 8080

Run minikube tunnel command to expose ingress

minikube tunnel

Last updated

Was this helpful?