After installing Minikube, download the Istio release and install the demo profile. Here's the short version, assuming you've already installed Minikube:
$ cd ~
# Start Minikube.
$ minikube start --memory=16384 --cpus=4
# Try --memory=4096 if you don't have that much RAM, it worked for us :-)
$ kubectl config use-context minikube
# Download and install Istio 1.4.2.
$ export ISTIO_VERSION=1.4.2
$ curl -L https://istio.io/downloadIstio | sh -
$ cd istio-*
$ export PATH="${PWD}/bin:${PATH}"
# ...ideally you should add the above to your Bash profile.
$ istioctl manifest apply --set profile=demo
$ kubectl -n istio-system edit cm istio
# ...set disablePolicyChecks to false ("i" for insert mode, "ESC" ":wq" for save & exit)
$ kubectl label namespace default istio-injection=enabled
Long version:
- https://istio.io/docs/setup/getting-started/
- https://istio.io/docs/setup/additional-setup/sidecar-injection/#automatic-sidecar-injection
- https://istio.io/docs/tasks/policy-enforcement/enabling-policy/
Note. Istio version. Version 1.4.2
is the safest to use since
we've compiled and tested the adapter's gRPC interface against this
version. We also tested extensively with version 1.4.0
and 1.4.3
.
In principle what's documented in this README should work with any
1.4.*
version and, barring minor adjustments, with 1.5.*
too.
Note. Policy Enforcement. The docs say the demo
profile should enable
it (i.e. set disablePolicyChecks
to false
) but it doesn't nor does it
work to specify that option at installation time which is why you'll have
to manually edit the K8s config after applying the Istio demo
profile.
Tip. Istio Dashboard. If you're looking for an easy way to see what's going on in your mesh (services, logs, config, etc.), why not use the Kiali dashboard installed with the demo profile? Try
$ istioctl dashboard kiali
Log in with user admin
and password admin
.