Cluster setup, Istio installation, namespaces
- Install Kind, minikube does not do well with this kind of a setup
brew install kind
- Install Cluster
kind create cluster --name istio-poc
- Download Istio (choose a recent stable version)
export ISTIO_VERSION=1.27.1
curl -L <https://istio.io/downloadIstio> | sh -
export PATH="$PWD/istio-${ISTIO_VERSION}/bin:$PATH"
- Install istioctl with minimal profile with ingressgateway
- Istio provides different profiles
default, demo, minimal, ambient
- -y takes default config and we use default profile
# Precheck and install with a revision (recommended)
istioctl x precheck
istioctl install -y --set profile=default
- Create namespaces
# create namespace bank, if already exists dont fail
kubectl apply -f k8s/namespace.yaml
- Inspect ingress IP/ Ports. The default istio profile comes with istio-ingressgateway (Optional). Demo profile has both ingress and egress
kubectl -n istio-system get svc istio-ingressgateway
Actual deployments
Create directory structure
mkdir -p istio-poc/k8s/{gateway,traffic,waf,telemetry,security} istio-poc/{certs,scripts}