Google Cloud Platform
- 1 min read
- Last Updated October 17, 2018
Google Cloud Chaos Monkey
Google Cloud Chaos Monkey is an open-source tool written in F# that performs a few basic Chaos Experiments on Google Cloud instances. Instance target selection is pseudo-randomized and based on probabilities.
- Reset: Resets the targeted instance.
- Stop and Start: Stops the instance and then restarts it after
3
seconds.
Engineering Chaos Experiments on TensorFlow with Gremlin
It's safe and easy to perform Chaos Experiments on Google Cloud Platform services like TensorFlow with Gremlin Free. As a clustered configuration TensorFlow is ideal for running Chaos Experiments to test the fault tolerance and stability of each clustered node. Gremlin can execute attacks that will show you the resilience of your TensorFlow cluster, including overloading CPU, and terminating instances.
Check out the full tutorial over on our community site.
Swapping Kubernetes Nodes in GKE with Chaos Toolkit
If you're looking to get into Chaos Engineering with Kubernetes check out our How to Deploy Spinnaker on Kubernetes tutorial to get started with Amazon EKS. On the other hand, to induce Chaos on Google Cloud Kubernetes Engine clusters you can use the Chaos Toolkit Google Cloud driver. A relatively simple failure injection involves attacking a node pool with an HTTP load balancing library like Vegeta and then calling the swap_nodepool
function to create a new node pool and drain the old pool. This forces pods to be moved to the new pool.
Below is a simple Action configuration to perform such an attack, which can be added to your configuration file before executing Chaos Toolkit.
1{2 "type": "action",3 "name": "swap-out-nodepools",4 "provider": {5 "type": "python",6 "module": "chaosgce.nodepool.actions",7 "func": "swap_nodepool",8 "secrets": ["gce"],9 "arguments": {10 "body": {11 "nodePool": {12 "config": {13 "oauthScopes": [14 "gke-version-default",15 "https://www.googleapis.com/auth/devstorage.read_only",16 "https://www.googleapis.com/auth/logging.write",17 "https://www.googleapis.com/auth/monitoring",18 "https://www.googleapis.com/auth/service.management.readonly",19 "https://www.googleapis.com/auth/servicecontrol",20 "https://www.googleapis.com/auth/trace.append"21 ]22 },23 "initialNodeCount": 3,24 "name": "new-default-pool"25 }26 }27 }28 }29}
Head over to our Kubernetes Alternatives - Chaos Toolkit section for more details on the inner-workings and configuration of Chaos Toolkit. Additionally, check out this tutorial for more information on node swapping with Chaos Toolkit.