Skip to content

Instantly share code, notes, and snippets.

@vfarcic
Last active December 23, 2023 03:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save vfarcic/d81f114a887065a375279635a66ccac2 to your computer and use it in GitHub Desktop.
Save vfarcic/d81f114a887065a375279635a66ccac2 to your computer and use it in GitHub Desktop.
# Source: https://gist.github.com/d81f114a887065a375279635a66ccac2
######################
# Creating A Cluster #
######################
# NOTE: A new and improved cluster creation Gists for GKE, EKS, and AKS
# Docker Desktop with Istio: https://gist.github.com/9a9752cf5355f1b8095bd34565b80aae (docker-istio.sh)
# Minikube with Istio: https://gist.github.com/a5870806ae6f21de271bf9214e523b53 (minikube-istio.sh)
# Regional and scalable GKE with Istio: https://gist.github.com/88e810413e2519932b61d81217072daf (gke-istio-full.sh)
# Regional and scalable EKS with Istio: https://gist.github.com/d73fb6f4ff490f7e56963ca543481c09 (eks-istio-full.sh)
# Regional and scalable AKS with Istio: https://gist.github.com/b068c3eadbc4140aed14b49141790940 (aks-istio-full.sh)
# NOTE: Remember to declare `INGRESS_HOST`
#####################
# Deploying The App #
#####################
cd go-demo-8
git pull
kubectl create namespace go-demo-8
kubectl label namespace go-demo-8 \
istio-injection=enabled
kubectl --namespace go-demo-8 \
apply --filename k8s/app-full
kubectl --namespace go-demo-8 \
rollout status deployment go-demo-8
curl -H "Host: repeater.acme.com" \
"http://$INGRESS_HOST?addr=http://go-demo-8"
#################################
# Exploring Experiments Journal #
#################################
cat chaos/health-http.yaml
chaos run chaos/health-http.yaml \
--rollback-strategy=always \
--journal-path journal-health-http.json
cat journal-health-http.json
##############################
# Creating Experiment Report #
##############################
# Start a local Docker daemon
docker container run \
--user $(id -u) \
--volume $PWD:/tmp/result \
-it \
chaostoolkit/reporting \
-- report \
--export-format=pdf \
journal-health-http.json \
report.pdf
# If Windows, open the `report.pdf` file manually
open report.pdf
######################################
# Creating A Multi-Experiment Report #
######################################
cat chaos/network-delay.yaml
chaos run chaos/network-delay.yaml \
--rollback-strategy=always \
--journal-path journal-network-delay.json
docker container run \
--user $(id -u) \
--volume $PWD:/tmp/result \
-it \
chaostoolkit/reporting \
-- report \
--export-format=pdf \
journal-health-http.json \
journal-network-delay.json \
report.pdf
# If Windows, open the `report.pdf` file manually
open report.pdf
##############################
# Destroying What We Created #
##############################
cd ..
kubectl delete namespace go-demo-8
# NOTE: Stop Docker daemon
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment