Rename demos to samples and use paths relative to root of the installation (#207)

* Rename demos to samples

* Use paths relative to the root

* Use paths relative to the root

* Use relative paths

* Put back istioctl instr
This commit is contained in:
Andra Cismaru 2017-05-12 11:54:15 -07:00 committed by GitHub
parent a7e3e348da
commit 4d2d209e25
9 changed files with 38 additions and 34 deletions

View File

@ -449,7 +449,7 @@ manifests:
## Examples ## Examples
You can find fully formed examples of Mixer configuration by visiting the [Samples]({{home}}/docs/samples). As You can find fully formed examples of Mixer configuration by visiting the [Samples]({{home}}/docs/samples). As
a specific example, here is the [BookInfo configuration](https://raw.githubusercontent.com/istio/istio/master/demos/mixer-config-quota-bookinfo.yaml). a specific example, here is the [BookInfo configuration](https://raw.githubusercontent.com/istio/istio/master/samples/mixer-config-quota-bookinfo.yaml).
## Configuration API ## Configuration API

View File

@ -46,25 +46,18 @@ This application is polyglot, i.e., the microservices are written in different l
## Start the application ## Start the application
1. Source the Istio configuration file from the root of the installation directory: 1. Change directory to the root of the Istio installation directory.
1. Source the Istio configuration file:
```bash
cd istio
```
```bash ```bash
source istio.VERSION source istio.VERSION
``` ```
1. Change your current working directory to the `bookinfo` application directory:
```bash
cd demos/apps/bookinfo
```
1. Bring up the application containers: 1. Bring up the application containers:
```bash ```bash
kubectl apply -f <(istioctl kube-inject -f bookinfo.yaml) kubectl apply -f <(istioctl kube-inject -f samples/apps/bookinfo/bookinfo.yaml)
``` ```
The above command launches four microservices and creates the gateway The above command launches four microservices and creates the gateway
@ -155,6 +148,11 @@ This application is polyglot, i.e., the microservices are written in different l
gcloud compute firewall-rules create allow-book --allow tcp:31201 gcloud compute firewall-rules create allow-book --allow tcp:31201
``` ```
If loadbalancers are not supported, or the ADDRESS field remains empty, use the service NodePort instead:
```bash
export GATEWAY_URL=$(kubectl get po -l istio=ingress -o jsonpath={.items[0].status.hostIP}):$(kubectl get svc istio-ingress -o jsonpath={.spec.ports[0].nodePort})
```
1. Confirm that the BookInfo application is running by opening in your browser http://$GATEWAY_URL/productpage , or with the following `curl` command: 1. Confirm that the BookInfo application is running by opening in your browser http://$GATEWAY_URL/productpage , or with the following `curl` command:
```bash ```bash
@ -248,7 +246,7 @@ inject faults, rate limit services, etc..
1. Delete the routing rules and terminate the application pods 1. Delete the routing rules and terminate the application pods
```bash ```bash
./cleanup.sh samples/apps/bookinfo/cleanup.sh
``` ```
1. Confirm shutdown 1. Confirm shutdown

View File

@ -23,8 +23,8 @@ This task shows how to use Istio to control access to a service.
commands: commands:
```bash ```bash
istioctl create -f route-rule-all-v1.yaml istioctl create -f samples/apps/bookinfo/route-rule-all-v1.yaml
istioctl replace -f route-rule-reviews-v2-v3.yaml istioctl replace -f samples/apps/bookinfo/route-rule-reviews-v2-v3.yaml
``` ```
* Ensure that you can use [istioctl mixer]({{home}}/docs/reference/commands/istioctl/istioctl_mixer.html#synopsis) by setting up port forwarding if needed. * Ensure that you can use [istioctl mixer]({{home}}/docs/reference/commands/istioctl/istioctl_mixer.html#synopsis) by setting up port forwarding if needed.

View File

@ -24,7 +24,7 @@ service or, alternatively, to simply enable direct calls to an external service.
* Start a service pod that you can use as a test source for external calls. * Start a service pod that you can use as a test source for external calls.
Any pod that you can `exec` and `curl` from will do, for example, Any pod that you can `exec` and `curl` from will do, for example,
the [sleep sample](https://github.com/istio/istio/tree/master/demos/apps/sleep) the [sleep sample](https://github.com/istio/istio/tree/master/samples/apps/sleep)
is a good choice. is a good choice.
## Using the Istio Egress service ## Using the Istio Egress service
@ -119,13 +119,13 @@ The values used for internal IP range(s), however, depends on where your cluster
For example, with Minikube the range is 10.0.0.1/24, so you would start the sleep service like this: For example, with Minikube the range is 10.0.0.1/24, so you would start the sleep service like this:
```bash ```bash
kubectl apply -f <(istioctl kube-inject -f sleep.yaml --includeIPRanges=10.0.0.1/24) kubectl apply -f <(istioctl kube-inject -f samples/apps/sleep/sleep.yaml --includeIPRanges=10.0.0.1/24)
``` ```
On IBM Bluemix, use: On IBM Bluemix, use:
```bash ```bash
kubectl apply -f <(istioctl kube-inject -f sleep.yaml --includeIPRanges=172.30.0.0/16,172.20.0.0/16) kubectl apply -f <(istioctl kube-inject -f samples/apps/sleep/sleep.yaml --includeIPRanges=172.30.0.0/16,172.20.0.0/16)
``` ```
On Google Container Engine (GKE) the ranges are not fixed, so you will On Google Container Engine (GKE) the ranges are not fixed, so you will
@ -139,7 +139,7 @@ clusterIpv4Cidr: 10.4.0.0/14
servicesIpv4Cidr: 10.7.240.0/20 servicesIpv4Cidr: 10.7.240.0/20
``` ```
```bash ```bash
kubectl apply -f <(istioctl kube-inject -f sleep.yaml --includeIPRanges=10.4.0.0/14,10.7.240.0/20) kubectl apply -f <(istioctl kube-inject -f samples/apps/sleep/sleep.yaml --includeIPRanges=10.4.0.0/14,10.7.240.0/20)
``` ```
After starting your service this way, the Istio sidecar will only intercept and manage internal requests After starting your service this way, the Istio sidecar will only intercept and manage internal requests

View File

@ -23,8 +23,8 @@ This task shows how to inject delays and test the resiliency of your application
commands: commands:
```bash ```bash
istioctl create -f route-rule-all-v1.yaml istioctl create -f samples/apps/bookinfo/route-rule-all-v1.yaml
istioctl create -f route-rule-reviews-test-v2.yaml istioctl create -f samples/apps/bookinfo/route-rule-reviews-test-v2.yaml
``` ```
## Fault injection ## Fault injection
@ -37,7 +37,7 @@ continue without any errors.
1. Create a fault injection rule to delay traffic coming from user "jason" (our test user) 1. Create a fault injection rule to delay traffic coming from user "jason" (our test user)
```bash ```bash
istioctl create -f destination-ratings-test-delay.yaml istioctl create -f samples/apps/bookinfo/destination-ratings-test-delay.yaml
``` ```
Confirm the rule is created: Confirm the rule is created:

View File

@ -37,14 +37,20 @@ default namespace. They can be modified for deployment in a different namespace.
1. Go to the [Istio release](https://github.com/istio/istio/releases) page, to download the installation file corresponding to your OS. 1. Go to the [Istio release](https://github.com/istio/istio/releases) page, to download the installation file corresponding to your OS.
2. Extract the installation file, and change directory to the location where the files were extracted. Following instructions are relative to this installation directory. 1. Extract the installation file, and change directory to the location where the files were extracted. Following instructions are relative to this installation directory.
The installation directory contains: The installation directory contains:
* yaml installation files for Kubernetes * yaml installation files for Kubernetes
* sample apps * sample apps
* the `istioctl` client binary, needed to inject Envoy as a sidecar proxy, and useful for creating routing rules and policies. * the `istioctl` client binary, needed to inject Envoy as a sidecar proxy, and useful for creating routing rules and policies.
* a text file containing the Istio version. * the istio.VERSION configuration file.
3. Run the following command to determine if your cluster has [RBAC (Role-Based Access Control)](https://kubernetes.io/docs/admin/authorization/rbac/) 1. Add the `istioctl` client to your PATH. For example, run the following commands on a Mac system:
```bash
sudo ln -s $PWD/istioctl /usr/local/bin/
```
1. Run the following command to determine if your cluster has [RBAC (Role-Based Access Control)](https://kubernetes.io/docs/admin/authorization/rbac/)
enabled: enabled:
```bash ```bash
@ -60,7 +66,7 @@ enabled:
kubectl apply -f install/kubernetes/istio-rbac-alpha.yaml kubectl apply -f install/kubernetes/istio-rbac-alpha.yaml
``` ```
4. Install Istio's core components . 1. Install Istio's core components .
There are two mutually exclusive options at this stage: There are two mutually exclusive options at this stage:
* Install Istio without enabling [Istio Auth](https://istio.io/docs/concepts/network-and-auth/auth.html) feature: * Install Istio without enabling [Istio Auth](https://istio.io/docs/concepts/network-and-auth/auth.html) feature:
@ -79,7 +85,7 @@ enabled:
This command will install Istio-Manager, Mixer, Ingress-Controller, and Egress-Controller, and the Istio CA (Certificate Authority). This command will install Istio-Manager, Mixer, Ingress-Controller, and Egress-Controller, and the Istio CA (Certificate Authority).
5. *Optional:* To view metrics collected by Mixer, install [Prometheus](https://prometheus.io), [Grafana](http://staging.grafana.org) or 1. *Optional:* To view metrics collected by Mixer, install [Prometheus](https://prometheus.io), [Grafana](http://staging.grafana.org) or
ServiceGraph addons. ServiceGraph addons.
*Note 1*: The Prometheus addon is *required* as a prerequisite for Grafana and the ServiceGraph addons. *Note 1*: The Prometheus addon is *required* as a prerequisite for Grafana and the ServiceGraph addons.

View File

@ -23,8 +23,8 @@ This task shows you how to use Istio to dynamically limit the traffic to a servi
commands: commands:
```bash ```bash
istioctl create -f route-rule-all-v1.yaml istioctl create -f samples/apps/bookinfo/route-rule-all-v1.yaml
istioctl replace -f route-rule-reviews-v2-v3.yaml istioctl replace -f samples/apps/bookinfo/route-rule-reviews-v2-v3.yaml
``` ```
* Ensure that you can use [istioctl mixer]({{home}}/docs/reference/commands/istioctl.html#istioctl-mixer) by setting up port forwading if needed. * Ensure that you can use [istioctl mixer]({{home}}/docs/reference/commands/istioctl.html#istioctl-mixer) by setting up port forwading if needed.

View File

@ -30,7 +30,7 @@ route requests to all available versions of a service in a random fashion.
1. Set the default version for all microservices to v1. 1. Set the default version for all microservices to v1.
```bash ```bash
istioctl create -f route-rule-all-v1.yaml istioctl create -f samples/apps/bookinfo/route-rule-all-v1.yaml
``` ```
You can display the routes that are defined with the following command: You can display the routes that are defined with the following command:
@ -97,7 +97,7 @@ route requests to all available versions of a service in a random fashion.
`reviews:v2` instances. `reviews:v2` instances.
```bash ```bash
istioctl create -f route-rule-reviews-test-v2.yaml istioctl create -f samples/apps/bookinfo/route-rule-reviews-test-v2.yaml
``` ```
Confirm the rule is created: Confirm the rule is created:
@ -140,7 +140,7 @@ to `reviews:v3` in two steps as follows:
1. First, transfer 50% of traffic from `reviews:v1` to `reviews:v3` with the following command: 1. First, transfer 50% of traffic from `reviews:v1` to `reviews:v3` with the following command:
```bash ```bash
istioctl replace -f route-rule-reviews-50-v3.yaml istioctl replace -f samples/apps/bookinfo/route-rule-reviews-50-v3.yaml
``` ```
Notice that we are using `istioctl replace` instead of `create`. Notice that we are using `istioctl replace` instead of `create`.
@ -162,7 +162,7 @@ that we created exclusively for him:
3. When version v3 of the reviews microservice is stable, route 100% of the traffic to `reviews:v3`: 3. When version v3 of the reviews microservice is stable, route 100% of the traffic to `reviews:v3`:
```bash ```bash
istioctl replace -f route-rule-reviews-v3.yaml istioctl replace -f samples/apps/bookinfo/route-rule-reviews-v3.yaml
``` ```
You can now log in to the `productpage` as any user and you should always see book reviews You can now log in to the `productpage` as any user and you should always see book reviews

View File

@ -22,7 +22,7 @@ This task shows you how to setup request timeouts in Envoy using Istio.
* Initialize the application version routing by running the following command: * Initialize the application version routing by running the following command:
```bash ```bash
istioctl create -f route-rule-all-v1.yaml istioctl create -f samples/apps/bookinfo/route-rule-all-v1.yaml
``` ```
## Request timeouts ## Request timeouts