Skip to content

Commit

Permalink
perf setup scripts: add link to dailies and update for post 0.5.0 (is…
Browse files Browse the repository at this point in the history
…tio#3280)

* add link to dailies and update for post 0.5.0

* review feedback

* more updates

* Additional updates
  • Loading branch information
ldemailly authored Feb 10, 2018
1 parent 62fc372 commit d88d85f
Showing 1 changed file with 34 additions and 12 deletions.
46 changes: 34 additions & 12 deletions tools/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,36 @@ This guide provides step-by-step instructions for using the `setup_perf_cluster.
The script deploys a GKE cluster, an Istio service mesh, a GCE VM and runs [Fortio](https://github.com/istio/fortio/)
on the VM and within the mesh. Fortio is used to perform load testing, graph results and as a backend echo server.

### Clone Istio
### Download a Release or Clone Istio

From release (either [official](https://github.com/istio/istio/releases) or [dailies](https://github.com/istio/istio/wiki/Daily-builds)):
```
curl -L https://git.io/getLatestIstio | sh - # or download the daily TGZ
```

From source:
```
$ git clone https://github.com/istio/istio.git && cd istio
```

### Prepare the Istio Deployment Manifest and Istio Client
__Option A:__ Build the deployment manifest and `istioctl` binary:

__Option A:__ (From release) Make sure `istioctl` is in your path is the one matching the downloaded release.

For instance, in `~/tmp/istio-0.5.0/` run:
```
export PATH=`pwd`/bin:$PATH
# check 'which istioctl' and 'istioctl version' returns the correct version
```
$ ./install/updateVersion.sh
For versions before 0.5.0 (the tools/ directory is now part of the release)
```
$ ln -s $GOPATH/src/istio.io/istio/tools
```
If you want to get newer version of the tools, you can `rm -rf tools/` and do the symlink above to use your updated/newer script.

__Option B:__ (From source) Build the deployment manifest and `istioctl` binary:
```
$ ./install/updateVersion.sh # This step is only needed when using Istio from source.
```
Follow the steps in the [Developer Guide](https://github.com/istio/istio/blob/master/DEV-GUIDE.md) to build the `istioctl` binary.
Make the kubectl binary executable.
Expand All @@ -24,12 +45,6 @@ Move the binary in to your PATH.
$ mv ./istioctl /usr/local/bin/istioctl
```

__Option B:__ Follow the [quickstart guide](https://istio.io/docs/setup/kubernetes/quick-start.html) to install the
manifests and `istioctl` binary. Make sure `istioctl` in your path is the one matching the downloaded release.
For instance, in `~/tmp/istio-0.4.0/` run:
```
$ ln -s $GOPATH/src/istio.io/istio/tools
```

### Set Your Google Cloud Credentials.
```
Expand All @@ -43,6 +58,7 @@ For example, to update the default gcloud zone (us-east4-b):
```
$ ZONE=us-west1-a
```
If you change either the `PROJECT` or the `ZONE`, make sure to run `update_gcp_opts` before calling the other functions.

### Source the Script
```
Expand Down Expand Up @@ -75,7 +91,8 @@ istio-system istio-mixer-3192291716-psskv 3/3
istio-system istio-pilot-3663920167-4ns3g 2/2 Running 0 7m
<SNIP>
```
You can now run the performance tests:
You can now run the performance tests, either from the command line or interactively using the UIs (see next section). For command lines there are a couple of examples in the `run_tests` function:

```
$ run_tests
```
Expand Down Expand Up @@ -109,8 +126,9 @@ of the Istio service mesh:
```
Compare the test results to understand the load differential between the 3 test cases.

### Additional Testing
Fortio provides a [Web UI](https://user-images.githubusercontent.com/3664595/34192808-1983be12-e505-11e7-9c16-2ee9f101f2ce.png) that
### Interactive Testing / UI Graphing of results

Fortio provides a [Web UI](https://github.com/istio/fortio#webgraphical-ui) that
can be used to perform load testing. You can call the `get_ips` function to obtain Fortio endpoint information for further load testing:
```
$ get_ips
Expand All @@ -137,3 +155,7 @@ $ delete_cluster
$ delete_vm
$ delete_vm_firewall
```

### See also

[Perf setup FAQ wiki](https://github.com/istio/istio/wiki/Istio-Performance-oriented-setup-FAQ)

0 comments on commit d88d85f

Please sign in to comment.