Istio Instalation for Istio v1.22 (main branch)
Istio Installation for Kubernetes version >= 1.29 on main branch
To install Istio using helm method:
1. Configure the helm repository:
helm repo add istio https://istio-release.storage.googleapis.com/charts
helm repo update
2. Create the istio-system namespace:
kubectl create ns istio-system
3. Install istio CRD using helm:
helm install istio-base istio/base -n istio-system
4. Validade istio-base "STATUS" is "deployed:
NAME
NAMESPACE
REVISION
UPDATED
STATUS
CHART
APP VERSION
istio-base
istio-system
1
2024-06-12 09:42:43.119691531 -0300 -03
deployed
base-1.22.1
1.22.1
5. Install istiod using helm:
helm install istiod istio/istiod -n istio-system --wait --set meshConfig.defaultConfig.tracing.zipkin.address=jaeger-collector.istio-system.svc.cluster.local:9411
*"--set meshConfig.defaultConfig.tracing.zipkin.address=jaeger-collector.istio-system.svc.cluster.local:9411", is needed to enable tracing to Jaeger
6. Validade istiod "STATUS" is "deployed:
NAME
NAMESPACE
REVISION
UPDATED
STATUS
CHART
APP VERSION
istio-base
istio-system
1
2024-06-12 09:42:43.119691531 -0300 -03
deployed
base-1.22.1
1.22.1
istiod
istio-system
1
2024-06-12 09:54:08.82545353 -0300 -03
deployed
istiod-1.22.1
1.22.1
7. Check istiod is running:
kubectl -n istio-system get deploy -owide
NAME
READY
UP-TO-DATE
AVAILABLE
AGE
CONTAINERS
IMAGES
SELECTOR
istiod
1/1
1
1
3m48s
discovery
docker.io/istio/pilot:1.22.1
istio=pilot
8. Install Ingress Gateway exposing service using NodePort instead LoadBalancer (default):
kubectl create ns istio-ingress
helm install istio-ingress istio/gateway -n istio-ingress --set service.type=NodePort --wait
9. InstallCheck Installation:
NAME
NAMESPACE
REVISION
UPDATED
STATUS
CHART
APP VERSION
istio-ingress
istio-ingress
1
2024-06-12 10:13:24.838581182 -0300 -03
deployed
gateway-1.22.1
1.22.1
kubectl -n istio-ingress get svc
NAME
TYPE
CLUSTER-IP
EXTERNAL-IP
PORT(S)
AGE
istio-ingress
NodePort
10.103.239.18
15021:30124/TCP,80:31781/TCP,443:32054/TCP
106s
kubectl apply -f addons/prometheus/
kubectl apply -f addons/grafana/
kubectl apply -f addons/jaeger/
kubectl apply -f addons/kiali/