Skip to content

Latest commit

 

History

History
69 lines (48 loc) · 1.54 KB

README.md

File metadata and controls

69 lines (48 loc) · 1.54 KB

This scenario deploys a very simple application composed of only one service.

Run the commands from the project's base directory.

Without sidecar injection

kubectl create namespace httpbin
kubectl apply -n httpbin -f ./httpbin/

For OpenShift, run:

oc new-project httpbin
oc adm policy add-scc-to-user anyuid -z default -n httpbin
oc adm policy add-scc-to-user privileged -z default -n httpbin
oc expose service istio-ingressgateway --hostname=httpbin.demo.example.com --port=80 -n istio-system
oc apply -n httpbin -f ./httpbin/

Check that the pod has 1 container only.

kubectl get pods -n httpbin

Open the Kiali console, go to the Applications page and check that httpbin is flagged with "Missing Sidecar".

With sidecar injection

# Enable auto-injection of the proxy sidecar
kubectl label namespace httpbin istio-injection=enabled
kubectl delete pods -l app=httpbin -n httpbin

Check that the pod has 2 containers.

kubectl get pods -n httpbin

Generate some load.

loadtest -rate 5 -uri http://httpbin.demo.example.com/headers -uri http://httpbin.demo.example.com/status/200

Explore the Kiali graph page and the different dashboards.

Generate some errors.

for i in $(seq 0 10); do
  curl -i http://httpbin.demo.example.com/status/500
  sleep 1
done

Go back to the Kiali graph and see that the errors are detected.

Click on the "Distributed Tracing" tab to open the Jaeger UI and check a trace with error.

Cleanup

kubectl delete namespaces httpbin