minikube start
# or
make kind
curl -L https://istio.io/downloadIstio | sh -
sudo mv istio-1.6.4/bin/istioctl /usr/local/bin
istioctl version
1.6.4
cd istio-1.6.4
Fetch examples
kpt
minikube start
istioctl install --set profile=demo
kubectl label namespace default istio-injection=enabled
kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
export SECURE_INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="https")].nodePort}')
export INGRESS_HOST=$(minikube ip)
export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT
open http://$GATEWAY_URL/productpage
kubectl get virtualservices,destinationrules
NAME GATEWAYS HOSTS AGE
virtualservice.networking.istio.io/bookinfo [bookinfo-gateway] [*] 3d22h
kubectl apply -f samples/bookinfo/networking/virtual-service-all-v1.yaml
kubectl get virtualservices,destinationrules
NAME GATEWAYS HOSTS AGE
virtualservice.networking.istio.io/bookinfo [bookinfo-gateway] [*] 3d22h
virtualservice.networking.istio.io/details [details] 4s
virtualservice.networking.istio.io/productpage [productpage] 4s
virtualservice.networking.istio.io/ratings [ratings] 4s
virtualservice.networking.istio.io/reviews [reviews] 4s
kubectl apply -f samples/bookinfo/networking/virtual-service-reviews-test-v2.yaml
Default rule
kubectl apply -f samples/bookinfo/networking/destination-rule-all.yaml
Inject delay
kubectl apply -f samples/bookinfo/networking/virtual-service-ratings-test-delay.yaml
Clean up
kubectl delete -f samples/bookinfo/networking/virtual-service-all-v1.yaml
kubectl apply -f samples/bookinfo/networking/virtual-service-all-v1.yaml
kubectl apply -f samples/bookinfo/networking/virtual-service-reviews-50-v3.yaml