This sample consists of a simple service that does nothing but sleep. It's a ubuntu container with curl installed that can be used as a request source for invoking other services to experiment with Istio networking.
To use it:
-
Install Istio by following the istio install instructions.
-
Start the sleep service:
If you have automatic sidecar injection enabled:
kubectl apply -f sleep.yaml
Otherwise manually inject the sidecars before applying:
kubectl apply -f <(istioctl kube-inject -f sleep.yaml)
-
Start some other services, for example, the Bookinfo sample.
Now you can
kubectl exec
into the sleep service to experiment with Istio networking. For example, the following commands can be used to call the Bookinforatings
service:export SLEEP_POD=$(kubectl get pod -l app=sleep -o jsonpath={.items..metadata.name}) kubectl exec -it $SLEEP_POD -c sleep curl http://ratings.default.svc.cluster.local:9080/ratings/1 {"id":1,"ratings":{"Reviewer1":5,"Reviewer2":4}}
You can also use the sleep service to test accessing services outside of the mesh. See configuring egress for details.