Conversation
joesbigidea
left a comment
There was a problem hiding this comment.
Looks good but I think there are some gaps in the documentation
|
|
||
| ## Step 1: Prerequisites | ||
| 1. [Walkthrough: App Mesh with EKS](../eks/) | ||
| 1. Make sure you have "appmesh-prometheus" installed. You may follow this [live docs](https://aws.github.io/aws-app-mesh-controller-for-k8s/) _Guide_ section for further installation support. |
There was a problem hiding this comment.
It might be easier for the customer if you just link directly to the App Mesh Prometheus chart: https://github.com/aws/eks-charts/tree/master/stable/appmesh-prometheus
| We need to set a few environment variables before starting the load tests. | ||
|
|
||
| ```bash | ||
| export CONTROLLER_PATH=<Path to the controller directory e.g., /home/userName/workplace/appmesh-controller/aws-app-mesh-controller-for-k8s> |
There was a problem hiding this comment.
I think you may need to break this down a bit. It's not going to be clear to people that they need to clone the controller repo just based on this comment. I'd say add cloning the controller repo to the prerequisites
|
|
||
| ## Step 4: Running the Load Test | ||
| Run the driver script using the below command -: | ||
| > sh scripts/driver.sh |
There was a problem hiding this comment.
I think this is going to require setup of the controller dev environment, tools such as Ginkgo. We probably need some instructions for that.
| 1. Make sure you have "appmesh-prometheus" installed. You may follow this [live docs](https://aws.github.io/aws-app-mesh-controller-for-k8s/) _Guide_ section for further installation support. | ||
| 2. Alternatively, you can follow this doc: [Getting started with AWS App Mesh and Kubernetes](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-kubernetes.html) to install appmesh-controller and EKS cluster using `eksctl`. | ||
| 2. Clone this repository and navigate to the `walkthroughs/howto-k8s-appmesh-load-test` folder, all the commands henceforth are assumed to be run from the same directory as this README. | ||
| 3. Make sure you have the latest version of [AWS CLI v2](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) installed. |
There was a problem hiding this comment.
v1 also works (with new features like multiple listener) as long as you have the latest
| nodeGroups: | ||
| - name: ng-1 | ||
| instanceType: m5.4xlarge | ||
| desiredCapacity: 10 |
There was a problem hiding this comment.
Is such a big group intentional? I usually see at most 5 in other examples.
There was a problem hiding this comment.
It is just an example cluster config showing customer how to use a cluster config as a file to create cluster with various properties such as different instance size.
There was a problem hiding this comment.
Yeah then maybe 2-3 nodes are quite enough (reduce cost)
| PROMETHEUS_QUERY_ENDPOINT = 'http://localhost:9090/api/v1/query_range' | ||
|
|
||
| # give your s3 bucket a unique name | ||
| S3_BUCKET = "mazharis-appmeshloadtester" |
There was a problem hiding this comment.
Maybe should not put alias here?
joesbigidea
left a comment
There was a problem hiding this comment.
I would recommend running this on a fresh account with a fresh machine (maybe Cloud9?) to make sure that it's not accidentally depending on anything that isn't going to be automatically available to end users.
| err "VPC_ID is not set" | ||
| fi | ||
|
|
||
| # Check creds |
There was a problem hiding this comment.
isengard is an internal tool, it won't be available
|
On the load test flow diagram what are the numbers communicating? The ordering seems strange |
Issue #, if available:
Description of changes: Added a walkthrough for how to load test AppMesh on EKS. This walkthrough can be used as a tool for further load testing on different mesh configuration. It uses Fortio for load generation.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.