kind version
kind v0.20.0 go1.20.4 linux/amd64
helm version
version.BuildInfo{Version:"v3.13.3", GitCommit:"c8b948945e52abba22ff885446a1486cb5fd3474", GitTreeState:"clean", GoVersion:"go1.20.11"}
kind create cluster --name lab
helm repo add istio https://istio-release.storage.googleapis.com/charts
helm repo update
kubectl create ns istio-system
helm upgrade istio-base istio/base -n istio-system --install
helm upgrade istiod istio/istiod -n istio-system --install
helm list -A
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
istio-base istio-system 1 2024-02-22 19:19:21.779586644 -0300 -03 deployed base-1.20.3 1.20.3
istiod istio-system 1 2024-02-22 19:19:28.714069744 -0300 -03 deployed istiod-1.20.3 1.20.3
kubectl create ns develop
kubectl label ns develop istio-injection=enabled
helm upgrade -n develop --install pismo-egress miniapi/miniapi --values values-miniapi-pismo-egress.yaml
helm upgrade -n develop --install npc-regress-pismo miniapi/miniapi --values values-miniapi-npc-regress-pismo.yaml
# canary does not use DestinationRule
# canary relies on two independent service: pismo-egress and npc-regress-pismo
#
./canary.sh develop pismo-egress 3000 3000 pismo-egress npc-regress-pismo 50
# dr-canary uses DestinationRule
# canary relies on a central service "pismo-egress" that selects PODs for both deployments: pismo-egress and npc-regress-pismo
#
./dr-canary.sh develop pismo-egress 3000 3000 pismo-egress npc-regress-pismo 50
kind delete cluster --name lab
https://istio.io/latest/docs/reference/config/networking/virtual-service/