Install istio
$ curl -L https://git.io/getLatestIstio | sh -
Add the location istio-1.0.2/bin to the PATH variable to make it easy to access Istio binaries.
Open the file istio-1.0.2/install/kubernetes/istio-demo.yaml, search for LoadBalancer and replace it with NodePort.
We would first try to use istio locally and then deploy it using openshift. The following steps can be followed.
Install minikube $ minikube start --memory=8192 --cpus=4 --kubernetes-version=v1.10.0 \ --extra-config=controller-manager.cluster-signing-cert-file="/var/lib/localkube/certs/ca.crt" \ --extra-config=controller-manager.cluster-signing-key-file="/var/lib/localkube/certs/ca.key" \ --vm-driver=virtualbox
Install istio $ curl -L https://git.io/getLatestIstio | sh - Add the location istio-1.0.2/bin to the PATH variable to make it easy to access Istio binaries. Open the file istio-1.0.2/install/kubernetes/istio-demo.yaml, search for LoadBalancer and replace it with NodePort.
kubectl apply -f install/kubernetes/helm/istio/templates/crds.yaml
kubectl apply -f install/kubernetes/istio-demo.yaml The labels need to be changed to v1 and v2 for the deployments
kubectl apply -f.yaml
Define istio gateway, destination rule and virtual service in one file -> kubectl apply -f app-gateway.yaml
export INGRESS_HOST=$(minikube ip)
export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')