Fix broken links.

This commit is contained in:
Martin Taillefer 2017-05-04 17:07:47 -07:00
parent d01ef464de
commit dc94161777
36 changed files with 149 additions and 145 deletions

View File

@ -88,7 +88,7 @@ Istio Auth workflow consists of two phases, deployment and runtime. This section
1. Istio CA watches Kubernetes API Server, creates a key and certificate pair for each of the existing and new service accounts, and sends them to API Server.
1. When a pod is created, API Server mounts the key and certificate pair according to the service account using [kubernetes secrets](https://kubernetes.io/docs/concepts/configuration/secret/).
1. When a pod is created, API Server mounts the key and certificate pair according to the service account using [Kubernetes secrets](https://kubernetes.io/docs/concepts/configuration/secret/).
1. [Istio Manager](docs/concepts/traffic-management/manager.html) generates the config with proper key and certificate and secure naming information, which defines what service account(s) can run a certain service, and passes it to Envoy.

View File

@ -7,12 +7,10 @@ order: 10
layout: docs
type: markdown
---
{% include home.html %}
The page describes Istio attributes, what they are and how they are used.
## Background
Istio uses *attributes* to control the runtime behavior of services running in the mesh. Attributes are named and typed pieces of metadata
@ -31,7 +29,7 @@ determined by the set of attribute producers being used in the deployment. The p
is Envoy, although specialized Mixer adapters and services can also introduce attributes.
The common baseline set of attributes available in most Istio deployments is defined
[here](/docs/reference/api/attribute-vocabulary.html).
[here]({{home}}/docs/reference/api/attribute-vocabulary.html).

View File

@ -7,6 +7,7 @@ order: 30
layout: docs
type: markdown
---
{% include home.html %}
This page describes Mixer's configuration model.
@ -28,7 +29,7 @@ aspects of a Mixer deployment by manipulating configuration records.
- **Scoped**. Configuration is described hierarchically, enabling both coarse global control as well
as fine-grained local control.
- **Flexible**. The configuration model is built around Istio's [attributes](/docs/concepts/policy-and-control/attributes.html),
- **Flexible**. The configuration model is built around Istio's [attributes](./attributes.html),
enabling operators unprecedented control over the policies used and telemetry produced within a deployment.
- **Robust**. The configuration model is designed to provide maximum static correctness guarantees to help reduce
@ -213,7 +214,7 @@ aspect configuration formats can be found in *TBD*.
#### Attribute expressions
Mixer features a number of independent [request processing phases](/docs/concepts/policy-and-control/mixer.html#request-phases).
Mixer features a number of independent [request processing phases](./mixer.html#request-phases).
The *Attribute Processing* phase is responsible for ingesting a set of attributes and producing the adapter parameters
necessary to invoke individual adapters. The phase operates by evaluating a series of *attribute expressions*.
@ -447,7 +448,7 @@ manifests:
## Examples
You can find fully formed examples of Mixer configuration by visiting the [Samples](/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).
## Configuration API

View File

@ -40,7 +40,7 @@ streams intended for both the service operator as well as for service consumers.
management tool to provide some fairness between service consumers when contending for limited resources. Rate limits are
examples of quotas.
These mechanisms are applied based on a set of [attributes](/docs/concepts/policy-and-control/attributes.html) that are
These mechanisms are applied based on a set of [attributes](./attributes.html) that are
materialized for every request into Mixer. Within Istio, Envoy depends heavily on Mixer. Services running within the mesh
can also use Mixer to report telemetry or manage quotas. (Note: as of Istio Alpha, only Envoy can call Mixer.)

View File

@ -7,6 +7,7 @@ order: 30
layout: docs
type: markdown
---
{% include home.html %}
Envoy provides a set of out-of-the-box _opt-in_ failure recovery features
that can be taken advantage of by the services in an application. Features
@ -41,9 +42,9 @@ and prevent localized failures from cascading instability to other nodes.
Istio's traffic management rules allow
operators to set global defaults for failure recovery per
service/version. However, consumers of a service can also override
[timeout](/docs/reference/api/proxy-config.html#istio.proxy.v1alpha.config.HTTPTimeout.SimpleTimeoutPolicy)
[timeout]({{home}}/docs/reference/api/proxy-config.html#istio.proxy.v1alpha.config.HTTPTimeout.SimpleTimeoutPolicy)
and
[retry](/docs/reference/api/proxy-config.html#istio.proxy.v1alpha.config.HTTPRetry.SimpleRetryPolicy)
[retry]({{home}}/docs/reference/api/proxy-config.html#istio.proxy.v1alpha.config.HTTPRetry.SimpleRetryPolicy)
defaults by providing request-level overrides through special HTTP headers.
With the Envoy proxy implmentation, the headers are "x-envoy-upstream-rq-timeout-ms" and
"x-envoy-max-retries", respectively.

View File

@ -7,7 +7,7 @@ order: 50
layout: docs
type: markdown
---
{% include home.html %}
Istio provides a simple Domain-specific language (DSL) to
control how API calls and layer-4 traffic flow across various
@ -15,7 +15,7 @@ services in the application deployment. The DSL allows the operator to
configure service-level properties such as circuit breakers, timeouts,
retries, as well as set up common continuous deployment tasks such as
canary rollouts, A/B testing, staged rollouts with %-based traffic splits,
etc. See [routing rules reference](/docs/reference/api/proxy-config.html) for detailed information.
etc. See [routing rules reference]({{home}}/docs/reference/api/proxy-config.html) for detailed information.
For example, a simple rule to send 100% of incoming traffic for a "reviews"
service to version "v1" can be described using the Rules DSL as
@ -34,8 +34,8 @@ routed. In a Kubernetes deployment of Istio, the route *tag* "version: v1"
corresponds to a Kubernetes *label* "version: v1". The rule ensures that
only Kubernetes pods containing the label "version: v1" will receive
traffic. Rules can be configured using the
[istioctl CLI](/docs/reference/commands/istioctl/istioctl.html). See the
[configuring request routing task](/docs/tasks/request-routing.html) for
[istioctl CLI]({{home}}/docs/reference/commands/istioctl.html). See the
[configuring request routing task]({{home}}/docs/tasks/request-routing.html) for
examples.
There are two types of rules in Istio, **Routes** and **Destination
@ -177,9 +177,9 @@ httpReqRetries:
```
Note that request timeouts and retries can also be
[overridden on a per-request basis](/docs/concepts/traffic-management/handling-failures.html#fine-tuning).
[overridden on a per-request basis](./handling-failures.html#fine-tuning).
See the [request timeouts task](/docs/tasks/request-timeouts.html) for a demonstration of timeout control.
See the [request timeouts task]({{home}}/docs/tasks/request-timeouts.html) for a demonstration of timeout control.
### Injecting faults in the request path
@ -238,7 +238,7 @@ httpFault:
httpStatus: 400
```
To see fault injection in action, see the [fault injection task](/docs/tasks/fault-injection.html).
To see fault injection in action, see the [fault injection task]({{home}}/docs/tasks/fault-injection.html).
### Rules have precedence
@ -341,7 +341,7 @@ circuitBreaker:
```
The complete set of simple circuit breaker fields can be found
[here](/docs/reference/api/proxy-config.html#istio.proxy.v1alpha.config.CircuitBreaker.SimpleCircuitBreakerPolicy).
[here]({{home}}/docs/reference/api/proxy-config.html#istio.proxy.v1alpha.config.CircuitBreaker.SimpleCircuitBreakerPolicy).
### Destination Policy evaluation

View File

@ -7,7 +7,7 @@ order: 30
layout: docs
type: markdown
---
{% include home.html %}
This page presents an architectural overview for the Istio service mesh.
@ -50,7 +50,7 @@ Mixer is responsible for enforcing access control and usage policies across the
services. The proxy extracts request level attributes which are sent to Mixer for evaluation. More information on the attribute extraction and policy
evaluation can be found here. Mixer includes a flexible plugin model enabling it to interface with a variety of host environments and
infrastructure backends, abstracting
the Envoy proxy and Istio-managed services from these details. More on Mixer [here](/docs/concepts/policy-and-control/mixer.html).
the Envoy proxy and Istio-managed services from these details. More on Mixer [here]({{home}}/docs/concepts/policy-and-control/mixer.html).
## Istio-Manager

View File

@ -8,10 +8,7 @@ order: 0
layout: docs
type: markdown
---
{% assign home = "" %}
{% if site.github.environment == "dotcom" %}
{% assign home = site.baseurl %}
{% endif %}
{% include home.html %}
# Welcome
@ -31,5 +28,5 @@ command-line options, configuration options, API definitions, and procedures.
We're always looking for help improving our documentation, so please don't hesitate to
[file an issue](https://github.com/istio/istio.github.io/issues/new) if you see some problem.
Or better yet, submit your own [contributions](/docs/reference/contribute/editing.html) to help
Or better yet, submit your own [contributions]({{home}}/docs/reference/contribute/editing.html) to help
make our docs better.

View File

@ -7,9 +7,10 @@ order: 10
layout: docs
type: markdown
---
{% include home.html %}
Attributes are a central concept used throughout Istio. You can find a description of what attributes are
and what they are used for [here](/docs/concepts/policy-and-control/attributes.html).
and what they are used for [here]({{home}}/docs/concepts/policy-and-control/attributes.html).
A given Istio deployment has a fixed vocabulary of attributes that it understands. The specific vocabulary is
determined by the set of attribute producers being used in the deployment. The primary attribute producer in Istio

View File

@ -37,8 +37,8 @@ documentation repository in your GitHub account. The copy is called a *fork*.
a new branch to use for your contribution.
1. In your new branch, make your changes and commit them. If you want to
[write a new topic](/docs/reference/contribute/writing-a-new-topic.html),
choose the [page-type](writing-a-new-topic.html#choosing-a-page-type)
[write a new topic](./writing-a-new-topic.html),
choose the [page-type](./writing-a-new-topic.html#choosing-a-page-type)
that is the best fit for your content.
## Submitting a pull request

View File

@ -14,7 +14,7 @@ to the Istio documentation.
## Before you begin
Create a fork of the Istio documentation repository as described in
[Creating a Doc Pull Request](/docs/reference/contribute/creating-a-pull-request.html).
[Creating a Doc Pull Request](./creating-a-pull-request.html).
## Staging locally

View File

@ -16,7 +16,7 @@ propose changes to this document in a pull request.
For additional information on creating new content for the Istio
docs, follow the instructions on
[Creating a Doc Pull Request](/docs/reference/contribute/creating-a-pull-request.html).
[Creating a Doc Pull Request](./creating-a-pull-request.html).
## Formatting standards

View File

@ -13,7 +13,7 @@ This page shows how to create a new Istio documentation topic.
## Before you begin
You first need to create a fork of the Istio documentation repository as described in
[Creating a Doc Pull Request](/docs/reference/contribute/creating-a-pull-request.html).
[Creating a Doc Pull Request](./creating-a-pull-request.html).
## Choosing a page type

View File

@ -7,6 +7,7 @@ order: 40
layout: docs
type: markdown
---
{% include home.html %}
<!-- Ideas for words to add to the glossary
@ -75,7 +76,7 @@ that is independent of the underlying platform.
- **Mixer**.
Mixer is an Istio component responsible for enforcing access control and usage policies across the service mesh and collecting telemetry data
from the Envoy proxy and other services. Learn more about Mixer [here](/docs/concepts/policy-and-control/mixer.html).
from the Envoy proxy and other services. Learn more about Mixer [here]({{home}}/docs/concepts/policy-and-control/mixer.html).
- **Service**.
A unit of an application with a unique name that other services

View File

@ -7,6 +7,7 @@ order: 10
layout: docs
type: markdown
---
{% include home.html %}
This sample deploys a simple application composed of four separate microservices which will be used
to demonstrate various features of the Istio service mesh.
@ -14,7 +15,7 @@ to demonstrate various features of the Istio service mesh.
## Before you begin
Setup Istio by following the instructions in the
[Installation guide](/docs/tasks/installing-istio.html).
[Installation guide]({{home}}/docs/tasks/installing-istio.html).
## Overview
@ -38,7 +39,7 @@ There are 3 versions of the reviews microservice:
The end-to-end architecture of the application is shown below.
![Bookinfo app_noistio](/docs/samples/img/bookinfo/noistio.svg)
![Bookinfo app_noistio](./img/bookinfo/noistio.svg)
This application is polyglot, i.e., the microservices are written in different languages.
@ -65,12 +66,12 @@ This application is polyglot, i.e., the microservices are written in different l
Notice that the `istioctl kube-inject` command is used to modify the `bookinfo.yaml`
file before creating the deployments. This injects Envoy into Kubernetes resources
as documented [here](/docs/reference/commands/istioctl/istioctl_kube-inject.html).
as documented [here]({{home}}/docs/reference/commands/istioctl.html#istioctl-kube-inject).
Consequently, all of the microservices are now packaged with an Envoy sidecar
that manages incoming and outgoing calls for the service. The updated diagram looks
like this:
![Bookinfo app](/docs/samples/img/bookinfo/withistio.svg)
![Bookinfo app](./img/bookinfo/withistio.svg)
1. Confirm all services and pods are correctly defined and running:
@ -128,7 +129,7 @@ This application is polyglot, i.e., the microservices are written in different l
```
1. If you have installed the Istio addons, in particular the servicegraph addon, from the
[Installation guide](/docs/tasks/installing-istio.html), a generated servicegraph
[Installation guide]({{home}}/docs/tasks/installing-istio.html), a generated servicegraph
of the cluster is available.
Get the external IP Address (and port) of the servicegraph service:
@ -145,7 +146,7 @@ This application is polyglot, i.e., the microservices are written in different l
http://104.196.248.114:8088/dotviz). After the single `curl` request from an earlier step,
the resulting image will look something like:
![Bookinfo servicegraph](/docs/samples/img/bookinfo/servicegraph.png)
![Bookinfo servicegraph](./img/bookinfo/servicegraph.png)
The servicegraph should show very low (or zero) QPS values, as only a single request has been sent. The
service uses a default time window of 5 minutes for calculating moving QPS averages. Send a consistent
@ -158,7 +159,7 @@ This application is polyglot, i.e., the microservices are written in different l
Now that you have the bookinfo sample up and running, you can use Istio to control traffic routing,
inject faults, rate limit services, etc..
* To get started, check out the [request routing task](/docs/tasks/request-routing.html)
* To get started, check out the [request routing task]({{home}}/docs/tasks/request-routing.html)
* When you're finished experimenting with the bookinfo sample, you can uninstall it as follows:

View File

@ -7,7 +7,7 @@ order: 10
layout: docs
type: markdown
---
{% include home.html %}
This task describes how to configure Istio to expose an external service to a Kubernetes cluster. You'll learn how
to create an Egress Envoy, define an external service and make requests to the service from within the cluster.
@ -16,7 +16,7 @@ to create an Egress Envoy, define an external service and make requests to the s
## Before you begin
This task assumes you have deployed Istio on Kubernetes. If you have not done so, please first complete
the [Installation Steps](/docs/tasks/installing-istio.html).
the [Installation Steps](./installing-istio.html).
This task also assumes you have a publicly accessible service to call from within the cluster
(or [httpbin.org](http://httpbin.org) can be used as an example).
@ -56,7 +56,7 @@ spec:
- port: 443
```
Deploy your app(s) using the [istioctl kube-inject](/docs/reference/commands/istioctl/istioctl_kube-inject.html) command.
Deploy your app(s) using the [istioctl kube-inject]({{home}}/docs/reference/commands/istioctl.html#istioctl-kube-inject) command.
You can use your own app, or try one of the example apps from [demos](https://github.com/istio/istio/tree/master/demos)
directory. Each app directory contains an associated README.md providing more details.
@ -89,4 +89,4 @@ kubectl exec -it {APP_POD_NAME} curl http://securegoogle:443
## What's next
* See how to make requests to services inside a cluster by using the [Ingress Controller](/docs/tasks/ingress.html).
* See how to make requests to services inside a cluster by using the [Ingress Controller](./ingress.html).

View File

@ -7,18 +7,19 @@ order: 60
layout: docs
type: markdown
---
{% include home.html %}
This task shows how to inject delays and test the resiliency of your application.
## Before you begin
* Setup Istio by following the instructions in the
[Installation guide](/docs/tasks/installing-istio.html).
[Installation guide](./installing-istio.html).
* Deploy the [bookinfo](/docs/samples/bookinfo.html) sample application.
* Deploy the [bookinfo]({{home}}/docs/samples/bookinfo.html) sample application.
* Initialize the application version routing by either first doing the
[request routing](/docs/tasks/request-routing.html) task or by running following
[request routing](./request-routing.html) task or by running following
commands:
```bash
@ -89,13 +90,13 @@ continue without any errors.
However, we already have this fix running in v3 of the reviews service, so we can simply
fix the problem by migrating all
traffic to `reviews:v3` as described in the [request routing task](/docs/tasks/request-routing.html).
traffic to `reviews:v3` as described in the [request routing task](./request-routing.html).
(Left as an exercise for the reader - change the delay rule to
use a 2.8 second delay and then run it against the v3 version of reviews.)
## What's next
* Learn more about [fault injection](/docs/concepts/traffic-management/fault-injection.html).
* Learn more about [fault injection]({{home}}/docs/concepts/traffic-management/fault-injection.html).
* Limit requests to the bookinfo `ratings` service with Istio [rate limiting](/docs/tasks/rate-limiting.html).
* Limit requests to the bookinfo `ratings` service with Istio [rate limiting](./rate-limiting.html).

View File

@ -17,7 +17,7 @@ In a Kubernetes environment, Istio uses [Kubernetes Ingress Resources](https://k
## Before you begin
This task assumes you have deployed Istio on Kubernetes. If you have not done so, please first complete
the [Installation Steps](/docs/tasks/installing-istio.html).
the [Installation Steps](./installing-istio.html).
## Configuring Ingress

View File

@ -7,6 +7,8 @@ order: 10
layout: docs
type: markdown
---
{% include home.html %}
This page shows how to install and configure Istio in a Kubernetes cluster.
## Prerequisites
@ -56,7 +58,7 @@ clone Istio's [GitHub](https://github.com/istio/istio) repository:
```
**If you would like to enable Istio Auth** (For more information, please see
[Istio Auth installation guide](/docs/tasks/istio-auth.html)):
[Istio Auth installation guide](./istio-auth.html)):
```bash
kubectl apply -f ./kubernetes/istio-auth-15.yaml # for Kubernetes 1.5
@ -74,7 +76,7 @@ clone Istio's [GitHub](https://github.com/istio/istio) repository:
source istio.VERSION
```
5. Download one of the [`istioctl`](/docs/reference/commands/istioctl/istioctl.html) client binaries corresponding to your OS: `istioctl-osx`, `istioctl-win.exe`,
5. Download one of the [`istioctl`]({{home}}/docs/reference/commands/istioctl.html) client binaries corresponding to your OS: `istioctl-osx`, `istioctl-win.exe`,
`istioctl-linux`, targeted at Mac, Windows or Linux users respectively. For example, run the following commands on a Mac system:
```bash
@ -109,7 +111,7 @@ ServiceGraph addons:
The dashboard at that location should look something like the following:
![Grafana Istio Dashboard](/docs/tasks/img/grafana_dashboard.png)
![Grafana Istio Dashboard](./img/grafana_dashboard.png)
NOTE: In some deployment environments, it will be possible to access the dashboard directly (without the `kubectl port-forward` command). This is because the default addon configuration requests an external IP address for the grafana service.
@ -152,11 +154,11 @@ ServiceGraph addons:
## Deploy your application
You can now deploy your own application or one of the Istio sample applications,
for example [bookinfo](/docs/samples/bookinfo.html). Note that the application should use HTTP/1.1
for example [bookinfo]({{home}}/docs/samples/bookinfo.html). Note that the application should use HTTP/1.1
or HTTP/2.0 protocol for all its HTTP traffic.
When deploying the application,
use [kube-inject](/docs/reference/commands/istioctl/istioctl_kube-inject.html) to automatically inject
use [kube-inject]({{home}}/docs/reference/commands/istioctl.html#istioctl-kube-inject.html) to automatically inject
Envoy containers in the pods running the services:
```bash
kubectl create -f <(istioctl kube-inject -f <your-app-spec>.yaml)
@ -186,6 +188,6 @@ kubectl create -f <(istioctl kube-inject -f <your-app-spec>.yaml)
## What's next
* Learn more about how to enable [authentication](/docs/tasks/istio-auth.html).
* Learn more about how to enable [authentication](./istio-auth.html).
* See the sample [bookinfo](/docs/samples/bookinfo.html) application.
* See the sample [bookinfo]({{home}}/docs/samples/bookinfo.html) application.

View File

@ -7,16 +7,17 @@ order: 20
layout: docs
type: markdown
---
{% include home.html %}
This task shows how to integrate applications on Kubernetes with
Istio. You'll learn how to inject the Envoy sidecar into deployments
using [istioctl kube-inject](/docs/reference/commands/istioctl/istioctl_kube-inject.html)
using [istioctl kube-inject]({{home}}/docs/reference/commands/istioctl.html#istioctl-kube-inject)
## Before you begin
This task assumes you have deployed Istio on Kubernetes.
If you have not done so, please first complete the
[Installation Steps](/docs/tasks/installing-istio.html).
[Installation Steps](./installing-istio.html).
## Injecting Envoy sidecar into a deployment
@ -202,6 +203,6 @@ routing traffic.
## What's next
* Review full documentation for [istioctl kube-inject](/docs/reference/commands/istioctl/istioctl_kube-inject.html)
* Review full documentation for [istioctl kube-inject]({{home}}/docs/reference/commands/istioctl.html#istioctl-kube-inject.html)
* See the [bookinfo sample](/docs/samples/bookinfo.html) for a more complete example of applications integrated on Kubernetes with Istio.
* See the [bookinfo sample]({{home}}/docs/samples/bookinfo.html) for a more complete example of applications integrated on Kubernetes with Istio.

View File

@ -7,6 +7,7 @@ order: 70
layout: docs
type: markdown
---
{% include home.html %}
This task shows how to set up Istio Auth in a Kubernetes cluster. You'll learn
how to:
@ -21,10 +22,10 @@ how to:
## Before you begin
This task assumes you have:
* Read the [Istio Auth concepts](/docs/concepts/network-and-auth/index.html).
* Read the [Istio Auth concepts]({{home}}/docs/concepts/network-and-auth/index.html).
* Cloned https://github.com/istio/istio to your local machine
(Step 1 in [the Istio installation guide](/docs/tasks/installing-istio.html#installing-on-an-existing-cluster)).
(Step 1 in [the Istio installation guide](./installing-istio.html#installing-on-an-existing-cluster)).
In real world systems, only a single Istio CA should be present in a Kubernetes cluster,
which is always deployed in a dedicated namespace. The Istio CA issues certificates/keys to
@ -41,7 +42,7 @@ Because each Istio CA is scoped within a namespace, Istio CAs in different names
and they are easy to clean up through a single command.
We have the YAML files *istio-auth-X.yaml* for deploying all Istio components including Istio CA into the namespace.
Follow [the Istio installation guide](/docs/tasks/installing-istio.html),
Follow [the Istio installation guide](./installing-istio.html),
and **choose "If you would like to enable Istio Auth" in step 3**.
### Option 2: (recommended) using per-cluster CA
@ -76,7 +77,7 @@ sed "s/# authPolicy: MUTUAL_TLS/authPolicy: MUTUAL_TLS/" ./kubernetes/istio-X.ya
#### Deploying other services
Follow [the general Istio installation guide](/docs/tasks/installing-istio.html),
Follow [the general Istio installation guide](./installing-istio.html),
and **choose "If you would like to enable Istio Auth" in step 3**.
## Disabling Istio Auth

View File

@ -7,25 +7,26 @@ order: 80
layout: docs
type: markdown
---
{% include home.html %}
This task shows how to configure Mixer to automatically gather telemetry
for a service within a cluster. At the end of this task, a new metric and
a new log stream will be enabled for calls to a specific service within your
cluster.
The [BookInfo sample application](/docs/samples/bookinfo.html) is used
The [BookInfo sample application]({{home}}/docs/samples/bookinfo.html) is used
as the example application throughout this task.
## Before you begin
* [Install Istio](/docs/tasks/installing-istio.html) in your kubernetes
* [Install Istio](./installing-istio.html) in your kubernetes
cluster and deploy an application.
* Configure your environment to support calling `istioctl mixer`.
This may require setting up port-forwarding for the Mixer Config API as described in the
[reference docs](/docs/reference/commands/istioctl/istioctl_mixer.html#synopsis) for `istioctl mixer`.
[reference docs]({{home}}/docs/reference/commands/istioctl.html#istioctl-mixer) for `istioctl mixer`.
* Configure your environment to support accessing the Istio dashboard, as described in the
[Installation Guide](/docs/tasks/installing-istio.html). This requires installing the optional add-ons
[Installation Guide](./installing-istio.html). This requires installing the optional add-ons
([Prometheus](https://prometheus.io) and [Grafana](https://grafana.com/)), as well as verifying access to
the dashboard. The Istio dashboard will be used to verify task success.
@ -140,7 +141,7 @@ as the example application throughout this task.
The request from the previous step is reflected in the graphs. This looks similar to:
![Istio Dashboard with Response Size data](/docs/tasks/img/dashboard_response_size.png)
![Istio Dashboard with Response Size data](./img/dashboard_response_size.png)
1. Verify that the logs stream has been created and is being populated
for requests.
@ -250,6 +251,9 @@ generate new access logs descriptors. Work is ongoing to extend the Mixer
Config API to add support for creating new descriptors.
## What's next
* Learn more about [Mixer](/docs/concepts/policy-and-control/mixer.html) and [Mixer Config](/docs/concepts/policy-and-control/mixer-config.html).
* Discover the full [Attribute Vocabulary](/docs/reference/attribute-vocabulary.html).
* Read the reference guide to [Writing Config](/docs/reference/writing-config.html).
* Learn more about [Mixer]({{home}}/docs/concepts/policy-and-control/mixer.html) and [Mixer Config]({{home}}/docs/concepts/policy-and-control/mixer-config.html).
* Discover the full [Attribute Vocabulary]({{home}}/docs/reference/attribute-vocabulary.html).
* Read the reference guide to [Writing Config]({{home}}/docs/reference/writing-config.html).

View File

@ -7,25 +7,26 @@ order: 40
layout: docs
type: markdown
---
{% include home.html %}
This task shows you how to use Istio to dynamically limit the traffic to a service.
## Before you begin
* Setup Istio by following the instructions in the
[Installation guide](/docs/tasks/installing-istio.html).
[Installation guide](./installing-istio.html).
* Deploy the [bookinfo](/docs/samples/bookinfo.html) sample application.
* Deploy the [bookinfo]({{home}}/docs/samples/bookinfo.html) sample application.
* Initialize the application version routing by either first doing the
[request routing](/docs/tasks/request-routing.html) task or by running following
[request routing](./request-routing.html) task or by running following
commands:
```bash
istioctl create -f route-rule-all-v1.yaml
istioctl replace -f route-rule-reviews-v2-v3.yaml
```
* Ensure that you can use [istioctl mixer](/docs/reference/commands/istioctl/istioctl_mixer.html#synopsis) 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.
## Rate limits
@ -156,6 +157,9 @@ the following config validation error if any labels are missing.
```
## What's next
* Learn more about [Mixer](/docs/concepts/policy-and-control/mixer.html) and [Mixer Config](/docs/concepts/policy-and-control/mixer-config.html).
* Discover the full [Attribute Vocabulary](/docs/reference/attribute-vocabulary.html).
* Read the reference guide to [Writing Config](/docs/reference/writing-config.html).
* Learn more about [Mixer]({{home}}/docs/concepts/policy-and-control/mixer.html) and [Mixer Config]({{home}}/docs/concepts/policy-and-control/mixer-config.html).
* Discover the full [Attribute Vocabulary]({{home}}/docs/reference/attribute-vocabulary.html).
* Read the reference guide to [Writing Config]({{home}}/docs/reference/writing-config.html).

View File

@ -7,15 +7,16 @@ order: 50
layout: docs
type: markdown
---
{% include home.html %}
This task shows you how to configure dynamic request routing based on weights and HTTP headers.
## Before you begin
* Setup Istio by following the instructions in the
[Installation guide](/docs/tasks/installing-istio.html).
[Installation guide](./installing-istio.html).
* Deploy the [bookinfo](/docs/samples/bookinfo.html) sample application.
* Deploy the [bookinfo]({{home}}/docs/samples/bookinfo.html) sample application.
## Content-based routing
@ -129,7 +130,7 @@ Once the v2 version has been tested to our satisfaction, we could use Istio to s
all users to v2, optionally in a gradual fashion by using a sequence of rules with weights less
than 100 to migrate traffic in steps, for example 10, 20, 30, ... 100%.
If you now proceed to the [fault injection task](/docs/tasks/fault-injection.html), you will see
If you now proceed to the [fault injection task](./fault-injection.html), you will see
that with simple testing, the v2 version of the reviews service has a bug, which is fixed in v3.
So after exploring that task, you can route all user traffic from `reviews:v1`
to `reviews:v3` in two steps as follows:
@ -167,6 +168,6 @@ that we created exclusively for him:
## What's next
* Learn more about [request routing](/docs/concepts/traffic-management/rules-configuration.html).
* Learn more about [request routing]({{home}}/docs/concepts/traffic-management/rules-configuration.html).
* Test the bookinfo application resiliency by [injecting faults](/docs/tasks/fault-injection.html).
* Test the bookinfo application resiliency by [injecting faults](./fault-injection.html).

View File

@ -7,6 +7,7 @@ order: 40
layout: docs
type: markdown
---
{% include home.html %}
This task shows you how to setup request timeouts in Envoy using Istio.
@ -14,9 +15,9 @@ This task shows you how to setup request timeouts in Envoy using Istio.
## Before you begin
* Setup Istio by following the instructions in the
[Installation guide](/docs/tasks/installing-istio.html).
[Installation guide](./installing-istio.html).
* Deploy the [bookinfo](/docs/samples/bookinfo.html) sample application.
* Deploy the [bookinfo]({{home}}/docs/samples/bookinfo.html) sample application.
* Initialize the application version routing by running the following command:
@ -110,7 +111,7 @@ microservice also has its own application-level timeout (3 seconds) for calls to
Notice that in this task we used an Istio route rule to set the timeout to 1 second.
Had we instead set the timeout to something greater than 3 seconds (e.g., 4 seconds) the timeout
would have had no effect since the more restrictive of the two will take precedence.
More details can be found [here](/docs/concepts/traffic-management/handling-failures.html#faq).
More details can be found [here]({{home}}/docs/concepts/traffic-management/handling-failures.html#faq).
One more thing to note about timeouts in Istio is that in addition to overriding them in route rules,
as we did in this task, they can also be overridden on a per-request basis if the application adds
@ -119,6 +120,6 @@ the timeout is specified in millisecond (instead of second) units.
## What's next
* Learn more about [failure handling](/docs/concepts/traffic-management/handling-failures.html).
* Learn more about [failure handling]({{home}}/docs/concepts/traffic-management/handling-failures.html).
* Learn more about [routing rules](/docs/concepts/traffic-management/rules-configuration.html).
* Learn more about [routing rules]({{home}}/docs/concepts/traffic-management/rules-configuration.html).

4
_includes/home.html Normal file
View File

@ -0,0 +1,4 @@
{% assign home = "" %}
{% if site.github.environment == "dotcom" %}
{% assign home = site.baseurl %}
{% endif %}

View File

@ -1,10 +1,7 @@
---
layout: default
---
{% assign home = "" %}
{% if site.github.environment == "dotcom" %}
{% assign home = site.baseurl %}
{% endif %}
{% include home.html %}
<div class="container">
<div class="row">

View File

@ -1,10 +1,7 @@
---
layout: compress
---
{% assign home = "" %}
{% if site.github.environment == "dotcom" %}
{% assign home = site.baseurl %}
{% endif %}
{% include home.html %}
<!DOCTYPE html>
<html lang="en" itemscope itemtype="https://schema.org/WebPage">

View File

@ -1,10 +1,7 @@
---
layout: default
---
{% assign home = "" %}
{% if site.github.environment == "dotcom" %}
{% assign home = site.baseurl %}
{% endif %}
{% include home.html %}
<div class="container">
<div class="row">

View File

@ -1,10 +1,7 @@
---
layout: default
---
{% assign home = "" %}
{% if site.github.environment == "dotcom" %}
{% assign home = site.baseurl %}
{% endif %}
{% include home.html %}
<div class="container">
<div class="row">

View File

@ -1,10 +1,7 @@
---
layout: base
---
{% assign home = "" %}
{% if site.github.environment == "dotcom" %}
{% assign home = site.baseurl %}
{% endif %}
{% include home.html %}
<div class="nav-hero-container">
{% include nav.html %}

View File

@ -1,12 +1,7 @@
---
layout: default
---
{% assign home = "" %}
{% if site.github.environment == "dotcom" %}
{% assign home = site.baseurl %}
{% endif %}
{% include home.html %}
{% include doc-top-nav.html %}
<div class="container">
<div class="row">

View File

@ -1,11 +1,7 @@
---
layout: base
---
{% assign home = "" %}
{% if site.github.environment == "dotcom" %}
{% assign home = site.baseurl %}
{% endif %}
{% include home.html %}
<div class="nav-hero-container">
{% include nav.html %}

View File

@ -3,10 +3,7 @@ title: Community
overview: Information on the various ways to participate and interact with the Istio community.
layout: community
---
{% assign home = "" %}
{% if site.github.environment == "dotcom" %}
{% assign home = site.baseurl %}
{% endif %}
{% include home.html %}
<section class="lead">
<p>

View File

@ -4,6 +4,7 @@ overview: Frequently Asked Questions about Istio.
layout: faq
type: markdown
---
{% include home.html %}
# Frequently Asked Questions
@ -13,11 +14,12 @@ Istio is an open platform-independent service mesh that provides traffic managem
*Open*: Istio is being developed and maintained as open-source software. We encourage contributions and feedback from the community at-large.
*Platform-independent*: Istio is not targeted at any specific deployment environment. During the initial stages of development, Istio will support kubernetes-based deployments. However, Istio is being built to enable rapid and easy adaptation to other environments.
*Platform-independent*: Istio is not targeted at any specific deployment environment. During the initial stages of development, Istio will support
Kubernetes-based deployments. However, Istio is being built to enable rapid and easy adaptation to other environments.
*Service mesh*: Istio is designed to manage communications between microservices and applications. Without requiring changes to the underlying services, Istio provides automated baseline traffic resilience, service metrics collection, distributed tracing, traffic encryption, protocol upgrades, and advanced routing functionality for all service-to-service communication.
For more detail, please see: [What is Istio?](/docs/concepts/what-is-istio/)
For more detail, please see: [What is Istio?]({{home}}/docs/concepts/what-is-istio/)
#### Why would I want to use Istio?
@ -29,10 +31,12 @@ Traditionally, much of the logic handled by Istio has been built directly into a
#### How do I get started using Istio?
We recommend starting with the [BookInfo sample](/docs/samples/bookinfo.html). The BookInfo example walks through setting up a cluster with four distinct microservices managed by Istio. It exercises some basic features, including content-based routing, fault injection, and rate-limiting.
We recommend starting with the [BookInfo sample]({{home}}/docs/samples/bookinfo.html). The BookInfo example walks through setting up a cluster with four
distinct
microservices managed by Istio. It exercises some basic features, including content-based routing, fault injection, and rate-limiting.
After you have mastered the BookInfo sample, you are ready to begin using Istio for your own services. To start using Istio on your existing Kubernetes
cluster, please refer to our [Installation](/docs/tasks/installing-istio.html) task guide.
cluster, please refer to our [Installation]({{home}}/docs/tasks/installing-istio.html) task guide.
#### What is the license?
@ -40,7 +44,8 @@ Istio uses the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.
#### What deployment environments are supported?
Istio is designed and built to be platform-independent. For our initial Alpha release, however, Istio only supports environments running kubernetes v1.5 or greater.
Istio is designed and built to be platform-independent. For our initial Alpha release, however, Istio only supports environments running Kubernetes v1.5 or
greater.
#### How can I contribute?
@ -48,13 +53,19 @@ Contributions are highly welcome. We look forward to community feedback, additio
The code repositories are hosted on [GitHub](https://github.com/istio). Please see our [Contribution Guidelines](https://github.com/istio/istio/blob/master/CONTRIBUTING.md) to learn how to contribute.
In addition to the code, there are other ways to contribute to the Istio [community](/community/), including on [Stack Overflow](https://stackoverflow.com/questions/tagged/istio), the [mailing list](https://groups.google.com/forum/#!forum/istio-users), and our [Slack channel](https://istio-dev.slack.com/).
In addition to the code, there are other ways to contribute to the Istio [community]({{home}}/community/), including on
[Stack Overflow](https://stackoverflow.com/questions/tagged/istio), the [mailing list](https://groups.google.com/forum/#!forum/istio-users),
and on [Slack](https://istio.slack.com/).
#### Where is the documentation?
Check out the [documentation](/docs/) right here on istio.io. The docs include [concept overviews](/docs/concepts/), [task guides](/docs/tasks/), [samples](/docs/samples/), and the [complete reference documentation](/docs/reference/).
Check out the [documentation]({{home}}/docs/) right here on istio.io. The docs include
[concept overviews]({{home}}/docs/concepts/),
[task guides]({{home}}/docs/tasks/),
[samples]({{home}}/docs/samples/),
and the [complete reference documentation]({{home}}/docs/reference/).
Detailed developer-level documentation is maintained for each component in github, alongside the code. Please visit each repository for those docs:
Detailed developer-level documentation is maintained for each component in GitHub, alongside the code. Please visit each repository for those docs:
* [Envoy](https://lyft.github.io/envoy/docs/)
@ -64,11 +75,13 @@ Detailed developer-level documentation is maintained for each component in githu
#### Istio doesn't work - what do I do?
Follow the [instructions](https://github.com/istio/istio/blob/master/CONTRIBUTING.md#issues) to open an issue [here](https://github.com/istio/istio/issues/new) or ask questions on [slack](https://istio-dev.slack.com/messages/C524NCGR1/).
Follow the [instructions](https://github.com/istio/istio/blob/master/CONTRIBUTING.md#issues) to open an issue [here](https://github.com/istio/istio/issues/new) or ask questions
on [slack](https://istio.slack.com/messages/C524NCGR1/).
Our [users mailing list](https://groups.google.com/forum/#!forum/istio-users) is another great way to get help and answers. We also monitor [Stack Overflow](https://stackoverflow.com/questions/tagged/istio) for questions tagged with "istio".
Our [user mailing list](https://groups.google.com/forum/#!forum/istio-users) is another great way to get help and answers. We also monitor [Stack Overflow](https://stackoverflow.com/questions/tagged/istio) for questions tagged with "istio".
Additionally, we provide [Reference Guides](/docs/reference/) for all of the Istio components. These can be helpful when troubleshooting issues with configuration, etc.
Additionally, we provide [Reference Guides]({{home}}/docs/reference/) for all of the Istio components. These can be helpful when troubleshooting issues with
configuration, etc.
#### What does the Alpha release cover?
@ -77,7 +90,7 @@ early feedback on direction and design decisions.
The Alpha release includes the following features:
* Simple command-line installation into a kubernetes cluster
* Simple command-line installation into a Kubernetes cluster
* Scripted proxy injection with traffic capture via iptables
@ -101,11 +114,13 @@ The Alpha release includes the following features:
Not currently - but we are working on it. At the moment, we only support the kubernetes service account as the principal identity in Istio Auth. We are investigating using [JWT](https://jwt.io/) together with mutual TLS to support enhanced authentication and authorization.
#### Does Istio Auth use kubernetes secrets?
#### Does Istio Auth use Kubernetes secrets?
Yes. The key and certificate distribution in Istio Auth is based on [kubernetes secrets](https://kubernetes.io/docs/concepts/configuration/secret/).
Yes. The key and certificate distribution in Istio Auth is based on [Kubernetes secrets](https://kubernetes.io/docs/concepts/configuration/secret/).
Secrets have known [security risks](https://kubernetes.io/docs/concepts/configuration/secret/#risks). The kubernetes team is working on [several features](https://docs.google.com/document/d/1T2y-9geg9EfHHtCDYTXptCa-F4kQ0RyiH-c_M1SyD0s) to improve kubernetes secret security, from secret encryption to node-level access control. And as of version 1.6, kubernetes introduces [RBAC authorization](https://kubernetes.io/docs/admin/authorization/rbac/), which can provide fine-grained secrets management.
Secrets have known [security risks](https://kubernetes.io/docs/concepts/configuration/secret/#risks). The kubernetes team is working on [several features](https://docs.google.com/document/d/1T2y-9geg9EfHHtCDYTXptCa-F4kQ0RyiH-c_M1SyD0s) to improve
Kubernetes secret security, from secret encryption to node-level access control. And as of version 1.6, Kubernetes introduces
[RBAC authorization](https://kubernetes.io/docs/admin/authorization/rbac/), which can provide fine-grained secrets management.
#### What kind of traffic does Istio Auth support?

View File

@ -2,10 +2,7 @@
layout: landing
title: istio.io
---
{% assign home = "" %}
{% if site.github.environment == "dotcom" %}
{% assign home = site.baseurl %}
{% endif %}
{% include home.html %}
<div id="landing-content" class="container landing-content-container">
<div class="row" >