Rename Istio-Manager to Pilot (#360)
* rename resources * sed Istio-Manager to Pilot in docs * sed manager -> Pilot * updating slides * remove old images * Sed in images * the Pilot -> Pilot * Istio Manager -> Pilot * final set of seds
|
@ -91,7 +91,7 @@ Istio Auth workflow consists of two phases, deployment and runtime. This section
|
|||
|
||||
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](https://istio.io/docs/concepts/traffic-management/manager.html) generates the config with proper key and certificate and secure naming information,
|
||||
1. [Pilot]({{home}}/docs/concepts/traffic-management/pilot.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.
|
||||
|
||||
|
@ -132,7 +132,7 @@ In this setup, Istio CA is able to provide keys and certificates management for
|
|||
|
||||
* Fine-grained authorization and auditing
|
||||
|
||||
* Secure Istio components (Istio Mixer, Istio Manager, etc.)
|
||||
* Secure Istio components (Mixer, Pilot, etc.)
|
||||
|
||||
* Inter-cluster service-to-service authentication
|
||||
|
||||
|
|
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 100 KiB |
After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 97 KiB After Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 278 KiB After Width: | Height: | Size: 278 KiB |
|
@ -19,12 +19,12 @@ Platforms such as Kubernetes, Mesos already provide such functionality for
|
|||
container-based applications. A plethora of solutions exist for VM-based
|
||||
applications.
|
||||
|
||||
**Service Discovery:** Istio-Manager consumes information from the service
|
||||
**Service Discovery:** Pilot consumes information from the service
|
||||
registry and provides a platform-agnostic service discovery
|
||||
interface. Envoy instances in the mesh perform service discovery and
|
||||
dynamically update their load balancing pools accordingly.
|
||||
|
||||
<figure><img src="./img/manager/LoadBalancing.svg" alt="Discovery and Load Balancing" title="Discovery and Load Balancing" />
|
||||
<figure><img src="./img/pilot/LoadBalancing.svg" alt="Discovery and Load Balancing" title="Discovery and Load Balancing" />
|
||||
<figcaption>Discovery and Load Balancing</figcaption></figure>
|
||||
|
||||
As illustrated in the figure above, services in the mesh access each other
|
||||
|
|
|
@ -15,10 +15,10 @@ and are familiar with Istio's high-level architecture. You can
|
|||
find out more about individual traffic management features in the other
|
||||
guides in this section.
|
||||
|
||||
## Istio-Manager and Envoy
|
||||
## Pilot and Envoy
|
||||
|
||||
The core component used for traffic management in Istio is
|
||||
[Istio-Manager](./manager.html), which manages and configures all the Envoy
|
||||
[Pilot](./pilot.html), which manages and configures all the Envoy
|
||||
proxy instances deployed in a particular Istio service mesh. It lets you
|
||||
specify what rules you want to use to route traffic between Envoy proxies
|
||||
and configure failure recovery features such as timeouts, retries, and
|
||||
|
@ -27,7 +27,7 @@ in the mesh and uses this to let Envoys know about the other instances in
|
|||
the mesh via its discovery service.
|
||||
|
||||
Each Envoy instance maintains [load balancing information](./load-balancing.html)
|
||||
based on the information it gets from Istio-Manager and periodic health-checks
|
||||
based on the information it gets from Pilot and periodic health-checks
|
||||
of other instances in its load-balancing pool, allowing it to intelligently
|
||||
distribute traffic between destination instances while following its specified
|
||||
routing rules.
|
||||
|
@ -35,16 +35,16 @@ routing rules.
|
|||
## Traffic management benefits
|
||||
|
||||
Using Istio's traffic management model essentially decouples traffic flow
|
||||
and infrastructure scaling, letting operators specify via Istio-Manager what
|
||||
and infrastructure scaling, letting operators specify via Pilot what
|
||||
rules they want traffic to follow rather than which specific pods/VMs should
|
||||
receive traffic - Istio-Manager and intelligent Envoy proxies look after the
|
||||
rest. So, for example, you can specify via Istio-Manager that you want 5%
|
||||
receive traffic - Pilot and intelligent Envoy proxies look after the
|
||||
rest. So, for example, you can specify via Pilot that you want 5%
|
||||
of traffic for a particular service to go to a canary version irrespective
|
||||
of the size of the canary deployment, or send traffic to a particular version
|
||||
depending on the content of the request.
|
||||
|
||||
|
||||
<figure><img style="max-width:85%;" src="./img/manager/TrafficManagementOverview.svg" alt="Traffic Management with Istio" title="Traffic Management with Istio" />
|
||||
<figure><img style="max-width:85%;" src="./img/pilot/TrafficManagementOverview.svg" alt="Traffic Management with Istio" title="Traffic Management with Istio" />
|
||||
<figcaption>Traffic Management with Istio</figcaption></figure>
|
||||
|
||||
Decoupling traffic flow from infrastructure scaling like this allows Istio
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Istio-Manager
|
||||
overview: Introduces the Istio-Manager, the component responsible for managing a distributed deployment of Envoy proxies in the service mesh.
|
||||
title: Pilot
|
||||
overview: Introduces Pilot, the component responsible for managing a distributed deployment of Envoy proxies in the service mesh.
|
||||
|
||||
order: 10
|
||||
|
||||
|
@ -8,28 +8,28 @@ layout: docs
|
|||
type: markdown
|
||||
---
|
||||
|
||||
Istio-Manager is responsible for the lifecycle of Envoy instances deployed
|
||||
Pilot is responsible for the lifecycle of Envoy instances deployed
|
||||
across the Istio service mesh.
|
||||
|
||||
<figure><img src="./img/manager/ManagerAdapters.svg" alt="Istio-Manager's overall architecture." title="Istio-Manager Architecture" />
|
||||
<figcaption>Istio-Manager Architecture</figcaption></figure>
|
||||
<figure><img src="./img/pilot/PilotAdapters.svg" alt="Pilot's overall architecture." title="Pilot Architecture" />
|
||||
<figcaption>Pilot Architecture</figcaption></figure>
|
||||
|
||||
As illustrated in the figure above, Istio-Manager maintains a canonical
|
||||
As illustrated in the figure above, Pilot maintains a canonical
|
||||
representation of services in the mesh that is independent of the underlying
|
||||
platform. Platform-specific adapters in the manager are responsible for
|
||||
platform. Platform-specific adapters in Pilot are responsible for
|
||||
populating this canonical model appropriately. For example, the Kubernetes
|
||||
adapter in the Istio-Manager implements the necessary controllers to watch the
|
||||
adapter in Pilot implements the necessary controllers to watch the
|
||||
Kubernetes API server for changes to the pod registration information, ingress
|
||||
resources, and third party resources that store traffic management rules.
|
||||
This data is translated into the canonical representation. Envoy-specific
|
||||
configuration is generated based on the canonical representation.
|
||||
|
||||
Istio-Manager exposes APIs for [service discovery](https://lyft.github.io/envoy/docs/configuration/cluster_manager/sds_api.html),
|
||||
Pilot exposes APIs for [service discovery](https://lyft.github.io/envoy/docs/configuration/cluster_manager/sds_api.html),
|
||||
dynamic updates to [load balancing pools](https://lyft.github.io/envoy/docs/configuration/cluster_manager/cds.html)
|
||||
and [routing tables](https://lyft.github.io/envoy/docs/configuration/http_conn_man/rds.html).
|
||||
These APIs decouple Envoy from platform-specific nuances, simplifying the
|
||||
design and increasing portability across platforms.
|
||||
|
||||
Operators can specify high-level traffic management rules through the
|
||||
[Istio-Manager's Rules API (TBD)](). These rules are translated into low-level
|
||||
Operators can specify high-level traffic management rules through
|
||||
[Pilot's Rules API]({{home}}/docs/reference/config/traffic-rules/). These rules are translated into low-level
|
||||
configurations and distributed to Envoy instances via the discovery API.
|
|
@ -12,8 +12,8 @@ This page describes how requests are routed between services in an Istio service
|
|||
|
||||
## Service model and service versions
|
||||
|
||||
As described in [Istio-Manager](./manager.html), the canonical representation
|
||||
of services in a particular mesh is maintained by Istio-Manager. The Istio
|
||||
As described in [Pilot](./pilot.html), the canonical representation
|
||||
of services in a particular mesh is maintained by Pilot. The Istio
|
||||
model of a service is independent of how it is represented in the underlying
|
||||
platform (Kubernetes, Mesos, Cloud Foundry,
|
||||
etc.). Platform-specific adapters are responsible for populating the
|
||||
|
@ -32,7 +32,7 @@ additional control over traffic between services.
|
|||
|
||||
## Communication between services
|
||||
|
||||
<figure><img src="./img/manager/ServiceModel_Versions.svg" alt="Showing how service versions are handled." title="Service Versions" />
|
||||
<figure><img src="./img/pilot/ServiceModel_Versions.svg" alt="Showing how service versions are handled." title="Service Versions" />
|
||||
<figcaption>Service Versions</figcaption></figure>
|
||||
|
||||
As illustrated in the figure above, clients of a service have no knowledge
|
||||
|
@ -42,7 +42,7 @@ intercepts and forwards all requests/responses between the client and the
|
|||
service.
|
||||
|
||||
Envoy determines its actual choice of service version dynamically
|
||||
based on the routing rules specified by the operator using Istio-Manager. This
|
||||
based on the routing rules specified by the operator using Pilot. This
|
||||
model enables the application code to decouple itself from the evolution of its dependent
|
||||
services, while providing other benefits as well (see
|
||||
[Mixer]({{home}}/docs/concepts/policy-and-control/mixer.html)). Routing
|
||||
|
@ -68,5 +68,5 @@ web services (for instance, accessing the Maps API, or a video service API) via
|
|||
operators can add failure recovery features such as circuit breakers,
|
||||
impose rate limits via Mixer, and provide authentication using Istio-Auth.
|
||||
|
||||
<figure><img src="./img/manager/ServiceModel_RequestFlow.svg" alt="Ingress and Egress Envoy." title="Request Flow" />
|
||||
<figure><img src="./img/pilot/ServiceModel_RequestFlow.svg" alt="Ingress and Egress Envoy." title="Request Flow" />
|
||||
<figcaption>Request Flow</figcaption></figure>
|
||||
|
|
|
@ -60,7 +60,7 @@ destination: reviews.default.svc.cluster.local
|
|||
```
|
||||
|
||||
The *destination* value SHOULD be a fully qualified domain name (FQDN). It
|
||||
is used by Istio-Manager for matching rules to services. For example,
|
||||
is used by Pilot for matching rules to services. For example,
|
||||
in Kubernetes, a fully qualified domain name for a service can be
|
||||
constructed using the following format: *serviceName.namespace.dnsSuffix*.
|
||||
|
||||
|
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 325 KiB After Width: | Height: | Size: 316 KiB |
|
@ -77,12 +77,12 @@ Envoy is deployed as a **sidecar** to the relevant service in the same Kubernete
|
|||
services. The proxy extracts request level [attributes]({{home}}/docs/concepts/policy-and-control/attributes.html), which are sent to Mixer for evaluation. More information on this attribute extraction and policy
|
||||
evaluation can be found in [Mixer Configuration]({{home}}/docs/concepts/policy-and-control/mixer-config.html). 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.
|
||||
|
||||
### Istio-Manager
|
||||
### Pilot
|
||||
|
||||
[Istio-Manager]({{home}}/docs/concepts/traffic-management/manager.html) serves as an interface between the user and Istio, collecting and validating configuration and propagating it to the various Istio components.
|
||||
[Pilot]({{home}}/docs/concepts/traffic-management/pilot.html) serves as an interface between the user and Istio, collecting and validating configuration and propagating it to the various Istio components.
|
||||
It abstracts environment-specific implementation details from Mixer and Envoy, providing them with an abstract representation of the user’s services
|
||||
that is independent of the underlying platform. In addition, traffic management rules (i.e. generic layer-4 rules and layer-7 HTTP/gRPC routing rules) can
|
||||
be programmed at runtime via Istio-Manager.
|
||||
be programmed at runtime via Pilot.
|
||||
|
||||
### Istio-Auth
|
||||
|
||||
|
|
|
@ -34,10 +34,10 @@ istioctl mixer command documentation.
|
|||
### Options
|
||||
|
||||
```
|
||||
--kube Use Kubernetes client to send API requests to manager service (default true)
|
||||
--kube Use Kubernetes client to send API requests to Pilot service (default true)
|
||||
-c, --kubeconfig string Use a Kubernetes configuration file instead of in-cluster configuration
|
||||
--log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)
|
||||
--managerAPIService string Name of istio-manager service. When --kube=false this sets the address of the manager service (default "istio-manager:8081")
|
||||
--configAPIservice string Name of Pilot service. When --kube=false this sets the address of the Pilot service (default "istio-pilot:8081")
|
||||
-n, --namespace string Select a Kubernetes namespace (default "default")
|
||||
-v, --v Level log level for V logs
|
||||
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
|
||||
|
@ -76,10 +76,10 @@ echo "source ~/.istioctl-complete.bash" >> ~/.bash_profile
|
|||
### Options inherited from parent commands
|
||||
|
||||
```
|
||||
--kube Use Kubernetes client to send API requests to manager service (default true)
|
||||
--kube Use Kubernetes client to send API requests to Pilot service (default true)
|
||||
-c, --kubeconfig string Use a Kubernetes configuration file instead of in-cluster configuration
|
||||
--log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)
|
||||
--managerAPIService string Name of istio-manager service. When --kube=false this sets the address of the manager service (default "istio-manager:8081")
|
||||
--configAPIservice string Name of Pilot service. When --kube=false this sets the address of the Pilot service (default "istio-pilot:8081")
|
||||
-n, --namespace string Select a Kubernetes namespace (default "default")
|
||||
-v, --v Level log level for V logs
|
||||
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
|
||||
|
@ -116,10 +116,10 @@ istioctl create -f example-routing.yaml
|
|||
### Options inherited from parent commands
|
||||
|
||||
```
|
||||
--kube Use Kubernetes client to send API requests to manager service (default true)
|
||||
--kube Use Kubernetes client to send API requests to Pilot service (default true)
|
||||
-c, --kubeconfig string Use a Kubernetes configuration file instead of in-cluster configuration
|
||||
--log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)
|
||||
--managerAPIService string Name of istio-manager service. When --kube=false this sets the address of the manager service (default "istio-manager:8081")
|
||||
--configAPIservice string Name of Pilot service. When --kube=false this sets the address of the Pilot service (default "istio-pilot:8081")
|
||||
-n, --namespace string Select a Kubernetes namespace (default "default")
|
||||
-v, --v Level log level for V logs
|
||||
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
|
||||
|
@ -160,10 +160,10 @@ istioctl delete route-rule productpage-default
|
|||
### Options inherited from parent commands
|
||||
|
||||
```
|
||||
--kube Use Kubernetes client to send API requests to manager service (default true)
|
||||
--kube Use Kubernetes client to send API requests to Pilot service (default true)
|
||||
-c, --kubeconfig string Use a Kubernetes configuration file instead of in-cluster configuration
|
||||
--log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)
|
||||
--managerAPIService string Name of istio-manager service. When --kube=false this sets the address of the manager service (default "istio-manager:8081")
|
||||
--configAPIservice string Name of Pilot service. When --kube=false this sets the address of the Pilot service (default "istio-pilot:8081")
|
||||
-n, --namespace string Select a Kubernetes namespace (default "default")
|
||||
-v, --v Level log level for V logs
|
||||
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
|
||||
|
@ -207,10 +207,10 @@ istioctl get route-rule productpage-default
|
|||
### Options inherited from parent commands
|
||||
|
||||
```
|
||||
--kube Use Kubernetes client to send API requests to manager service (default true)
|
||||
--kube Use Kubernetes client to send API requests to Pilot service (default true)
|
||||
-c, --kubeconfig string Use a Kubernetes configuration file instead of in-cluster configuration
|
||||
--log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)
|
||||
--managerAPIService string Name of istio-manager service. When --kube=false this sets the address of the manager service (default "istio-manager:8081")
|
||||
--configAPIservice string Name of Pilot service. When --kube=false this sets the address of the Pilot service (default "istio-pilot:8081")
|
||||
-n, --namespace string Select a Kubernetes namespace (default "default")
|
||||
-v, --v Level log level for V logs
|
||||
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
|
||||
|
@ -283,10 +283,10 @@ kubectl get deployment -o yaml | istioctl kube-inject -f - | kubectl apply -f -
|
|||
### Options inherited from parent commands
|
||||
|
||||
```
|
||||
--kube Use Kubernetes client to send API requests to manager service (default true)
|
||||
--kube Use Kubernetes client to send API requests to Pilot service (default true)
|
||||
-c, --kubeconfig string Use a Kubernetes configuration file instead of in-cluster configuration
|
||||
--log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)
|
||||
--managerAPIService string Name of istio-manager service. When --kube=false this sets the address of the manager service (default "istio-manager:8081")
|
||||
--configAPIservice string Name of Pilot service. When --kube=false this sets the address of the Pilot service (default "istio-pilot:8081")
|
||||
-n, --namespace string Select a Kubernetes namespace (default "default")
|
||||
-v, --v Level log level for V logs
|
||||
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
|
||||
|
@ -318,10 +318,10 @@ for a description of Mixer configuration's scope, subject, and rules.
|
|||
### Options inherited from parent commands
|
||||
|
||||
```
|
||||
--kube Use Kubernetes client to send API requests to manager service (default true)
|
||||
--kube Use Kubernetes client to send API requests to Pilot service (default true)
|
||||
-c, --kubeconfig string Use a Kubernetes configuration file instead of in-cluster configuration
|
||||
--log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)
|
||||
--managerAPIService string Name of istio-manager service. When --kube=false this sets the address of the manager service (default "istio-manager:8081")
|
||||
--configAPIservice string Name of Pilot service. When --kube=false this sets the address of the Pilot service (default "istio-pilot:8081")
|
||||
-n, --namespace string Select a Kubernetes namespace (default "default")
|
||||
-v, --v Level log level for V logs
|
||||
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
|
||||
|
@ -359,10 +359,10 @@ istioctl mixer rule create global myservice.ns.svc.cluster.local -f mixer-rule.y
|
|||
### Options inherited from parent commands
|
||||
|
||||
```
|
||||
--kube Use Kubernetes client to send API requests to manager service (default true)
|
||||
--kube Use Kubernetes client to send API requests to Pilot service (default true)
|
||||
-c, --kubeconfig string Use a Kubernetes configuration file instead of in-cluster configuration
|
||||
--log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)
|
||||
--managerAPIService string Name of istio-manager service. When --kube=false this sets the address of the manager service (default "istio-manager:8081")
|
||||
--configAPIservice string Name of Pilot service. When --kube=false this sets the address of the Pilot service (default "istio-pilot:8081")
|
||||
--mixer string (deprecated) Address of the Mixer configuration server as <host>:<port>
|
||||
--mixerAPIService string Name of istio-mixer service. When --kube=false this sets the Mixer's address (default
|
||||
"istio-mixer:9094")
|
||||
|
@ -399,10 +399,10 @@ istioctl mixer rule get global myservice.ns.svc.cluster.local
|
|||
### Options inherited from parent commands
|
||||
|
||||
```
|
||||
--kube Use Kubernetes client to send API requests to manager service (default true)
|
||||
--kube Use Kubernetes client to send API requests to Pilot service (default true)
|
||||
-c, --kubeconfig string Use a Kubernetes configuration file instead of in-cluster configuration
|
||||
--log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)
|
||||
--managerAPIService string Name of istio-manager service. When --kube=false this sets the address of the manager service (default "istio-manager:8081")
|
||||
--configAPIservice string Name of Pilot service. When --kube=false this sets the address of the Pilot service (default "istio-pilot:8081")
|
||||
--mixer string (deprecated) Address of the Mixer configuration server as <host>:<port>
|
||||
--mixerAPIService string Name of istio-mixer service. When --kube=false this sets Mixer's address (default
|
||||
"istio-mixer:9094")
|
||||
|
@ -426,10 +426,10 @@ Create and list Mixer rules in the configuration server.
|
|||
### Options inherited from parent commands
|
||||
|
||||
```
|
||||
--kube Use Kubernetes client to send API requests to manager service (default true)
|
||||
--kube Use Kubernetes client to send API requests to Pilot service (default true)
|
||||
-c, --kubeconfig string Use a Kubernetes configuration file instead of in-cluster configuration
|
||||
--log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)
|
||||
--managerAPIService string Name of istio-manager service. When --kube=false this sets the address of the manager service (default "istio-manager:8081")
|
||||
--configAPIservice string Name of Pilot service. When --kube=false this sets the address of the Pilot service (default "istio-pilot:8081")
|
||||
--mixer string (deprecated) Address of the Mixer configuration server as <host>:<port>
|
||||
--mixerAPIService string Name of istio-mixer service. When --kube=false this sets Mixer's address (default "istio-mixer:9094")
|
||||
-n, --namespace string Select a Kubernetes namespace (default "default")
|
||||
|
@ -468,10 +468,10 @@ istioctl replace -f example-routing.yaml
|
|||
### Options inherited from parent commands
|
||||
|
||||
```
|
||||
--kube Use Kubernetes client to send API requests to manager service (default true)
|
||||
--kube Use Kubernetes client to send API requests to Pilot service (default true)
|
||||
-c, --kubeconfig string Use a Kubernetes configuration file instead of in-cluster configuration
|
||||
--log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)
|
||||
--managerAPIService string Name of istio-manager service. When --kube=false this sets the address of the manager service (default "istio-manager:8081")
|
||||
--configAPIservice string Name of Pilot service. When --kube=false this sets the address of the Pilot service (default "istio-pilot:8081")
|
||||
-n, --namespace string Select a Kubernetes namespace (default "default")
|
||||
-v, --v Level log level for V logs
|
||||
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
|
||||
|
@ -494,10 +494,10 @@ istioctl version
|
|||
### Options inherited from parent commands
|
||||
|
||||
```
|
||||
--kube Use Kubernetes client to send API requests to manager service (default true)
|
||||
--kube Use Kubernetes client to send API requests to Pilot service (default true)
|
||||
-c, --kubeconfig string Use a Kubernetes configuration file instead of in-cluster configuration
|
||||
--log_backtrace_at traceLocation when logging hits line file:N, emit a stack trace (default :0)
|
||||
--managerAPIService string Name of istio-manager service. When --kube=false this sets the address of the manager service (default "istio-manager:8081")
|
||||
--configAPIservice string Name of Pilot service. When --kube=false this sets the address of the Pilot service (default "istio-pilot:8081")
|
||||
-n, --namespace string Select a Kubernetes namespace (default "default")
|
||||
-v, --v Level log level for V logs
|
||||
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
|
||||
|
|
|
@ -30,7 +30,7 @@ Istio service mesh.
|
|||
<tr>
|
||||
<td><code>discoveryAddress</code></td>
|
||||
<td>string</td>
|
||||
<td>Address of the discovery service exposing SDS, CDS, RDS (e.g. <em>istio-manager:8080</em>).</td>
|
||||
<td>Address of the discovery service exposing SDS, CDS, RDS (e.g. <em>istio-pilot:8080</em>).</td>
|
||||
</tr>
|
||||
<a name="istio.proxy.v1.config.ProxyMeshConfig.mixerAddress"></a>
|
||||
<tr>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Traffic Management Rules
|
||||
overview: Detailed information on rules configuration and API exposed by Istio-Manager for managing them.
|
||||
overview: Detailed information on rules configuration and API exposed by Pilot for managing them.
|
||||
|
||||
order: 10
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"title": "ISTIO Manager REST API",
|
||||
"description": "The manager provides APIs to the developer for configuring rules for request routing, fault injection, etc.",
|
||||
"title": "Pilot REST API",
|
||||
"description": "Pilot provides APIs to the developer for configuring rules for request routing, fault injection, etc.",
|
||||
"version": "alpha"
|
||||
},
|
||||
"basePath": "/",
|
||||
|
@ -20,14 +20,14 @@
|
|||
"/health": {
|
||||
"parameters": [],
|
||||
"get": {
|
||||
"summary": "Status of the manager API",
|
||||
"description": "Returns status of the manager API.",
|
||||
"summary": "Status of the Pilot API server",
|
||||
"description": "Returns status of the Pilot API server.",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Manager API is healthy."
|
||||
"description": "Pilot API server is healthy."
|
||||
},
|
||||
"503": {
|
||||
"description": "Manager API is unhealthy."
|
||||
"description": "Pilot API server is unhealthy."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -57,8 +57,8 @@
|
|||
}
|
||||
],
|
||||
"post": {
|
||||
"summary": "Add configs to the manager.",
|
||||
"description": "Transactionally add a config to the manager. All configs are validated\nagainst the config schema.\n",
|
||||
"summary": "Add configs to Pilot.",
|
||||
"description": "Transactionally add a config to Pilot. All configs are validated\nagainst the config schema.\n",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "config",
|
||||
|
@ -98,7 +98,7 @@
|
|||
}
|
||||
},
|
||||
"get": {
|
||||
"summary": "Get configs from the manager.",
|
||||
"summary": "Get configs from Pilot.",
|
||||
"description": "Query for configs that pass the specified filters.",
|
||||
"responses": {
|
||||
"200": {
|
||||
|
@ -122,7 +122,7 @@
|
|||
}
|
||||
},
|
||||
"put": {
|
||||
"summary": "Update configs in the manager.",
|
||||
"summary": "Update configs in Pilot.",
|
||||
"description": "Transactionally update the specified config.",
|
||||
"parameters": [
|
||||
{
|
||||
|
|
|
@ -84,7 +84,7 @@ This application is polyglot, i.e., the microservices are written in different l
|
|||
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||
details 10.0.0.31 <none> 9080/TCP 6m
|
||||
istio-ingress 10.0.0.122 <pending> 80:31565/TCP 8m
|
||||
istio-manager 10.0.0.189 <none> 8080/TCP 8m
|
||||
istio-pilot 10.0.0.189 <none> 8080/TCP 8m
|
||||
istio-mixer 10.0.0.132 <none> 9091/TCP,42422/TCP 8m
|
||||
kubernetes 10.0.0.1 <none> 443/TCP 14d
|
||||
productpage 10.0.0.120 <none> 9080/TCP 6m
|
||||
|
@ -104,7 +104,7 @@ This application is polyglot, i.e., the microservices are written in different l
|
|||
NAME READY STATUS RESTARTS AGE
|
||||
details-v1-1520924117-48z17 2/2 Running 0 6m
|
||||
istio-ingress-3181829929-xrrk5 1/1 Running 0 8m
|
||||
istio-manager-175173354-d6jm7 2/2 Running 0 8m
|
||||
istio-pilot-175173354-d6jm7 2/2 Running 0 8m
|
||||
istio-mixer-3883863574-jt09j 2/2 Running 0 8m
|
||||
productpage-v1-560495357-jk1lz 2/2 Running 0 6m
|
||||
ratings-v1-734492171-rnr5l 2/2 Running 0 6m
|
||||
|
|
|
@ -76,7 +76,7 @@ default namespace. They can be modified for deployment in a different namespace.
|
|||
```
|
||||
If you get an error
|
||||
```
|
||||
Error from server (Forbidden): error when creating "install/kubernetes/istio-rbac-beta.yaml": clusterroles.rbac.authorization.k8s.io "istio-manager" is forbidden: attempt to grant extra privileges: [{[*] [istio.io] [istioconfigs] [] []} {[*] [istio.io] [istioconfigs.istio.io] [] []} {[*] [extensions] [thirdpartyresources] [] []} {[*] [extensions] [thirdpartyresources.extensions] [] []} {[*] [extensions] [ingresses] [] []} {[*] [] [configmaps] [] []} {[*] [] [endpoints] [] []} {[*] [] [pods] [] []} {[*] [] [services] [] []}] user=&{user@example.org [...]
|
||||
Error from server (Forbidden): error when creating "install/kubernetes/istio-rbac-beta.yaml": clusterroles.rbac.authorization.k8s.io "istio-pilot" is forbidden: attempt to grant extra privileges: [{[*] [istio.io] [istioconfigs] [] []} {[*] [istio.io] [istioconfigs.istio.io] [] []} {[*] [extensions] [thirdpartyresources] [] []} {[*] [extensions] [thirdpartyresources.extensions] [] []} {[*] [extensions] [ingresses] [] []} {[*] [] [configmaps] [] []} {[*] [] [endpoints] [] []} {[*] [] [pods] [] []} {[*] [] [services] [] []}] user=&{user@example.org [...]
|
||||
```
|
||||
You need to add the following: (replace the name with your own)
|
||||
```
|
||||
|
@ -97,7 +97,7 @@ default namespace. They can be modified for deployment in a different namespace.
|
|||
kubectl apply -f install/kubernetes/istio.yaml
|
||||
```
|
||||
|
||||
This command will install Istio-Manager, Mixer, Ingress-Controller, Egress-Controller core components.
|
||||
This command will install Pilot, Mixer, Ingress-Controller, Egress-Controller core components.
|
||||
|
||||
* Install Istio and enable [Istio Auth]({{home}}/docs/concepts/network-and-auth/auth.html) feature
|
||||
(This deploys a CA in the namespace and enables
|
||||
|
@ -106,7 +106,7 @@ default namespace. They can be modified for deployment in a different namespace.
|
|||
```bash
|
||||
kubectl apply -f install/kubernetes/istio-auth.yaml
|
||||
```
|
||||
This command will install Istio-Manager, Mixer, Ingress-Controller, and Egress-Controller, and the Istio CA (Certificate Authority).
|
||||
This command will install Pilot, Mixer, Ingress-Controller, and Egress-Controller, and the Istio CA (Certificate Authority).
|
||||
|
||||
1. *Optional:* Install addons for metric collection and/or request tracing as described in the following sections.
|
||||
|
||||
|
@ -174,7 +174,7 @@ Zipkin can be used to analyze the request flow and timing of an Istio applicatio
|
|||
|
||||
## Verifying the installation
|
||||
|
||||
1. Ensure the following Kubernetes services were deployed: "istio-manager", "istio-mixer", "istio-ingress", "istio-egress",
|
||||
1. Ensure the following Kubernetes services were deployed: "istio-pilot", "istio-mixer", "istio-ingress", "istio-egress",
|
||||
"istio-ca" (if Istio Auth is enabled), and, optionally, "grafana", "prometheus', "servicegraph" and "zipkin".
|
||||
|
||||
```bash
|
||||
|
@ -185,7 +185,7 @@ Zipkin can be used to analyze the request flow and timing of an Istio applicatio
|
|||
grafana 10.83.252.16 104.198.134.40 3000:30432/TCP 5h
|
||||
istio-egress 10.83.247.89 <none> 80/TCP 5h
|
||||
istio-ingress 10.83.245.171 35.184.245.62 80:32730/TCP,443:30574/TCP 5h
|
||||
istio-manager 10.83.251.173 <none> 8080/TCP,8081/TCP 5h
|
||||
istio-pilot 10.83.251.173 <none> 8080/TCP,8081/TCP 5h
|
||||
istio-mixer 10.83.244.253 <none> 9091/TCP,9094/TCP,42422/TCP 5h
|
||||
kubernetes 10.83.240.1 <none> 443/TCP 36d
|
||||
prometheus 10.83.247.221 <pending> 9090:30398/TCP 5h
|
||||
|
@ -198,7 +198,7 @@ Zipkin can be used to analyze the request flow and timing of an Istio applicatio
|
|||
application using the service NodePort or port-forwarding instead.
|
||||
|
||||
2. Check the corresponding Kubernetes pods were deployed and all containers are up and running:
|
||||
"istio-manager-\*", "istio-mixer-\*", "istio-ingress-\*", "istio-egress-\*", "istio-ca-\*" (if Istio Auth is enabled),
|
||||
"istio-pilot-\*", "istio-mixer-\*", "istio-ingress-\*", "istio-egress-\*", "istio-ca-\*" (if Istio Auth is enabled),
|
||||
and, optionally, "grafana-\*", "prometheus-\*', "servicegraph-\*" and "zipkin-\*".
|
||||
|
||||
```bash
|
||||
|
@ -209,7 +209,7 @@ Zipkin can be used to analyze the request flow and timing of an Istio applicatio
|
|||
istio-ca-3657790228-j21b9 1/1 Running 0 5h
|
||||
istio-egress-1684034556-fhw89 1/1 Running 0 5h
|
||||
istio-ingress-1842462111-j3vcs 1/1 Running 0 5h
|
||||
istio-manager-2275554717-93c43 2/2 Running 0 5h
|
||||
istio-pilot-2275554717-93c43 2/2 Running 0 5h
|
||||
istio-mixer-2104784889-20rm8 1/1 Running 0 5h
|
||||
prometheus-3067433533-wlmt2 1/1 Running 0 5h
|
||||
servicegraph-3127588006-pc5z3 1/1 Running 0 5h
|
||||
|
|
|
@ -15,7 +15,7 @@ Detailed developer-level documentation is maintained for each component in GitHu
|
|||
|
||||
* [Envoy](https://lyft.github.io/envoy/docs/)
|
||||
|
||||
* [Manager](https://github.com/istio/manager/tree/master/doc)
|
||||
* [Pilot](https://github.com/istio/pilot/tree/master/doc)
|
||||
|
||||
* [Mixer](https://github.com/istio/mixer/tree/master/doc)
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
title: Istio-Manager
|
||||
title: Pilot
|
||||
type: markdown
|
||||
---
|
||||
Istio-Manager serves as an interface between the user and Istio, collecting and validating configuration and propagating it to the
|
||||
Pilot serves as an interface between the user and Istio, collecting and validating configuration and propagating it to the
|
||||
various Istio components. It abstracts environment-specific implementation details from Mixer and Envoy, providing them with an
|
||||
abstract representation of the user’s services
|
||||
that is independent of the underlying platform.
|
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 77 KiB |
|
@ -108,9 +108,9 @@ data:
|
|||
|
||||
### With [GDB](https://www.gnu.org/software/gdb/)
|
||||
|
||||
To debug Istio with `gdb`, you will need to run the debug images of Envoy / Mixer / Manager. A recent `gdb` and the golang extensions (for Mixer/Manager or other golang components) is required.
|
||||
To debug Istio with `gdb`, you will need to run the debug images of Envoy / Mixer / Pilot. A recent `gdb` and the golang extensions (for Mixer/Pilot or other golang components) is required.
|
||||
|
||||
1. `kubectl exec -it PODNAME -c [proxy | mixer | manager]`
|
||||
1. `kubectl exec -it PODNAME -c [proxy | mixer | pilot]`
|
||||
1. Find process ID: ps ax
|
||||
1. gdb -p PID binary
|
||||
1. For go: info goroutines, goroutine x bt
|
||||
|
|