The Kubernetes environment to use the Advocate Demo.
- kind - https://kind.sigs.k8s.io/docs/user/quick-start/
- istioctl - https://istio.io/latest/docs/setup/getting-started/#download
- kubectl - https://kubernetes.io/docs/tasks/tools/install-kubectl/
- docker - https://docs.docker.com/get-docker/
- httpie - https://httpie.io/docs#installation
This is loosly based on the config of the TEADAL baseline, thus, unlike normally istio is exposed on port 80 and 443. On some docker installations this might cause problems, e.g., on osx you have to enable Settings>Advanced>Allow privileged port mappings.
OSX To use this on M1 macs you need to enable the rosetta option in docker desktop (Settings>Features in Development>Use Rosetta for x86/amd64 emulation on Apple Silicon).
- Start the demo
./start.sh- Check if the example is running
http get http://localhost/httpbin/headersYou should get something like:
HTTP/1.1 200 OK
access-control-allow-credentials: true
access-control-allow-origin: *
content-type: application/json
date: Mon, 31 Jul 2023 16:09:44 GMT
server: istio-envoy
transfer-encoding: chunked
x-envoy-upstream-service-time: 10
{
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "localhost",
"User-Agent": "HTTPie/3.2.2",
"X-B3-Parentspanid": "33ee160474145ae1",
"X-B3-Sampled": "0",
"X-B3-Spanid": "b45ba9133fe404c8",
"X-B3-Traceid": "90e489f02a1bc68b33ee160474145ae1",
"X-Envoy-Attempt-Count": "1",
"X-Envoy-Internal": "true",
"X-Envoy-Original-Path": "/httpbin/headers",
"X-Forwarded-Client-Cert": "By=spiffe://cluster.local/ns/default/sa/default;Hash=bafae24765ca74c0fa144e5243b34c92c83f4d9d088660ed1775d7f18909c39b;Subject=\"\";URI=spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account"
}
}- Optionally, you can run the Python script
simulatedRequests.pyto make some GET requests to the example
kind delete clusters advocateThe repo contains the follwing folders:
demo: Contains the core demo componentes that should be build and deployed with the./start.shscript.infra: Contains the infrastructure components that are needed to run the demo, e.g., the kind cluster and the istio installation.
You can find the advocate related docker images in the registry of Advocate repository .
Both folder will autobuild dockerfiles and deploy componentes following the following convention:
<folder-name>/
Dockerfile -- will be build and added to the kind cluster as <folder-name>:latest
auto-deployment.yaml -- will be deployed to the kind cluster