diff --git a/.spelling b/.spelling index c59abc3429..a809b862fc 100644 --- a/.spelling +++ b/.spelling @@ -351,6 +351,7 @@ natively netmask networking.istio.io nginx +NLBs nodePorts non-sandboxed normalization diff --git a/content/en/_index.md b/content/en/_index.md index f72c42393c..1fae01e6ae 100644 --- a/content/en/_index.md +++ b/content/en/_index.md @@ -106,7 +106,7 @@ description: Connect, secure, control, and observe services.
- GET STARTED + GET STARTED LEARN MORE DOWNLOAD {{< istio_release_name >}}
diff --git a/content/en/about/feature-stages/index.md b/content/en/about/feature-stages/index.md index 555dfb9b5c..32387a4c41 100644 --- a/content/en/about/feature-stages/index.md +++ b/content/en/about/feature-stages/index.md @@ -92,20 +92,20 @@ The 'Authorization (RBAC)' runtime is considered Beta. However, its API is stil | Feature | Phase |-------------------|------------------- -| [Kubernetes: Envoy Installation and Traffic Interception](/docs/setup/kubernetes/) | Stable -| [Kubernetes: Istio Control Plane Installation](/docs/setup/kubernetes/) | Stable +| [Kubernetes: Envoy Installation and Traffic Interception](/docs/setup/) | Stable +| [Kubernetes: Istio Control Plane Installation](/docs/setup/) | Stable | [Attribute Expression Language](/docs/reference/config/policy-and-telemetry/expression-language/) | Stable | Mixer Out-of-Process Adapter Authoring Model | Beta -| [Helm](/docs/setup/kubernetes/install/helm/) | Beta -| [Multicluster Mesh over VPN](/docs/setup/kubernetes/install/multicluster/) | Alpha -| [Kubernetes: Istio Control Plane Upgrade](/docs/setup/kubernetes/) | Beta -| [Consul Integration](/docs/setup/consul/quick-start/) | Alpha +| [Helm](/docs/setup/install/helm/) | Beta +| [Multicluster Mesh over VPN](/docs/setup/install/multicluster/) | Alpha +| [Kubernetes: Istio Control Plane Upgrade](/docs/setup/) | Beta +| Consul Integration | Alpha | Basic Configuration Resource Validation | Beta | Configuration Processing with Galley | Beta | [Mixer Self Monitoring](/faq/mixer/#mixer-self-monitoring) | Beta | [Custom Mixer Build Model](https://github.com/istio/istio/wiki/Mixer-Compiled-In-Adapter-Dev-Guide) | deprecated | [Out of Process Mixer Adapters (gRPC Adapters)](https://github.com/istio/istio/wiki/Mixer-Out-Of-Process-Adapter-Dev-Guide) | Beta -| [Istio CNI plugin](/docs/setup/kubernetes/additional-setup/cni/) | Alpha +| [Istio CNI plugin](/docs/setup/additional-setup/cni/) | Alpha | IPv6 support for Kubernetes | Alpha | [Distroless base images for Istio](/docs/ops/security/harden-docker-images/) | Alpha diff --git a/content/en/blog/2017/0.2-announcement/index.md b/content/en/blog/2017/0.2-announcement/index.md index 2b869562b6..a5261d99c4 100644 --- a/content/en/blog/2017/0.2-announcement/index.md +++ b/content/en/blog/2017/0.2-announcement/index.md @@ -37,7 +37,7 @@ you easily integrate your solution with Istio. * _Mesh expansion_: Istio mesh can now span services running outside of Kubernetes - like those running in virtual machines while enjoying benefits such as automatic mutual TLS authentication, traffic management, telemetry, and policy enforcement across the mesh. -* _Running outside Kubernetes_: We know many customers use other service registry and orchestration solutions like [Consul/Nomad](/docs/setup/consul/quick-start/) and Eureka. Istio Pilot can now run standalone outside Kubernetes, consuming information from these systems, and manage the Envoy fleet in VMs or containers. +* _Running outside Kubernetes_: We know many customers use other service registry and orchestration solutions like Consul/Nomad and Eureka. Istio Pilot can now run standalone outside Kubernetes, consuming information from these systems, and manage the Envoy fleet in VMs or containers. ## Get involved in shaping the future of Istio diff --git a/content/en/blog/2018/announcing-1.0/index.md b/content/en/blog/2018/announcing-1.0/index.md index 1abd747168..bed7ab5cce 100644 --- a/content/en/blog/2018/announcing-1.0/index.md +++ b/content/en/blog/2018/announcing-1.0/index.md @@ -24,7 +24,7 @@ and [Styra](https://styra.com/) built extensions to our policy enforcement and n Since the 0.8 release we’ve added some important new features and more importantly marked many of our existing features as Beta signaling that they’re ready for production use. This is captured in more detail in the [release notes](/about/notes/1.0/) but it’s worth calling out some highlights -* Multiple Kubernetes clusters can now be [added to a single mesh](/docs/setup/kubernetes/install/multicluster/) and enabling cross-cluster communication and consistent policy enforcement. Multi-cluster support is now Beta. +* Multiple Kubernetes clusters can now be [added to a single mesh](/docs/setup/install/multicluster/) and enabling cross-cluster communication and consistent policy enforcement. Multi-cluster support is now Beta. * Networking APIs that enable fine grained control over the flow of traffic through a mesh are now Beta. Explicitly modeling ingress and egress concerns using Gateways allows operators to [control the network topology](/blog/2018/v1alpha3-routing/) and meet access security requirements at the edge. @@ -35,7 +35,7 @@ Since the 0.8 release we’ve added some important new features and more importa * [Authorization policies](/docs/concepts/security/#authorization) which control access to services are now entirely evaluated locally in Envoy increasing their performance and reliability. -* [Helm chart installation](/docs/setup/kubernetes/install/helm/) is now the recommended install method offering rich customization options to adopt Istio on your terms. +* [Helm chart installation](/docs/setup/install/helm/) is now the recommended install method offering rich customization options to adopt Istio on your terms. * We’ve put a lot of effort into performance including continuous regression testing, large scale environment simulation and targeted fixes. We’re very happy with the results and will share more on this in detail in the coming weeks. diff --git a/content/en/blog/2018/egress-https/index.md b/content/en/blog/2018/egress-https/index.md index daa887a270..4ec3acd496 100644 --- a/content/en/blog/2018/egress-https/index.md +++ b/content/en/blog/2018/egress-https/index.md @@ -20,7 +20,7 @@ HTTPS traffic and describe the pros and cons of each of the options. ## Initial setting -To demonstrate the scenario of consuming an external web service, I start with a Kubernetes cluster with [Istio installed](/docs/setup/kubernetes/install/kubernetes/#installation-steps). Then I deploy +To demonstrate the scenario of consuming an external web service, I start with a Kubernetes cluster with [Istio installed](/docs/setup/install/kubernetes/#installation-steps). Then I deploy [Istio Bookinfo Sample Application](/docs/examples/bookinfo/). This application uses the _details_ microservice to fetch book details, such as the number of pages and the publisher. The original _details_ microservice provides the book details without consulting any external service. @@ -73,7 +73,7 @@ $ kubectl apply -f @samples/bookinfo/networking/virtual-service-details-v2.yaml@ Note that the virtual service relies on a destination rule that you created in the [Apply default destination rules](/docs/examples/bookinfo/#apply-default-destination-rules) section. Access the web page of the application, after -[determining the ingress IP and port](/docs/examples/bookinfo/#determining-the-ingress-ip-and-port). +[determining the ingress IP and port](/docs/examples/bookinfo/#determine-the-ingress-ip-and-port). Oops... Instead of the book details you have the _Error fetching product details_ message displayed: diff --git a/content/en/blog/2018/egress-mongo/index.md b/content/en/blog/2018/egress-mongo/index.md index 3b8670145c..a5b336564e 100644 --- a/content/en/blog/2018/egress-mongo/index.md +++ b/content/en/blog/2018/egress-mongo/index.md @@ -93,7 +93,7 @@ For this task you set up an instance of [MongoDB](https://www.mongodb.com). You ### Initial setting of Bookinfo application -To demonstrate the scenario of using an external database, you start with a Kubernetes cluster with [Istio installed](/docs/setup/kubernetes/install/kubernetes/#installation-steps). Then you deploy the +To demonstrate the scenario of using an external database, you start with a Kubernetes cluster with [Istio installed](/docs/setup/install/kubernetes/#installation-steps). Then you deploy the [Istio Bookinfo sample application](/docs/examples/bookinfo/), [apply the default destination rules](/docs/examples/bookinfo/#apply-default-destination-rules), and [change Istio to the blocking-egress-by-default policy](/docs/tasks/traffic-management/egress/egress-control/#change-to-the-blocking-by-default-policy). @@ -145,7 +145,7 @@ boundary of the service mesh is marked by a dashed line. ### Access the webpage Access the webpage of the application, after -[determining the ingress IP and port](/docs/examples/bookinfo/#determining-the-ingress-ip-and-port). +[determining the ingress IP and port](/docs/examples/bookinfo/#determine-the-ingress-ip-and-port). Since you did not configure the egress traffic control yet, the access to the MongoDB service is blocked by Istio. This is why instead of the rating stars, the message _"Ratings service is currently unavailable"_ is currently diff --git a/content/en/blog/2018/egress-tcp/index.md b/content/en/blog/2018/egress-tcp/index.md index 510faf26c9..7a604a2a52 100644 --- a/content/en/blog/2018/egress-tcp/index.md +++ b/content/en/blog/2018/egress-tcp/index.md @@ -149,7 +149,7 @@ Now you are ready to deploy a version of the Bookinfo application that will use ### Initial setting of Bookinfo application -To demonstrate the scenario of using an external database, you start with a Kubernetes cluster with [Istio installed](/docs/setup/kubernetes/install/kubernetes/#installation-steps). Then you deploy the +To demonstrate the scenario of using an external database, you start with a Kubernetes cluster with [Istio installed](/docs/setup/install/kubernetes/#installation-steps). Then you deploy the [Istio Bookinfo sample application](/docs/examples/bookinfo/), [apply the default destination rules](/docs/examples/bookinfo/#apply-default-destination-rules), and [change Istio to the blocking-egress-by-default policy](/docs/tasks/traffic-management/egress/egress-control/#change-to-the-blocking-by-default-policy). This application uses the `ratings` microservice to fetch @@ -228,7 +228,7 @@ Note that the MySQL database is outside the Istio service mesh, or more precisel ### Access the webpage Access the webpage of the application, after -[determining the ingress IP and port](/docs/examples/bookinfo/#determining-the-ingress-ip-and-port). +[determining the ingress IP and port](/docs/examples/bookinfo/#determine-the-ingress-ip-and-port). You have a problem... Instead of the rating stars, the message _"Ratings service is currently unavailable"_ is currently displayed below each review: diff --git a/content/en/blog/2018/export-logs-through-stackdriver/index.md b/content/en/blog/2018/export-logs-through-stackdriver/index.md index 7ce38c8c0d..12a90af643 100644 --- a/content/en/blog/2018/export-logs-through-stackdriver/index.md +++ b/content/en/blog/2018/export-logs-through-stackdriver/index.md @@ -47,7 +47,7 @@ Common setup for all sinks: 1. Record the ID of the dataset. It will be needed to configure the Stackdriver handler. It would be of the form `bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET_ID]` 1. Give [sink’s writer identity](https://cloud.google.com/logging/docs/api/tasks/exporting-logs#writing_to_the_destination): `cloud-logs@system.gserviceaccount.com` BigQuery Data Editor role in IAM. -1. If using [Google Kubernetes Engine](/docs/setup/kubernetes/platform-setup/gke/), make sure `bigquery` [Scope](https://cloud.google.com/sdk/gcloud/reference/container/clusters/create) is enabled on the cluster. +1. If using [Google Kubernetes Engine](/docs/setup/platform-setup/gke/), make sure `bigquery` [Scope](https://cloud.google.com/sdk/gcloud/reference/container/clusters/create) is enabled on the cluster. #### Google Cloud Storage (GCS) @@ -62,7 +62,7 @@ Common setup for all sinks: 1. Recode the ID of the topic. It will be needed to configure Stackdriver. It would be of the form `pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]` 1. Give [sink’s writer identity](https://cloud.google.com/logging/docs/api/tasks/exporting-logs#writing_to_the_destination): `cloud-logs@system.gserviceaccount.com` Pub/Sub Publisher role in IAM. -1. If using [Google Kubernetes Engine](/docs/setup/kubernetes/platform-setup/gke/), make sure `pubsub` [Scope](https://cloud.google.com/sdk/gcloud/reference/container/clusters/create) is enabled on the cluster. +1. If using [Google Kubernetes Engine](/docs/setup/platform-setup/gke/), make sure `pubsub` [Scope](https://cloud.google.com/sdk/gcloud/reference/container/clusters/create) is enabled on the cluster. ### Setting up Stackdriver diff --git a/content/en/blog/2018/incremental-traffic-management/index.md b/content/en/blog/2018/incremental-traffic-management/index.md index 543ce19a35..f5a8540a61 100644 --- a/content/en/blog/2018/incremental-traffic-management/index.md +++ b/content/en/blog/2018/incremental-traffic-management/index.md @@ -44,9 +44,9 @@ Fortunately, a standard Istio deployment already includes a [Gateway](/docs/conc ## In action: traffic routing with Istio -A simple way to see this type of approach in action is to first setup your Kubernetes environment using the [Platform Setup](/docs/setup/kubernetes/platform-setup/) instructions, and then install the **minimal** Istio profile using [Helm](/docs/setup/kubernetes/install/helm/), including only the traffic management components (ingress gateway, egress gateway, Pilot). The following example uses [Google Kubernetes Engine](https://cloud.google.com/gke). +A simple way to see this type of approach in action is to first setup your Kubernetes environment using the [Platform Setup](/docs/setup/platform-setup/) instructions, and then install the **minimal** Istio profile using [Helm](/docs/setup/install/helm/), including only the traffic management components (ingress gateway, egress gateway, Pilot). The following example uses [Google Kubernetes Engine](https://cloud.google.com/gke). -First, setup and configure [GKE](/docs/setup/kubernetes/platform-setup/gke/): +First, setup and configure [GKE](/docs/setup/platform-setup/gke/): {{< text bash >}} $ gcloud container clusters create istio-inc --zone us-central1-f @@ -56,7 +56,7 @@ $ kubectl create clusterrolebinding cluster-admin-binding \ --user=$(gcloud config get-value core/account) {{< /text >}} -Next, [install Helm](https://helm.sh/docs/securing_installation/) and [generate a minimal Istio install](/docs/setup/kubernetes/install/helm/) -- only traffic management components: +Next, [install Helm](https://helm.sh/docs/securing_installation/) and [generate a minimal Istio install](/docs/setup/install/helm/) -- only traffic management components: {{< text bash >}} $ helm template install/kubernetes/helm/istio \ diff --git a/content/en/blog/2018/soft-multitenancy/index.md b/content/en/blog/2018/soft-multitenancy/index.md index 86f8657a78..762ec82573 100644 --- a/content/en/blog/2018/soft-multitenancy/index.md +++ b/content/en/blog/2018/soft-multitenancy/index.md @@ -75,7 +75,7 @@ istio-system1 istio-mixer-7d4f7b9968-66z44 3/3 Running 0 istio-system1 istio-pilot-5bb6b7669c-779vb 2/2 Running 0 15d {{< /text >}} -The Istio [sidecar](/docs/setup/kubernetes/additional-setup/sidecar-injection/) +The Istio [sidecar](/docs/setup/additional-setup/sidecar-injection/) and [addons](/docs/tasks/telemetry/), if required, manifests must also be deployed to match the configured `namespace` in use by the tenant's Istio control plane. diff --git a/content/en/blog/2019/announcing-1.1/index.md b/content/en/blog/2019/announcing-1.1/index.md index 8a2eb42319..65d6e9673e 100644 --- a/content/en/blog/2019/announcing-1.1/index.md +++ b/content/en/blog/2019/announcing-1.1/index.md @@ -41,7 +41,7 @@ We listened to the community and improved defaults for traffic control and policy. We introduced a new component called [Galley](/docs/concepts/what-is-istio/#galley). Galley validates that sweet, sweet YAML, reducing the chance of configuration errors. Galley will also be -instrumental in [multicluster setups](/docs/setup/kubernetes/install/multicluster/), +instrumental in [multicluster setups](/docs/setup/install/multicluster/), gathering service discovery information from each Kubernetes cluster. We are also supporting additional multicluster topologies including [shared control plane](/docs/concepts/multicluster-deployments/#shared-control-plane-topology) and [dedicated control plane](/docs/concepts/multicluster-deployments/#dedicated-control-plane-topology) topologies @@ -68,4 +68,4 @@ us installing and upgrading to the early builds and helping us catch problems before the release. So: now’s the time! Grab 1.1, check out [the updated documentation](/docs/), -[install it](/docs/setup/kubernetes/) and...happy meshing! +[install it](/docs/setup/) and...happy meshing! diff --git a/content/en/blog/2019/egress-traffic-control-in-istio-part-3/index.md b/content/en/blog/2019/egress-traffic-control-in-istio-part-3/index.md index a355685e46..d647cb8f87 100644 --- a/content/en/blog/2019/egress-traffic-control-in-istio-part-3/index.md +++ b/content/en/blog/2019/egress-traffic-control-in-istio-part-3/index.md @@ -146,6 +146,6 @@ In this case, Istio already provides you some benefits even before you start usi [policies](/docs/tasks/policy-enforcement/) and [telemetry](/docs/tasks/telemetry/), applied to traffic between microservices inside the cluster. -So, if you haven't had the chance to work with Istio yet, [install Istio](/docs/setup/kubernetes/install/) on your cluster +So, if you haven't had the chance to work with Istio yet, [install Istio](/docs/setup/install/) on your cluster and check our [egress traffic control tasks](/docs/tasks/traffic-management/egress/) and the tasks for the other [Istio features](/docs/tasks/). We also want to hear from you, please join us at [discuss.istio.io](https://discuss.istio.io). diff --git a/content/en/blog/2019/evolving-istios-apis/index.md b/content/en/blog/2019/evolving-istios-apis/index.md index 08e65ed8bc..07c542bb30 100644 --- a/content/en/blog/2019/evolving-istios-apis/index.md +++ b/content/en/blog/2019/evolving-istios-apis/index.md @@ -49,7 +49,7 @@ Some areas of improvement that we’re working on for upcoming releases include: - Support for routing all traffic by default to constrain routing incrementally - Add a single global flag to enable mutual TLS and encrypt all inter-pod traffic -Oh, and if for some reason you judge a toolbox by the list of CRDs it installs, in Istio 1.2 we cut the number from 54 down to 23. Why? It turns out that if you have a bunch of features, you need to have a way to configure them all. With the improvements we’ve made to our installer, you can now install Istio using a [configuration](/docs/setup/kubernetes/additional-setup/config-profiles/) that works with your adapters. +Oh, and if for some reason you judge a toolbox by the list of CRDs it installs, in Istio 1.2 we cut the number from 54 down to 23. Why? It turns out that if you have a bunch of features, you need to have a way to configure them all. With the improvements we’ve made to our installer, you can now install Istio using a [configuration](/docs/setup/additional-setup/config-profiles/) that works with your adapters. All service meshes and, by extension, Istio seeks to automate complex infrastructure operations, like networking and security. That means there will always be complexity in its APIs, but Istio will always aim to solve the needs of operators, while continuing to evolve the API to provide robust building blocks and prioritize flexibility through role-centric abstractions. diff --git a/content/en/blog/2019/multicluster-version-routing/index.md b/content/en/blog/2019/multicluster-version-routing/index.md index 36da1173a5..b4bb6d6c18 100644 --- a/content/en/blog/2019/multicluster-version-routing/index.md +++ b/content/en/blog/2019/multicluster-version-routing/index.md @@ -36,7 +36,7 @@ running in one cluster, versions `v2` and `v3` running in a second cluster. To start, you'll need two Kubernetes clusters, both running a slightly customized configuration of Istio. * Set up a multicluster environment with two Istio clusters by following the - [dedicated control planes](/docs/setup/kubernetes/install/multicluster/gateways/) instructions. + [dedicated control planes](/docs/setup/install/multicluster/gateways/) instructions. * The `kubectl` command is used to access both clusters with the `--context` flag. Use the following command to list your contexts: @@ -262,7 +262,7 @@ Just like any application, we'll use an Istio gateway to access the `bookinfo` a $ kubectl apply --context=$CTX_CLUSTER1 -f @samples/bookinfo/networking/bookinfo-gateway.yaml@ {{< /text >}} -* Follow the [Bookinfo sample instructions](/docs/examples/bookinfo/#determining-the-ingress-ip-and-port) +* Follow the [Bookinfo sample instructions](/docs/examples/bookinfo/#determine-the-ingress-ip-and-port) to determine the ingress IP and port and then point your browser to `http://$GATEWAY_URL/productpage`. You should see the `productpage` with reviews, but without ratings, because only `v1` of the `reviews` service @@ -270,7 +270,7 @@ is running on `cluster1` and we have not yet configured access to `cluster2`. ## Create a service entry and destination rule on `cluster1` for the remote reviews service -As described in the [setup instructions](/docs/setup/kubernetes/install/multicluster/gateways/#setup-dns), +As described in the [setup instructions](/docs/setup/install/multicluster/gateways/#setup-dns), remote services are accessed with a `.global` DNS name. In our case, it's `reviews.default.global`, so we need to create a service entry and destination rule for that host. The service entry will use the `cluster2` gateway as the endpoint address to access the service. @@ -329,7 +329,7 @@ EOF The address `127.255.0.3` of the service entry can be any arbitrary unallocated IP. Using an IP from the loopback range 127.0.0.0/8 is a good choice. Check out the -[gateway-connected multicluster example](/docs/setup/kubernetes/install/multicluster/gateways/#configure-the-example-services) +[gateway-connected multicluster example](/docs/setup/install/multicluster/gateways/#configure-the-example-services) for more details. Note that the labels of the subsets in the destination rule map to the service entry diff --git a/content/en/blog/2019/performance-best-practices/index.md b/content/en/blog/2019/performance-best-practices/index.md index 4dee12db9c..0f6878924c 100644 --- a/content/en/blog/2019/performance-best-practices/index.md +++ b/content/en/blog/2019/performance-best-practices/index.md @@ -19,9 +19,9 @@ In the [Istio Tools repository](https://github.com/istio/tools/tree/81cc22348059 To accurately measure the performance of a service mesh at scale, it's important to use an [adequately-sized](https://github.com/istio/tools/tree/81cc22348059bb17ad9c2f571018e78780a1bbf5/perf/istio-install#istio-setup) Kubernetes cluster. We test using three worker nodes, each with at least 4 vCPUs and 15 GB of memory. -Then, it's important to use a production-ready Istio **installation profile** on that cluster. This lets us achieve performance-oriented settings such as control plane pod autoscaling, and ensures that resource limits are appropriate for heavy traffic load. The [default](/docs/setup/kubernetes/install/helm/#option-1-install-with-helm-via-helm-template) Istio installation is suitable for most benchmarking use cases. For extensive performance benchmarking, with thousands of proxy-injected services, we also provide [a tuned Istio install](https://github.com/istio/tools/blob/81cc22348059bb17ad9c2f571018e78780a1bbf5/perf/istio-install/values.yaml) that allocates extra memory and CPU to the Istio control plane. +Then, it's important to use a production-ready Istio **installation profile** on that cluster. This lets us achieve performance-oriented settings such as control plane pod autoscaling, and ensures that resource limits are appropriate for heavy traffic load. The [default](/docs/setup/install/helm/#option-1-install-with-helm-via-helm-template) Istio installation is suitable for most benchmarking use cases. For extensive performance benchmarking, with thousands of proxy-injected services, we also provide [a tuned Istio install](https://github.com/istio/tools/blob/81cc22348059bb17ad9c2f571018e78780a1bbf5/perf/istio-install/values.yaml) that allocates extra memory and CPU to the Istio control plane. -{{< warning_icon >}} Istio's [demo installation](/docs/setup/kubernetes/install/kubernetes/) is not suitable for performance testing, because it is designed to be deployed on a small trial cluster, and has full tracing and access logs enabled to showcase Istio's features. +{{< warning_icon >}} Istio's [demo installation](/docs/setup/install/kubernetes/) is not suitable for performance testing, because it is designed to be deployed on a small trial cluster, and has full tracing and access logs enabled to showcase Istio's features. ## 2. Focus on the data plane @@ -44,7 +44,7 @@ Why test with only two pods? Because scaling up throughput (RPS) and connections ## 3. Measure with and without proxies -While many Istio features, such as [mutual TLS authentication](/docs/concepts/security/#mutual-tls-authentication), rely on an Envoy proxy next to an application pod, you can [selectively disable](/docs/setup/kubernetes/additional-setup/sidecar-injection/#disabling-or-updating-the-webhook) sidecar proxy injection for some of your mesh services. As you scale up Istio for production, you may want to incrementally add the sidecar proxy to your workloads. +While many Istio features, such as [mutual TLS authentication](/docs/concepts/security/#mutual-tls-authentication), rely on an Envoy proxy next to an application pod, you can [selectively disable](/docs/setup/additional-setup/sidecar-injection/#disabling-or-updating-the-webhook) sidecar proxy injection for some of your mesh services. As you scale up Istio for production, you may want to incrementally add the sidecar proxy to your workloads. To that end, the test scripts provide [three different modes](https://github.com/istio/tools/tree/81cc22348059bb17ad9c2f571018e78780a1bbf5/perf/benchmark#run-performance-tests). These modes analyze Istio's performance when a request goes through both the client and server proxies (`both`), just the server proxy (`serveronly`), and neither proxy (`baseline`). diff --git a/content/en/boilerplates/before-you-begin-egress.md b/content/en/boilerplates/before-you-begin-egress.md index dc56766053..7162743044 100644 --- a/content/en/boilerplates/before-you-begin-egress.md +++ b/content/en/boilerplates/before-you-begin-egress.md @@ -6,7 +6,7 @@ * Deploy the [sleep]({{< github_tree >}}/samples/sleep) sample app to use as a test source for sending requests. If you have - [automatic sidecar injection](/docs/setup/kubernetes/additional-setup/sidecar-injection/#automatic-sidecar-injection) + [automatic sidecar injection](/docs/setup/additional-setup/sidecar-injection/#automatic-sidecar-injection) enabled, run the following command to deploy the sample app: {{< text bash >}} diff --git a/content/en/boilerplates/notes/0.5.md b/content/en/boilerplates/notes/0.5.md index d408e09e75..4f4d14ab34 100644 --- a/content/en/boilerplates/notes/0.5.md +++ b/content/en/boilerplates/notes/0.5.md @@ -8,7 +8,7 @@ information on customized Istio deployments. [mutating webhook feature](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.9.md#api-machinery) to provide automatic pod-level proxy injection. Automatic injection requires Kubernetes 1.9 or beyond and therefore doesn't work on older versions. The alpha initializer mechanism is no longer supported. -[Learn more](/docs/setup/kubernetes/additional-setup/sidecar-injection/#automatic-sidecar-injection) +[Learn more](/docs/setup/additional-setup/sidecar-injection/#automatic-sidecar-injection) - **Revised Traffic Rules**. Based on user feedback, we have made significant changes to Istio's traffic management (routing rules, destination rules, etc.). We would love your continuing feedback while we polish this in the coming weeks. diff --git a/content/en/boilerplates/notes/0.7.md b/content/en/boilerplates/notes/0.7.md index 4cb645cdbf..7a34dd8590 100644 --- a/content/en/boilerplates/notes/0.7.md +++ b/content/en/boilerplates/notes/0.7.md @@ -7,5 +7,5 @@ change in 0.8 and beyond. Known Issues: -Our [Helm chart](/docs/setup/kubernetes/install/helm) +Our [Helm chart](/docs/setup/install/helm) currently requires some workaround to apply the chart correctly, see [4701](https://github.com/istio/istio/issues/4701) for details. diff --git a/content/en/boilerplates/notes/0.8.md b/content/en/boilerplates/notes/0.8.md index ca76309105..4824500fbf 100644 --- a/content/en/boilerplates/notes/0.8.md +++ b/content/en/boilerplates/notes/0.8.md @@ -3,7 +3,7 @@ - **Revamped Traffic Management Model**. We're finally ready to take the wraps off our [new traffic management APIs](/blog/2018/v1alpha3-routing/). We believe this new model is easier to understand while covering more real world deployment [use-cases](/docs/tasks/traffic-management/). For folks upgrading from earlier releases there is a -[migration guide](/docs/setup/kubernetes/upgrade/) and a conversion tool built into `istioctl` to help convert your configuration from the old model. +[migration guide](/docs/setup/upgrade/) and a conversion tool built into `istioctl` to help convert your configuration from the old model. - **Streaming Envoy configuration**. By default Pilot now streams configuration to Envoy using its [ADS API](https://github.com/envoyproxy/data-plane-api/blob/master/xds_protocol.rst). This new approach increases effective scalability, reduces rollout delay and should eliminate spurious 404 errors. diff --git a/content/en/boilerplates/notes/1.0.md b/content/en/boilerplates/notes/1.0.md index a1ea982729..c9599be92b 100644 --- a/content/en/boilerplates/notes/1.0.md +++ b/content/en/boilerplates/notes/1.0.md @@ -76,11 +76,11 @@ be configured using [authentication policies](/docs/concepts/security/#authentic ## Known issues with 1.0 - Amazon's EKS service does not implement automatic sidecar injection. Istio can be used in Amazon's - EKS by using [manual injection](/docs/setup/kubernetes/additional-setup/sidecar-injection/#manual-sidecar-injection) for - sidecars and turning off galley using the [Helm parameter](/docs/setup/kubernetes/install/helm) + EKS by using [manual injection](/docs/setup/additional-setup/sidecar-injection/#manual-sidecar-injection) for + sidecars and turning off galley using the [Helm parameter](/docs/setup/install/helm) `--set galley.enabled=false`. -- In a [multicluster deployment](/docs/setup/kubernetes/install/multicluster) the mixer-telemetry +- In a [multicluster deployment](/docs/setup/install/multicluster) the mixer-telemetry and mixer-policy components do not connect to the Kubernetes API endpoints of any of the remote clusters. This results in a loss of telemetry fidelity as some of the metadata associated with workloads on remote clusters is incomplete. diff --git a/content/en/boilerplates/notes/1.1.md b/content/en/boilerplates/notes/1.1.md index 7bd419e8e0..1541654707 100644 --- a/content/en/boilerplates/notes/1.1.md +++ b/content/en/boilerplates/notes/1.1.md @@ -2,15 +2,15 @@ In addition to the new features and improvements listed below, Istio 1.1 has introduced a number of significant changes from 1.0 that can alter the behavior of applications. -A concise list of these changes can be found in the [upgrade notice](/docs/setup/kubernetes/upgrade/notice). +A concise list of these changes can be found in the [upgrade notice](/docs/setup/upgrade/notice). ## Upgrades We recommend a manual upgrade of the control plane and data plane to 1.1. See -the [upgrades documents](/docs/setup/kubernetes/upgrade/) for more information. +the [upgrades documents](/docs/setup/upgrade/) for more information. {{< warning >}} -Be sure to check out the [upgrade notice](/docs/setup/kubernetes/upgrade/notice) for a +Be sure to check out the [upgrade notice](/docs/setup/upgrade/notice) for a concise list of things you should know before upgrading your deployment to Istio 1.1. {{< /warning >}} @@ -25,12 +25,12 @@ concise list of things you should know before upgrading your deployment to Istio - **Installation Configuration Profiles**. Added several installation configuration profiles to simplify the installation process using well-known and well-tested patterns. Learn more about the better user experience - afforded by the [installation profile feature](/docs/setup/kubernetes/additional-setup/config-profiles/). + afforded by the [installation profile feature](/docs/setup/additional-setup/config-profiles/). - **Improved Multicluster Integration**. Consolidated the 1.0 `istio-remote` chart previously used for - [multicluster VPN](/docs/setup/kubernetes/install/multicluster/shared-vpn/) and - [multicluster split horizon](/docs/setup/kubernetes/install/multicluster/shared-gateways/) remote cluster installation + [multicluster VPN](/docs/setup/install/multicluster/shared-vpn/) and + [multicluster split horizon](/docs/setup/install/multicluster/shared-gateways/) remote cluster installation into the Istio Helm chart simplifying the operational experience. ## Traffic management @@ -200,7 +200,7 @@ concise list of things you should know before upgrading your deployment to Istio replace`, `istioctl get`, and `istioctl delete` commands. Use the [`kubectl`](https://kubernetes.io/docs/tasks/tools/install-kubectl) equivalents instead. Deprecated the `istioctl gen-deploy` command too. Use a - [`helm template`](/docs/setup/kubernetes/install/helm/#option-1-install-with-helm-via-helm-template) + [`helm template`](/docs/setup/install/helm/#option-1-install-with-helm-via-helm-template) instead. Release 1.2 will remove these commands. - **Short Commands**. Included short commands in `kubectl` for gateways, diff --git a/content/en/boilerplates/notes/1.2.md b/content/en/boilerplates/notes/1.2.md index ad237117a5..14e673566d 100644 --- a/content/en/boilerplates/notes/1.2.md +++ b/content/en/boilerplates/notes/1.2.md @@ -65,7 +65,7 @@ Refer to the [installation option change page](/docs/reference/config/installati ## Others -- **Added** [Istio CNI support](/docs/setup/kubernetes/additional-setup/cni/) to setup sidecar network redirection and remove the use of `istio-init` containers requiring `NET_ADMIN` capability. +- **Added** [Istio CNI support](/docs/setup/additional-setup/cni/) to setup sidecar network redirection and remove the use of `istio-init` containers requiring `NET_ADMIN` capability. - **Added** a new experimental ['a-la-carte' Istio installer](https://github.com/istio/installer/wiki) to enable users to install and upgrade Istio with desired isolation and security. - **Added** the [DNS-discovery](https://github.com/istio-ecosystem/dns-discovery) and [iter8](https://github.com/istio-ecosystem/iter8) in [Istio ecosystem](https://github.com/istio-ecosystem). - **Added** [environment variable and configuration file support](https://docs.google.com/document/d/1M-qqBMNbhbAxl3S_8qQfaeOLAiRqSBpSgfWebFBRuu8/edit) for configuring Galley, in addition to command-line flags. diff --git a/content/en/boilerplates/start-httpbin-service.md b/content/en/boilerplates/start-httpbin-service.md index 0f1e2b3b84..9e266dd69c 100644 --- a/content/en/boilerplates/start-httpbin-service.md +++ b/content/en/boilerplates/start-httpbin-service.md @@ -2,7 +2,7 @@ --- * Start the [httpbin]({{< github_tree >}}/samples/httpbin) sample. - If you have enabled [automatic sidecar injection](/docs/setup/kubernetes/additional-setup/sidecar-injection/#automatic-sidecar-injection), deploy the `httpbin` service: + If you have enabled [automatic sidecar injection](/docs/setup/additional-setup/sidecar-injection/#automatic-sidecar-injection), deploy the `httpbin` service: {{< text bash >}} $ kubectl apply -f @samples/httpbin/httpbin.yaml@ diff --git a/content/en/docs/concepts/multicluster-deployments/index.md b/content/en/docs/concepts/multicluster-deployments/index.md index 041a375f53..06026c8e52 100644 --- a/content/en/docs/concepts/multicluster-deployments/index.md +++ b/content/en/docs/concepts/multicluster-deployments/index.md @@ -80,7 +80,7 @@ configuration. You configure service discovery of `foo.ns.global` by creating an [service entry](/docs/concepts/traffic-management/#service-entries). To configure this type of multicluster topology, visit our -[dedicated control planes instructions](/docs/setup/kubernetes/install/multicluster/gateways/). +[dedicated control planes instructions](/docs/setup/install/multicluster/gateways/). ### Shared control plane topology @@ -106,7 +106,7 @@ overlap and DNS resolution for services on remote clusters is not automatic. Use the services on every participating cluster. To configure this type of multicluster topology, visit our -[single-network shared control plane instructions](/docs/setup/kubernetes/install/multicluster/shared-vpn/). +[single-network shared control plane instructions](/docs/setup/install/multicluster/shared-vpn/). #### Multi-network shared control plane topology @@ -127,4 +127,4 @@ is forwarded to the local service IP as usual. If the destination workload is ru different cluster, the remote cluster Gateway IP is used to connect to the service instead. To configure this type of multicluster topology, visit our -[multi-network shared control plane instructions](/docs/setup/kubernetes/install/multicluster/shared-gateways/). +[multi-network shared control plane instructions](/docs/setup/install/multicluster/shared-gateways/). diff --git a/content/en/docs/concepts/traffic-management/index.md b/content/en/docs/concepts/traffic-management/index.md index 6870ec8c3b..adce5eb051 100644 --- a/content/en/docs/concepts/traffic-management/index.md +++ b/content/en/docs/concepts/traffic-management/index.md @@ -994,7 +994,7 @@ outside of the mesh: - Add a service running in a Virtual Machine (VM) to the mesh to [expand your mesh](/docs/examples/mesh-expansion/). - Logically add services from a different cluster to the mesh to configure a - [multicluster Istio mesh](/docs/setup/kubernetes/install/multicluster/gateways/#configure-the-example-services) + [multicluster Istio mesh](/docs/setup/install/multicluster/gateways/#configure-the-example-services) on Kubernetes. You don’t need to add a service entry for every external service that you diff --git a/content/en/docs/examples/bookinfo/index.md b/content/en/docs/examples/bookinfo/index.md index 60a07c7c68..f0fb8caef1 100644 --- a/content/en/docs/examples/bookinfo/index.md +++ b/content/en/docs/examples/bookinfo/index.md @@ -39,15 +39,14 @@ for the `reviews` service. ## Before you begin If you haven't already done so, setup Istio by following the instructions -corresponding to your platform [installation guide](/docs/setup/). +in the [installation guide](/docs/setup/). ## Deploying the application To run the sample with Istio requires no changes to the -application itself. Instead, we simply need to configure and run the services in an +application itself. Instead, you simply need to configure and run the services in an Istio-enabled environment, with Envoy sidecars injected along side each service. -The needed commands and configuration vary depending on the runtime environment -although in all cases the resulting deployment will look like this: +The resulting deployment will look like this: {{< image width="80%" link="./withistio.svg" caption="Bookinfo Application" >}} @@ -56,12 +55,7 @@ and outgoing calls for the services, providing the hooks needed to externally co via the Istio control plane, routing, telemetry collection, and policy enforcement for the application as a whole. -To start the application, follow the instructions corresponding to your Istio runtime environment. - -* [If you are running on Kubernetes](#if-you-are-running-on-kubernetes) -* [If you are running on Docker with Consul](#if-you-are-running-on-docker-with-consul) - -### If you are running on Kubernetes +### Start the application services {{< tip >}} If you use GKE, please ensure your cluster has at least 4 standard GKE nodes. If you use Minikube, please ensure you have at least 4GB RAM. @@ -69,7 +63,7 @@ If you use GKE, please ensure your cluster has at least 4 standard GKE nodes. If 1. Change directory to the root of the Istio installation. -1. The default Istio installation uses [automatic sidecar injection](/docs/setup/kubernetes/additional-setup/sidecar-injection/#automatic-sidecar-injection). +1. The default Istio installation uses [automatic sidecar injection](/docs/setup/additional-setup/sidecar-injection/#automatic-sidecar-injection). Label the namespace that will host the application with `istio-injection=enabled`: {{< text bash >}} @@ -84,7 +78,7 @@ If you use GKE, please ensure your cluster has at least 4 standard GKE nodes. If {{< warning >}} If you disabled automatic sidecar injection during installation and rely on [manual sidecar injection] - (/docs/setup/kubernetes/additional-setup/sidecar-injection/#manual-sidecar-injection), + (/docs/setup/additional-setup/sidecar-injection/#manual-sidecar-injection), use the `istioctl kube-inject` command to modify the `bookinfo.yaml` file before deploying your application. For more information please visit the `istioctl` [reference documentation](/docs/reference/commands/istioctl/#istioctl-kube-inject). @@ -136,7 +130,7 @@ If you use GKE, please ensure your cluster has at least 4 standard GKE nodes. If Simple Bookstore App {{< /text >}} -#### Determining the ingress IP and port +### Determine the ingress IP and port Now that the Bookinfo services are up and running, you need to make the application accessible from outside of your Kubernetes cluster, e.g., from a browser. An [Istio Gateway](/docs/concepts/traffic-management/#gateways) @@ -164,43 +158,6 @@ is used for this purpose. $ export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT {{< /text >}} -1. Proceed to [Confirm the app is running](#confirm-the-app-is-accessible-from-outside-the-cluster), below. - -### If you are running on Docker with Consul - -1. Change directory to the root of the Istio installation directory. - -1. Bring up the application containers. - - To test with Consul, run the following commands: - - {{< text bash >}} - $ docker-compose -f @samples/bookinfo/platform/consul/bookinfo.yaml@ up -d - $ docker-compose -f samples/bookinfo/platform/consul/bookinfo.sidecars.yaml up -d - {{< /text >}} - -1. Confirm that all docker containers are running: - - {{< text bash >}} - $ docker ps -a - {{< /text >}} - - {{< tip >}} - If the Istio Pilot container terminates, re-run the command `docker-compose -f install/consul/istio.yaml up -d`. - {{< /tip >}} - -1. Set `GATEWAY_URL`: - - {{< text bash >}} - $ export GATEWAY_URL=localhost:9081 - {{< /text >}} - -1. __Note for Consul users:__ In the following instructions, and when performing any follow-on routing tasks, the yaml files - in `samples/bookinfo/networking` will not work due to an issue with the current implementation of the default subdomain - for short service host names. For now, you need to use the corresponding yaml files in `samples/bookinfo/platform/consul`. - For example, replace `samples/bookinfo/networking/destination-rule-all.yaml` with - `samples/bookinfo/platform/consul/destination-rule-all.yaml` in the `kubectl apply` command, below. - ## Confirm the app is accessible from outside the cluster To confirm that the Bookinfo application is accessible from outside the cluster, run the following `curl` command: @@ -254,9 +211,7 @@ is a good place to start for beginners. ## Cleanup When you're finished experimenting with the Bookinfo sample, uninstall and clean -it up using the following instructions corresponding to your Istio runtime environment. - -### Uninstall from Kubernetes environment +it up using the following instructions: 1. Delete the routing rules and terminate the application pods @@ -270,22 +225,5 @@ it up using the following instructions corresponding to your Istio runtime envir $ kubectl get virtualservices #-- there should be no virtual services $ kubectl get destinationrules #-- there should be no destination rules $ kubectl get gateway #-- there should be no gateway - $ kubectl get pods #-- the Bookinfo pods should be deleted - {{< /text >}} - -### Uninstall from Docker with Consul environment - -1. Delete the routing rules and application containers - - In a Consul setup, run the following command: - - {{< text bash >}} - $ @samples/bookinfo/platform/consul/cleanup.sh@ - {{< /text >}} - -1. Confirm cleanup - - {{< text bash >}} - $ kubectl get virtualservices #-- there should be no more routing rules - $ docker ps -a #-- the Bookinfo containers should be deleted + $ kubectl get pods #-- the Bookinfo pods should be deleted {{< /text >}} diff --git a/content/en/docs/examples/endpoints/index.md b/content/en/docs/examples/endpoints/index.md index 9404db2815..7ace6c673b 100644 --- a/content/en/docs/examples/endpoints/index.md +++ b/content/en/docs/examples/endpoints/index.md @@ -21,7 +21,7 @@ You may test the service using the following command: $ curl --request POST --header "content-type:application/json" --data '{"message":"hello world"}' "http://${EXTERNAL_IP}/echo?key=${ENDPOINTS_KEY}" {{< /text >}} -To install Istio for GKE, follow our [Quick Start with Google Kubernetes Engine](/docs/setup/kubernetes/platform-setup/gke). +To install Istio for GKE, follow our [Quick Start with Google Kubernetes Engine](/docs/setup/platform-setup/gke). ## HTTP Endpoints service @@ -73,7 +73,7 @@ Otherwise, ESP will not be able to access Google cloud service control. EOF {{< /text >}} -1. Get the ingress gateway IP and port by following the [instructions](/docs/tasks/traffic-management/ingress/ingress-control#determining-the-ingress-ip-and-ports). +1. Get the ingress gateway IP and port by following the [instructions](/docs/tasks/traffic-management/ingress/ingress-control/#determining-the-ingress-ip-and-ports). You can verify accessing the Endpoints service through Istio ingress: {{< text bash >}} diff --git a/content/en/docs/examples/mesh-expansion/bookinfo-expanded/index.md b/content/en/docs/examples/mesh-expansion/bookinfo-expanded/index.md index e28a23c84a..4e3bba6f79 100644 --- a/content/en/docs/examples/mesh-expansion/bookinfo-expanded/index.md +++ b/content/en/docs/examples/mesh-expansion/bookinfo-expanded/index.md @@ -28,7 +28,7 @@ https://docs.google.com/drawings/d/1G1592HlOVgtbsIqxJnmMzvy6ejIdhajCosxF1LbvspI/ ## Before you begin * Setup Istio by following the instructions in the - [Installation guide](/docs/setup/kubernetes/install/kubernetes/). + [Installation guide](/docs/setup/install/kubernetes/). * Deploy the [Bookinfo](/docs/examples/bookinfo/) sample application (in the `bookinfo` namespace). diff --git a/content/en/docs/examples/mesh-expansion/multi-network/index.md b/content/en/docs/examples/mesh-expansion/multi-network/index.md index d737450947..9b0fd73bea 100644 --- a/content/en/docs/examples/mesh-expansion/multi-network/index.md +++ b/content/en/docs/examples/mesh-expansion/multi-network/index.md @@ -35,7 +35,7 @@ cluster for mesh expansion, run the following commands on a machine with cluster {{< /text >}} For further details and customization options, refer to the - [Installation with Helm](/docs/setup/kubernetes/install/helm/) instructions. + [Installation with Helm](/docs/setup/install/helm/) instructions. 1. Deploy Istio control plane into the cluster @@ -403,7 +403,7 @@ The `server: envoy` header indicates that the sidecar intercepted the traffic. {{< /text >}} {{< tip >}} - Ensure you have added `istioctl` client to your `PATH` environment variable, as described in the [Download page](/docs/setup/kubernetes/#downloading-the-release). + Ensure you have added `istioctl` client to your `PATH` environment variable, as described in the [Download page](/docs/setup/#downloading-the-release). {{< /tip >}} 1. Deploy a pod running the `sleep` service in the Kubernetes cluster, and wait until it is ready: diff --git a/content/en/docs/examples/mesh-expansion/single-network/index.md b/content/en/docs/examples/mesh-expansion/single-network/index.md index 3485fee5f8..12e2ddae6d 100644 --- a/content/en/docs/examples/mesh-expansion/single-network/index.md +++ b/content/en/docs/examples/mesh-expansion/single-network/index.md @@ -12,7 +12,7 @@ an Istio mesh deployed on Kubernetes. ## Prerequisites -* You have already set up Istio on Kubernetes. If you haven't done so, you can find out how in the [Installation guide](/docs/setup/kubernetes/install/kubernetes/). +* You have already set up Istio on Kubernetes. If you haven't done so, you can find out how in the [Installation guide](/docs/setup/install/kubernetes/). * Mesh expansion machines must have IP connectivity to the endpoints in the mesh. This typically requires a VPC or a VPN, as well as a container network that diff --git a/content/en/docs/examples/multicluster/gke/index.md b/content/en/docs/examples/multicluster/gke/index.md index 0041d77ad2..06e1995e3a 100644 --- a/content/en/docs/examples/multicluster/gke/index.md +++ b/content/en/docs/examples/multicluster/gke/index.md @@ -313,7 +313,7 @@ $ kubectl label secret ${CLUSTER_NAME} istio/multiCluster=true -n ${NAMESPACE} ## Uninstalling The following should be done in addition to the uninstall of Istio as described in the -[VPN-based multicluster uninstall section](/docs/setup/kubernetes/install/multicluster/shared-vpn/): +[VPN-based multicluster uninstall section](/docs/setup/install/multicluster/shared-vpn/): 1. Delete the Google Cloud firewall rule: diff --git a/content/en/docs/examples/multicluster/icp/index.md b/content/en/docs/examples/multicluster/icp/index.md index 4c14c1ed5c..a8f538d6c6 100644 --- a/content/en/docs/examples/multicluster/icp/index.md +++ b/content/en/docs/examples/multicluster/icp/index.md @@ -147,14 +147,14 @@ across all nodes in the two IBM Cloud Private Clusters. ## Install Istio for multicluster -Follow the [single-network shared control plane instructions](/docs/setup/kubernetes/install/multicluster/shared-vpn/) to install and configure +Follow the [single-network shared control plane instructions](/docs/setup/install/multicluster/shared-vpn/) to install and configure local Istio control plane and Istio remote on `cluster-1` and `cluster-2`. In this guide, it is assumed that the local Istio control plane is deployed in `cluster-1`, while the Istio remote is deployed in `cluster-2`. ## Deploy the Bookinfo example across clusters -The following example enables [automatic sidecar injection](/docs/setup/kubernetes/additional-setup/sidecar-injection/#automatic-sidecar-injection). +The following example enables [automatic sidecar injection](/docs/setup/additional-setup/sidecar-injection/#automatic-sidecar-injection). 1. Install `bookinfo` on the first cluster `cluster-1`. Remove the `reviews-v3` deployment which will be deployed on cluster `cluster-2` in the following step: diff --git a/content/en/docs/ops/security/harden-docker-images/index.md b/content/en/docs/ops/security/harden-docker-images/index.md index 23e5b1d9e8..05b45f885e 100644 --- a/content/en/docs/ops/security/harden-docker-images/index.md +++ b/content/en/docs/ops/security/harden-docker-images/index.md @@ -21,15 +21,15 @@ For ease of the installation, they are available with a `-distroless` suffix. ## Install distroless images -You should follow the [Installation Steps](/docs/setup/kubernetes/install/helm/) to setup Istio. You can pass the following parameter to `helm` to use the *distroless images* +You should follow the [Installation Steps](/docs/setup/install/helm/) to setup Istio. You can pass the following parameter to `helm` to use the *distroless images* -For [Option 1](/docs/setup/kubernetes/install/helm/#option-1-install-with-helm-via-helm-template) use +For [Option 1](/docs/setup/install/helm/#option-1-install-with-helm-via-helm-template) use {{< text bash >}} $ helm template [...] --set global.tag={{< istio_full_version >}}-distroless {{< /text >}} -For [Option 2](/docs/setup/kubernetes/install/helm/#option-2-install-with-helm-and-tiller-via-helm-install) +For [Option 2](/docs/setup/install/helm/#option-2-install-with-helm-and-tiller-via-helm-install) {{< text bash >}} use $ helm install [...] --set global.tag={{< istio_full_version >}}-distroless diff --git a/content/en/docs/ops/security/root-transition/index.md b/content/en/docs/ops/security/root-transition/index.md index 3317ad8693..ee6c2d9d39 100644 --- a/content/en/docs/ops/security/root-transition/index.md +++ b/content/en/docs/ops/security/root-transition/index.md @@ -68,7 +68,7 @@ please follow the procedure and check whether you will be affected. Because the Pilot has issue using the old root certificate to verify the new workload certificates. This may cause disconnection between Pilot and Envoy. Please see the [here](#how-to-check-if-pilot-has-an-envoy-sidecar) for how to check. - The [Istio upgrade guide](/docs/setup/kubernetes/upgrade/steps/) + The [Istio upgrade guide](/docs/setup/upgrade/steps/) by default installs Pilot with Envoy sidecar. {{< /warning >}} @@ -122,7 +122,7 @@ please follow the procedure and check whether you will be affected. {{< /warning >}} Upgrade your control plane and `istio-proxy` sidecars to 1.0.8, 1.1.8 or later. - Please follow the Istio [upgrade procedure](/docs/setup/kubernetes/upgrade/steps/). + Please follow the Istio [upgrade procedure](/docs/setup/upgrade/steps/). 1. Verify the new workload certificates are loaded by Envoy: diff --git a/content/en/docs/ops/setup/app-health-check/index.md b/content/en/docs/ops/setup/app-health-check/index.md index 819b7851f2..96a0b5d6a4 100644 --- a/content/en/docs/ops/setup/app-health-check/index.md +++ b/content/en/docs/ops/setup/app-health-check/index.md @@ -26,7 +26,7 @@ mutual TLS enabled. * Understand [Kubernetes liveness and readiness probes](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/), Istio [authentication policy](/docs/concepts/security/#authentication-policies) and [mutual TLS authentication](/docs/concepts/security/#mutual-tls-authentication) concepts. -* Have a Kubernetes cluster with Istio installed, without global mutual TLS enabled (meaning use `istio.yaml` as described in [installation steps](/docs/setup/kubernetes/install/kubernetes/#installation-steps), or set `global.mtls.enabled` to false using [Helm](/docs/setup/kubernetes/install/helm/)). +* Have a Kubernetes cluster with Istio installed, without global mutual TLS enabled (meaning use `istio.yaml` as described in [installation steps](/docs/setup/install/kubernetes/#installation-steps), or set `global.mtls.enabled` to false using [Helm](/docs/setup/install/helm/)). ## Liveness and readiness probes with command option @@ -99,7 +99,7 @@ You have two ways to enable Istio to rewrite the liveness HTTP probes. #### Enable via Helm Option Globally -[Install Istio](/docs/setup/kubernetes/install/helm/) with the `sidecarInjectorWebhook.rewriteAppHTTPProbe=true` +[Install Istio](/docs/setup/install/helm/) with the `sidecarInjectorWebhook.rewriteAppHTTPProbe=true` [Helm installation option](/docs/reference/config/installation-options/#sidecarinjectorwebhook-options). **Alternatively**, update the configuration map of Istio sidecar injection: diff --git a/content/en/docs/ops/setup/webhook/index.md b/content/en/docs/ops/setup/webhook/index.md index 0749eb000f..71b4b7351b 100644 --- a/content/en/docs/ops/setup/webhook/index.md +++ b/content/en/docs/ops/setup/webhook/index.md @@ -27,7 +27,7 @@ detailed documentation of the mutating and validating webhook configuration. ## Verify dynamic admission webhook prerequisites -See the [quick start prerequisites](/docs/setup/kubernetes/install/kubernetes/#prerequisites) +See the [quick start prerequisites](/docs/setup/install/kubernetes/#prerequisites) for Kubernetes provider specific setup instructions. Webhooks will not function properly if the cluster is misconfigured. You can follow these steps once the cluster has been configured and dynamic @@ -51,7 +51,7 @@ webhooks and dependent features are not functioning properly. 1. Verify `MutatingAdmissionWebhook` and `ValidatingAdmissionWebhook` plugins are listed in the `kube-apiserver --enable-admission-plugins`. Access - to this flag is [provider specific](/docs/setup/kubernetes/install/kubernetes/#prerequisites). + to this flag is [provider specific](/docs/setup/install/kubernetes/#prerequisites). 1. Verify the Kubernetes api-server has network connectivity to the webhook pod. e.g. incorrect `http_proxy` settings can interfere diff --git a/content/en/docs/ops/telemetry/missing-metrics/index.md b/content/en/docs/ops/telemetry/missing-metrics/index.md index 3309bed6f4..eabaeba607 100644 --- a/content/en/docs/ops/telemetry/missing-metrics/index.md +++ b/content/en/docs/ops/telemetry/missing-metrics/index.md @@ -41,7 +41,7 @@ Mixer generates metrics to monitor its own behavior. The first step is to check If you do not see any data for `grpc_io_server_completed_rpcs` with a `grpc_server_method="istio.mixer.v1.Mixer/Report"`, then Envoy is not calling Mixer to report telemetry. -1. In this case, ensure you integrated the services properly into the mesh. You can achieve this task with either [automatic or manual sidecar injection](/docs/setup/kubernetes/additional-setup/sidecar-injection/). +1. In this case, ensure you integrated the services properly into the mesh. You can achieve this task with either [automatic or manual sidecar injection](/docs/setup/additional-setup/sidecar-injection/). ## Verify the Mixer rules exist diff --git a/content/en/docs/ops/traffic-management/proxy-cmd/index.md b/content/en/docs/ops/traffic-management/proxy-cmd/index.md index 783df7daa0..577ab0320a 100644 --- a/content/en/docs/ops/traffic-management/proxy-cmd/index.md +++ b/content/en/docs/ops/traffic-management/proxy-cmd/index.md @@ -16,8 +16,8 @@ to inspect Envoy configuration and diagnose the issue. If you want to try the commands described below, you can either: * Have a Kubernetes cluster with Istio and Bookinfo installed (e.g use `istio.yaml` as described in -[installation steps](/docs/setup/kubernetes/install/kubernetes/#installation-steps) and -[Bookinfo installation steps](/docs/examples/bookinfo/#if-you-are-running-on-kubernetes)). +[installation steps](/docs/setup/install/kubernetes/#installation-steps) and +[Bookinfo installation steps](/docs/examples/bookinfo/#deploying-the-application)). OR diff --git a/content/en/docs/ops/traffic-management/troubleshooting/index.md b/content/en/docs/ops/traffic-management/troubleshooting/index.md index c4c309613e..04f57d6ac7 100644 --- a/content/en/docs/ops/traffic-management/troubleshooting/index.md +++ b/content/en/docs/ops/traffic-management/troubleshooting/index.md @@ -51,7 +51,7 @@ but similar version routing rules have no effect on your own application, it may your Kubernetes services need to be changed slightly. Kubernetes services must adhere to certain restrictions in order to take advantage of Istio's L7 routing features. -Refer to the [Requirements for Pods and Services](/docs/setup/kubernetes/additional-setup/requirements/) +Refer to the [Requirements for Pods and Services](/docs/setup/additional-setup/requirements/) for details. Another potential issue is that the route rules may simply be slow to take effect. diff --git a/content/en/docs/reference/config/installation-options-changes/index.md b/content/en/docs/reference/config/installation-options-changes/index.md index f2315987be..9ce3c1b624 100644 --- a/content/en/docs/reference/config/installation-options-changes/index.md +++ b/content/en/docs/reference/config/installation-options-changes/index.md @@ -65,7 +65,7 @@ The tables below show changes made to the installation options used to customize | --- | --- | --- | | `sidecarInjectorWebhook.podAntiAffinityLabelSelector` | `[]` | | | `sidecarInjectorWebhook.podAntiAffinityTermLabelSelector` | `[]` | | -| `sidecarInjectorWebhook.neverInjectSelector` | `[]` | `You can use the field called alwaysInjectSelector and neverInjectSelector which will always inject the sidecar or always skip the injection on pods that match that label selector, regardless of the global policy. See https://istio.io/docs/setup/kubernetes/additional-setup/sidecar-injection/more-control-adding-exceptions` | +| `sidecarInjectorWebhook.neverInjectSelector` | `[]` | `You can use the field called alwaysInjectSelector and neverInjectSelector which will always inject the sidecar or always skip the injection on pods that match that label selector, regardless of the global policy. See https://istio.io/docs/setup/additional-setup/sidecar-injection/more-control-adding-exceptions` | | `sidecarInjectorWebhook.alwaysInjectSelector` | `[]` | | ### New `global` key/value pairs diff --git a/content/en/docs/reference/config/installation-options/index.md b/content/en/docs/reference/config/installation-options/index.md index 6f7f76cd1d..619bd73780 100644 --- a/content/en/docs/reference/config/installation-options/index.md +++ b/content/en/docs/reference/config/installation-options/index.md @@ -444,7 +444,7 @@ To customize Istio install using Helm, use the `--set =` option in H | `sidecarInjectorWebhook.podAntiAffinityLabelSelector` | `[]` | | | `sidecarInjectorWebhook.podAntiAffinityTermLabelSelector` | `[]` | | | `sidecarInjectorWebhook.rewriteAppHTTPProbe` | `false` | `If true, webhook or istioctl injector will rewrite PodSpec for liveness health check to redirect request to sidecar. This makes liveness check work even when mTLS is enabled.` | -| `sidecarInjectorWebhook.neverInjectSelector` | `[]` | `You can use the field called alwaysInjectSelector and neverInjectSelector which will always inject the sidecar or always skip the injection on pods that match that label selector, regardless of the global policy. See https://istio.io/docs/setup/kubernetes/additional-setup/sidecar-injection/more-control-adding-exceptions` | +| `sidecarInjectorWebhook.neverInjectSelector` | `[]` | `You can use the field called alwaysInjectSelector and neverInjectSelector which will always inject the sidecar or always skip the injection on pods that match that label selector, regardless of the global policy. See https://istio.io/docs/setup/additional-setup/sidecar-injection/more-control-adding-exceptions` | | `sidecarInjectorWebhook.alwaysInjectSelector` | `[]` | | ## `tracing` options diff --git a/content/en/docs/reference/config/policy-and-telemetry/adapters/kubernetesenv/index.html b/content/en/docs/reference/config/policy-and-telemetry/adapters/kubernetesenv/index.html index 77cffa8bc8..60c816d610 100644 --- a/content/en/docs/reference/config/policy-and-telemetry/adapters/kubernetesenv/index.html +++ b/content/en/docs/reference/config/policy-and-telemetry/adapters/kubernetesenv/index.html @@ -76,7 +76,7 @@ This controls how frequently the complete resync occurs.

Details on multicluster and the Kubernetes secret required to access the remote cluster’s credentials can be found in -multicluster install.

+multicluster install.

NOTE: If cluster_registries_namespace is not set then the environment variable POD_NAMESPACE is checked/used. If POD_NAMESPACE is not diff --git a/content/en/docs/setup/_index.md b/content/en/docs/setup/_index.md index cfad5bd52c..555bf197a8 100644 --- a/content/en/docs/setup/_index.md +++ b/content/en/docs/setup/_index.md @@ -1,6 +1,108 @@ --- title: Setup -description: How to deploy and upgrade Istio in various environments such as Kubernetes and Consul. +description: Instructions for installing the Istio control plane on Kubernetes and adding virtual machines into the mesh. weight: 15 icon: setup +aliases: + - /docs/tasks/installing-istio.html + - /docs/setup/install-kubernetes.html + - /docs/setup/kubernetes/quick-start.html + - /docs/setup/kubernetes/download-release/ + - /docs/setup/kubernetes/download/ + - /docs/setup/kubernetes/ +keywords: [kubernetes,install,quick-start,setup,installation] +content_above: true --- + +{{< tip >}} +Istio {{< istio_version >}} has been tested with these Kubernetes releases: {{< supported_kubernetes_versions >}}. +{{< /tip >}} + +Visit our [getting started guide](/docs/setup/getting-started/) to +learn how to evaluate and try Istio's basic features quickly. + +Istio offers multiple installation flows +depending on your platform and whether or not you intend to use Istio in production. +At a high level, the basic flow is the same regardless of platform: + +1. [Review the pod requirements](/docs/setup/additional-setup/requirements/) +1. [Prepare your platform for Istio](/docs/setup/platform-setup/) +1. [Download the Istio release](#downloading-the-release) +1. [Install Istio on your platform](#installing-istio) + +## Installing Istio + +Choose one of the following installation options, depending on your intended use: + +- [Demo installation](/docs/setup/install/kubernetes/): + This option is ideal if you're new to Istio and just want to try it out. + It allows you to experiment with many Istio features with modest resource requirements. + +- [Custom installation with Helm](/docs/setup/install/helm/): + This option is ideal to install Istio for production use or for performance evaluation. + +- [Supported platform installation](/docs/setup/install/platform/): + This option is ideal if your platform provides native support for Istio-enabled clusters + with a [configuration profile](/docs/setup/additional-setup/config-profiles/) + corresponding to your intended use. + +After choosing an option and installing Istio on your cluster, you can deploy +your own applications or experiment with some of our [tasks](/docs/tasks/) and [examples](/docs/examples/). + +{{< tip >}} +If you're running your own applications, make sure to +check the [requirements for pods and services](/docs/setup/additional-setup/requirements/). +{{< /tip >}} + +When you're ready to consider more advanced Istio use cases, check out the following resources: + +- To install using Istio's Container Network Interface +(CNI) plugin, visit our [CNI guide](/docs/setup/additional-setup/cni/). + +- To perform a multicluster setup, visit our +[multicluster installation documents](/docs/setup/install/multicluster/). + +- To expand your existing mesh with additional containers or VMs not running on +your mesh's Kubernetes cluster, follow our [mesh expansion guide](/docs/examples/mesh-expansion/). + +- To add services requires a detailed understanding of sidecar injection. Visit our +[sidecar injection guide](/docs/setup/additional-setup/sidecar-injection/) +to learn more. + +## Downloading the release + +Istio is installed in its own `istio-system` namespace and can manage +services from all other namespaces. + +1. Go to the [Istio release](https://github.com/istio/istio/releases) page to + download the installation file corresponding to your OS. On a macOS or + Linux system, you can run the following command to download and + extract the latest release automatically: + + {{< text bash >}} + $ curl -L https://git.io/getLatestIstio | ISTIO_VERSION={{< istio_full_version >}} sh - + {{< /text >}} + +1. Move to the Istio package directory. For example, if the package is + `istio-{{< istio_full_version >}}`: + + {{< text bash >}} + $ cd istio-{{< istio_full_version >}} + {{< /text >}} + + The installation directory contains: + + - Installation YAML files for Kubernetes in `install/kubernetes` + - Sample applications in `samples/` + - The `istioctl` client binary in the `bin/` directory. `istioctl` is + used when manually injecting Envoy as a sidecar proxy. + +1. Add the `istioctl` client to your `PATH` environment variable, on a macOS or + Linux system: + + {{< text bash >}} + $ export PATH=$PWD/bin:$PATH + {{< /text >}} + +1. You can enable the [auto-completion option](/docs/ops/setup/istioctl) when working with a bash or ZSH console. + diff --git a/content/en/docs/setup/kubernetes/additional-setup/_index.md b/content/en/docs/setup/additional-setup/_index.md similarity index 85% rename from content/en/docs/setup/kubernetes/additional-setup/_index.md rename to content/en/docs/setup/additional-setup/_index.md index 590ff46879..8b50622b13 100644 --- a/content/en/docs/setup/kubernetes/additional-setup/_index.md +++ b/content/en/docs/setup/additional-setup/_index.md @@ -5,5 +5,6 @@ weight: 100 aliases: - /docs/tasks/installing-istio.html - /docs/setup/install-kubernetes.html + - /docs/setup/kubernetes/additional-setup/ keywords: [sidecar-injection, mesh-expansion, pod-requirements, piecemeal-install] --- diff --git a/content/en/docs/setup/kubernetes/additional-setup/cni/index.md b/content/en/docs/setup/additional-setup/cni/index.md similarity index 95% rename from content/en/docs/setup/kubernetes/additional-setup/cni/index.md rename to content/en/docs/setup/additional-setup/cni/index.md index c974e0024f..c5fa49f09e 100644 --- a/content/en/docs/setup/kubernetes/additional-setup/cni/index.md +++ b/content/en/docs/setup/additional-setup/cni/index.md @@ -4,6 +4,7 @@ description: Install and use Istio with the Istio CNI plugin, allowing operators weight: 70 aliases: - /docs/setup/kubernetes/install/cni + - /docs/setup/kubernetes/additional-setup/cni keywords: [kubernetes,cni,sidecar,proxy,network,helm] --- @@ -23,7 +24,7 @@ networking functionality but without requiring Istio users to enable elevated Kubernetes RBAC permissions. The Istio CNI plugin performs the Istio mesh pod traffic redirection in the Kubernetes pod lifecycle's network -setup phase, thereby removing the [`NET_ADMIN` capability requirement](/docs/setup/kubernetes/additional-setup/requirements/) +setup phase, thereby removing the [`NET_ADMIN` capability requirement](/docs/setup/additional-setup/requirements/) for users deploying pods into the Istio mesh. The [Istio CNI plugin](https://github.com/istio/cni) replaces the functionality provided by the `istio-init` container. @@ -46,7 +47,7 @@ replaces the functionality provided by the `istio-init` container. Refer to [Hosted Kubernetes settings](#hosted-kubernetes-settings) for any non-default settings required. 1. Install Istio CNI and Istio using Helm. - Refer to the [Customizable Install with Helm](/docs/setup/kubernetes/install/helm/#cni) instructions and the + Refer to the [Customizable Install with Helm](/docs/setup/install/helm/#cni) instructions and the **Istio CNI enabled** profile. Pass `--set cniBinDir=...` and/or `--set cniConfDir=...` options when installing `istio-cni` if non-default, as determined in the previous step. @@ -76,7 +77,7 @@ This example uses Helm to perform the following tasks: * `foo_ns` * `bar_ns` -Refer to the [Customizable Install with Helm](/docs/setup/kubernetes/install/helm/#cni) for complete instructions. +Refer to the [Customizable Install with Helm](/docs/setup/install/helm/#cni) for complete instructions. Use the following command to render and apply Istio CNI components and override the default configuration of the `istio-cni` Helm chart's `logLevel` and `excludeNamespaces` parameters: @@ -104,7 +105,7 @@ The following table shows the required settings for many common Kubernetes envir ### GKE setup -1. Refer to the procedure to [prepare a GKE cluster for Istio](/docs/setup/kubernetes/platform-setup/gke/) and +1. Refer to the procedure to [prepare a GKE cluster for Istio](/docs/setup/platform-setup/gke/) and enable [network-policy](https://cloud.google.com/kubernetes-engine/docs/how-to/network-policy) in your cluster. {{< warning >}} @@ -122,12 +123,12 @@ The following table shows the required settings for many common Kubernetes envir The use of the Istio CNI plugin requires Kubernetes pods to be deployed with a sidecar injection method that uses the `istio-sidecar-injector` configmap created from the Helm installation with the -`istio_cni.enabled=true`. Refer to [Istio sidecar injection](/docs/setup/kubernetes/additional-setup/sidecar-injection/) +`istio_cni.enabled=true`. Refer to [Istio sidecar injection](/docs/setup/additional-setup/sidecar-injection/) for details about Istio sidecar injection methods. The following sidecar injection methods are supported for use with the Istio CNI plugin: -1. [Automatic sidecar injection](/docs/setup/kubernetes/additional-setup/sidecar-injection/#automatic-sidecar-injection) +1. [Automatic sidecar injection](/docs/setup/additional-setup/sidecar-injection/#automatic-sidecar-injection) 1. Manual sidecar injection with the `istio-sidecar-injector` configmap 1. `istioctl kube-inject` using the configmap directly: diff --git a/content/en/docs/setup/kubernetes/additional-setup/config-profiles/index.md b/content/en/docs/setup/additional-setup/config-profiles/index.md similarity index 94% rename from content/en/docs/setup/kubernetes/additional-setup/config-profiles/index.md rename to content/en/docs/setup/additional-setup/config-profiles/index.md index 6a3f31a6eb..7e490821b0 100644 --- a/content/en/docs/setup/kubernetes/additional-setup/config-profiles/index.md +++ b/content/en/docs/setup/additional-setup/config-profiles/index.md @@ -2,11 +2,13 @@ title: Installation Configuration Profiles description: Describes the built-in Istio installation configuration profiles. weight: 35 +aliases: + - /docs/setup/kubernetes/additional-setup/config-profiles/ keywords: [profiles,install,helm] --- This page describes the built-in configuration profiles that can be used when -[installing Istio using helm](/docs/setup/kubernetes/install/helm/). +[installing Istio using helm](/docs/setup/install/helm/). The profiles provide customization of the Istio control plane and of the sidecars for the Istio data plane. You can start with one of Istio’s built-in configuration profiles and then further customize the configuration for your specific needs. The following built-in configuration profiles are currently available: @@ -16,7 +18,7 @@ your specific needs. The following built-in configuration profiles are currently 1. **demo**: configuration designed to showcase Istio functionality with modest resource requirements. It is suitable to run the [Bookinfo](/docs/examples/bookinfo/) application and associated tasks. - This is the same configuration that is installed with the [Quick Start](/docs/setup/kubernetes/install/kubernetes/) instructions, only using helm has the advantage + This is the same configuration that is installed with the [Quick Start](/docs/setup/install/kubernetes/) instructions, only using helm has the advantage that you can more easily enable additional features if you later wish to explore more advanced tasks. This profile comes in two variants, either with or without authentication enabled. @@ -90,4 +92,4 @@ This profile installs the same components as the Istio **default** configuration 1. The `coredns` addon. -Refer to the [multicluster installation instructions](/docs/setup/kubernetes/install/multicluster/) for more details. +Refer to the [multicluster installation instructions](/docs/setup/install/multicluster/) for more details. diff --git a/content/en/docs/setup/kubernetes/additional-setup/customize/index.md b/content/en/docs/setup/additional-setup/customize/index.md similarity index 95% rename from content/en/docs/setup/kubernetes/additional-setup/customize/index.md rename to content/en/docs/setup/additional-setup/customize/index.md index 8d681bec01..c917366c97 100644 --- a/content/en/docs/setup/kubernetes/additional-setup/customize/index.md +++ b/content/en/docs/setup/additional-setup/customize/index.md @@ -2,6 +2,8 @@ title: Advanced Install Options description: Customize the Istio installation. weight: 35 +aliases: + - /docs/setup/kubernetes/additional-setup/customize/ keywords: [kubernetes] draft: true --- @@ -57,6 +59,6 @@ istio-citadel-b48446f79-wd4tk 1/1 Running 0 1m istio-pilot-58c65f74bc-2f5xn 2/2 Running 0 1m {{< /text >}} -With this minimal set you can install your own application and [configure request routing](/docs/tasks/traffic-management/request-routing/). You will need to [manually inject the sidecar](/docs/setup/kubernetes/additional-setup/sidecar-injection/#manual-sidecar-injection). +With this minimal set you can install your own application and [configure request routing](/docs/tasks/traffic-management/request-routing/). You will need to [manually inject the sidecar](/docs/setup/additional-setup/sidecar-injection/#manual-sidecar-injection). [Installation Options](/docs/reference/config/installation-options/) has the full list of options allowing you to tailor the Istio installation to your needs. Before you override the default value with `--set` in `helm install`, please check the configurations for the option in `install/kubernetes/helm/istio/values.yaml` and uncomment the commented context if needed. diff --git a/content/en/docs/setup/kubernetes/additional-setup/requirements/index.md b/content/en/docs/setup/additional-setup/requirements/index.md similarity index 97% rename from content/en/docs/setup/kubernetes/additional-setup/requirements/index.md rename to content/en/docs/setup/additional-setup/requirements/index.md index 44cbd607ae..147f5ae388 100644 --- a/content/en/docs/setup/kubernetes/additional-setup/requirements/index.md +++ b/content/en/docs/setup/additional-setup/requirements/index.md @@ -6,6 +6,7 @@ aliases: - /docs/setup/kubernetes/spec-requirements/ - /docs/setup/kubernetes/prepare/spec-requirements/ - /docs/setup/kubernetes/prepare/requirements/ + - /docs/setup/kubernetes/additional-setup/requirements/ keywords: [kubernetes,sidecar,sidecar-injection] --- @@ -61,7 +62,7 @@ cluster must satisfy the following requirements: with the user ID (UID) value of **1337**. - **`NET_ADMIN` capability**: If your cluster enforces pod security policies, - pods must allow the `NET_ADMIN` capability. If you use the [Istio CNI Plugin](/docs/setup/kubernetes/additional-setup/cni/), + pods must allow the `NET_ADMIN` capability. If you use the [Istio CNI Plugin](/docs/setup/additional-setup/cni/), this requirement no longer applies. To learn more about the `NET_ADMIN` capability, visit [Required Pod Capabilities](/docs/ops/setup/required-pod-capabilities/). diff --git a/content/en/docs/setup/kubernetes/additional-setup/sidecar-injection/index.md b/content/en/docs/setup/additional-setup/sidecar-injection/index.md similarity index 99% rename from content/en/docs/setup/kubernetes/additional-setup/sidecar-injection/index.md rename to content/en/docs/setup/additional-setup/sidecar-injection/index.md index 43ae0c5119..ed97e25a06 100644 --- a/content/en/docs/setup/kubernetes/additional-setup/sidecar-injection/index.md +++ b/content/en/docs/setup/additional-setup/sidecar-injection/index.md @@ -6,6 +6,7 @@ keywords: [kubernetes,sidecar,sidecar-injection] aliases: - /docs/setup/kubernetes/automatic-sidecar-inject.html - /docs/setup/kubernetes/sidecar-injection/ + - /docs/setup/kubernetes/additional-setup/sidecar-injection/ --- ## Injection @@ -81,7 +82,7 @@ Note that unlike manual injection, automatic injection occurs at the pod-level. #### Disabling or updating the webhook The sidecar injecting webhook is enabled by default. If you wish to disable the webhook, you can -use [Helm](/docs/setup/kubernetes/install/helm/) to generate an updated `istio.yaml` +use [Helm](/docs/setup/install/helm/) to generate an updated `istio.yaml` with the option `sidecarInjectorWebhook.enabled` set to `false`. E.g. {{< text bash >}} diff --git a/content/en/docs/setup/consul/_index.md b/content/en/docs/setup/consul/_index.md deleted file mode 100644 index 4bc877cd39..0000000000 --- a/content/en/docs/setup/consul/_index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Nomad & Consul -description: Instructions for installing the Istio control plane in a Consul based environment, with or without Nomad. -weight: 20 -keywords: [consul] ---- \ No newline at end of file diff --git a/content/en/docs/setup/consul/install/index.md b/content/en/docs/setup/consul/install/index.md deleted file mode 100644 index d36dd99722..0000000000 --- a/content/en/docs/setup/consul/install/index.md +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: Installation -description: Instructions for installing the Istio control plane in a Consul-based environment, with or without Nomad. -weight: 30 -keywords: [consul] ---- - -{{< warning >}} -Setup on Nomad has not been tested. -{{< /warning >}} - -Using Istio in a non-Kubernetes environment involves a few key tasks: - -1. Setting up the Istio control plane with the Istio API server -1. Adding the Istio sidecar to every instance of a service -1. Ensuring requests are routed through the sidecars - -## Setting up the control plane - -Istio control plane consists of four main services: Pilot, Mixer, Citadel, and -the API server. - -### API Server - -Istio's API server (based on Kubernetes' API server) provides key functions -such as configuration management and Role-Based Access Control. The API -server requires an -[etcd cluster](https://v1-12.docs.kubernetes.io/docs/setup/scratch/#etcd) -as a persistent store. See the -[instructions for setting up the API server](https://v1-12.docs.kubernetes.io/docs/getting-started-guides/scratch/#apiserver-controller-manager-and-scheduler). - -#### Local install - -For _proof of concept_ purposes, it is possible to install -a simple single container API server using the following Docker-compose file: - -{{< text yaml >}} -version: '2' -services: - etcd: - image: quay.io/coreos/etcd:latest - networks: - istiomesh: - aliases: - - etcd - ports: - - "4001:4001" - - "2380:2380" - - "2379:2379" - environment: - - SERVICE_IGNORE=1 - command: [ - "/usr/local/bin/etcd", - "-advertise-client-urls=http://0.0.0.0:2379", - "-listen-client-urls=http://0.0.0.0:2379" - ] - - istio-apiserver: - image: gcr.io/google_containers/kube-apiserver-amd64:v1.7.3 - networks: - istiomesh: - ipv4_address: 172.28.0.13 - aliases: - - apiserver - ports: - - "8080:8080" - privileged: true - environment: - - SERVICE_IGNORE=1 - command: [ - "kube-apiserver", "--etcd-servers", "http://etcd:2379", - "--service-cluster-ip-range", "10.99.0.0/16", - "--insecure-port", "8080", - "-v", "2", - "--insecure-bind-address", "0.0.0.0" - ] -{{< /text >}} - -### Other Istio components - -Debian packages for Istio Pilot, Mixer, and Citadel are available through the -Istio release. Alternatively, these components can be run as Docker -containers (`docker.io/istio/pilot`, `docker.io/istio/mixer`, -`docker.io/istio/citadel`). Note that these components are stateless and can -be scaled horizontally. Each of these components depends on the Istio API -server, which in turn depends on the etcd cluster for persistence. To -achieve high availability, each control plane service could be run as a -[job](https://www.nomadproject.io/docs/job-specification/index.html) in -Nomad, where the -[service stanza](https://www.nomadproject.io/docs/job-specification/service.html) -can be used to describe the desired properties of the control plane services. Some -of these components may require additional install artifacts to be present in the -Istio API server to function appropriately. - -## Adding sidecars to service instances - -Each instance of a service in an application must be accompanied by the -Istio sidecar. Depending on the unit of your installation (Docker -containers, VM, bare metal nodes), the Istio sidecar needs to be installed -into these components. For example, if your infrastructure uses VMs, the -Istio sidecar process must be run on each VM that needs to be part of the -service mesh. - -One way to package the sidecars into a Nomad-based deployment is to add the -Istio sidecar process as a task in a -[task group](https://www.nomadproject.io/docs/job-specification/group.html). A -task group is a collection of one or more related tasks that are guaranteed to be -colocated on the same host. However, unlike Kubernetes Pods, tasks in a -group do not share the same network namespace. Hence, care must be taken to -ensure that only one task group is run per host, when using `iptables` -rules to transparently re-route all network traffic via the Istio -sidecar. When support for non-transparent proxying (application explicitly -talks to the sidecar) is available in Istio, this restriction will no -longer apply. - -## Routing traffic through Istio sidecars - -Part of the sidecar installation should involve setting up appropriate IP -Table rules to transparently route application's network traffic through -the Istio sidecars. The IP table script to setup such forwarding can be -found in the -[here]({{< github_file >}}/tools/packaging/common/istio-iptables.sh). - -{{< warning >}} -This script must be executed before starting the application or -the sidecar process. -{{< /warning >}} diff --git a/content/en/docs/setup/consul/quick-start/index.md b/content/en/docs/setup/consul/quick-start/index.md deleted file mode 100644 index f0abe2c000..0000000000 --- a/content/en/docs/setup/consul/quick-start/index.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: Quick Start on Docker -description: Quick Start instructions to setup the Istio service mesh with Docker Compose. -weight: 10 -keywords: [consul] ---- - -Quick Start instructions to install and configure Istio networking in a Docker Compose setup. - -## Prerequisites - -* [Docker](https://docs.docker.com/engine/installation/) -* [Docker Compose](https://docs.docker.com/compose/install/) - -## Installation steps - -1. Go to the [Istio release](https://github.com/istio/istio/releases) page to download the - installation file corresponding to your OS. If you are using a macOS or Linux system, you can also - run the following command to download and extract the latest release automatically: - - {{< text bash >}} - $ curl -L https://git.io/getLatestIstio | ISTIO_VERSION={{< istio_full_version >}} sh - - {{< /text >}} - -1. Extract the installation file and change the directory to the file location. The -installation directory contains: - - * Sample applications in `samples/` - * The `istioctl` client binary in the `bin/` directory. `istioctl` is used for some debug and diagnostics tasks. - * The `istio.VERSION` configuration file - -1. Add the `istioctl` client to your PATH. -For example, run the following command on a macOS or Linux system: - - {{< text bash >}} - $ export PATH=$PWD/bin:$PATH - {{< /text >}} - -1. Install `kubectl` using [these instructions](https://kubernetes.io/docs/tasks/tools/install-kubectl). - -`kubectl` is used to create, read, modify, and delete Istio API resources. - -1. For Linux users, configure the `DOCKER_GATEWAY` environment variable - - {{< text bash >}} - $ export DOCKER_GATEWAY=172.28.0.1: - {{< /text >}} - -1. Change directory to the root of the Istio installation directory. - -1. Bring up the Istio networking control plane containers: - - {{< text bash >}} - $ docker-compose -f install/consul/istio.yaml up -d - {{< /text >}} - - {{< warning >}} - The Consul install only configures Istio Pilot. To use Istio Mixer (policy enforcement and telemetry reporting) or Istio Galley, further installation steps - will be necessary. Those steps are beyond the scope of this guide. - {{< /warning >}} - -1. Confirm that all Docker containers are running: - - {{< text bash >}} - $ docker ps -a - {{< /text >}} - - {{< tip >}} - If the Istio Pilot container terminates, ensure that you ran the `kubectl config` commands below and re-run the command from the previous step. - {{< /tip >}} - -1. Configure `kubectl` to use mapped local port for the API server: - - {{< text bash >}} - $ kubectl config set-context istio --cluster=istio - $ kubectl config set-cluster istio --server=http://localhost:8080 - $ kubectl config use-context istio - {{< /text >}} - -## Deploy your application - -You can now deploy your own application or one of the sample applications provided with the -installation like[Bookinfo](/docs/examples/bookinfo/#if-you-are-running-on-docker-with-consul). - -{{< tip >}} -Since there is no concept of pods in a Docker setup, the Istio -sidecar runs in the same container as the application. We will -use [Registrator](https://gliderlabs.github.io/registrator/latest/) to -automatically register instances of services in the Consul service -registry. - -The application must use HTTP/1.1 or HTTP/2.0 protocol for all its HTTP traffic because HTTP/1.0 is not supported. -{{< /tip >}} - -{{< text bash >}} -$ docker-compose -f .yaml up -d -{{< /text >}} - -## Uninstalling - -Uninstall Istio core components by removing the Docker containers: - -{{< text bash >}} -$ docker-compose -f install/consul/istio.yaml down -{{< /text >}} diff --git a/content/en/docs/setup/kubernetes/getting-started/index.md b/content/en/docs/setup/getting-started/index.md similarity index 88% rename from content/en/docs/setup/kubernetes/getting-started/index.md rename to content/en/docs/setup/getting-started/index.md index 653cfb6ecc..6f5378c3e2 100644 --- a/content/en/docs/setup/kubernetes/getting-started/index.md +++ b/content/en/docs/setup/getting-started/index.md @@ -2,6 +2,8 @@ title: Getting Started description: Download, install, and try out Istio. weight: 5 +aliases: + - /docs/setup/kubernetes/getting-started/ skip_toc: true keywords: [getting-started, install, bookinfo, quick-start, kubernetes] --- @@ -10,11 +12,11 @@ This guide lets you try out Istio quickly and it's the ideal starting point if you are new to the project. To get started, download and install Istio's built-in **demo** configuration: -1. [Setup your platform](/docs/setup/kubernetes/platform-setup/) -1. [Download the Istio release](/docs/setup/kubernetes/#downloading-the-release) -1. [Follow the quick-start installation instructions](/docs/setup/kubernetes/install/kubernetes) +1. [Setup your platform](/docs/setup/platform-setup/) +1. [Download the Istio release](/docs/setup/#downloading-the-release) +1. [Follow the quick-start installation instructions](/docs/setup/install/kubernetes) -With Istio installed, you can [deploy the Bookinfo sample](/docs/examples/bookinfo/#if-you-are-running-on-kubernetes) +With Istio installed, you can [deploy the Bookinfo sample](/docs/examples/bookinfo/#deploying-the-application) and evaluate Istio's features for traffic routing, fault injection, rate limiting, etc. Explore the various [Istio tasks](/docs/tasks/), and try out the tasks that interest you. If you are not sure where to begin, the following diff --git a/content/en/docs/setup/kubernetes/install/_index.md b/content/en/docs/setup/install/_index.md similarity index 85% rename from content/en/docs/setup/kubernetes/install/_index.md rename to content/en/docs/setup/install/_index.md index 1160ea2133..cca42ed4e9 100644 --- a/content/en/docs/setup/kubernetes/install/_index.md +++ b/content/en/docs/setup/install/_index.md @@ -3,6 +3,8 @@ title: Installation Guides linktitle: Install description: Choose the guide that best suits your needs and platform. weight: 20 +aliases: + - /docs/setup/kubernetes/install/ --- {{< tip >}} diff --git a/content/en/docs/setup/kubernetes/install/helm/index.md b/content/en/docs/setup/install/helm/index.md similarity index 92% rename from content/en/docs/setup/kubernetes/install/helm/index.md rename to content/en/docs/setup/install/helm/index.md index c502f06cdf..3903fd329b 100644 --- a/content/en/docs/setup/kubernetes/install/helm/index.md +++ b/content/en/docs/setup/install/helm/index.md @@ -7,6 +7,7 @@ aliases: - /docs/setup/kubernetes/helm.html - /docs/tasks/integrating-services-into-istio.html - /docs/setup/kubernetes/helm-install/ + - /docs/setup/kubernetes/install/helm/ icon: helm --- @@ -28,16 +29,16 @@ using `kubectl apply`, or you can choose to use `helm install` and let completely manage the installation. Using these instructions, you can select any one of Istio's built-in -[configuration profiles](/docs/setup/kubernetes/additional-setup/config-profiles/) +[configuration profiles](/docs/setup/additional-setup/config-profiles/) and then further customize the configuration for your specific needs. ## Prerequisites -1. [Download the Istio release](/docs/setup/kubernetes/#downloading-the-release). +1. [Download the Istio release](/docs/setup/#downloading-the-release). -1. Perform any necessary [platform-specific setup](/docs/setup/kubernetes/platform-setup/). +1. Perform any necessary [platform-specific setup](/docs/setup/platform-setup/). -1. Check the [Requirements for Pods and Services](/docs/setup/kubernetes/additional-setup/requirements/). +1. Check the [Requirements for Pods and Services](/docs/setup/additional-setup/requirements/). 1. [Install a Helm client](https://github.com/helm/helm/blob/master/docs/install.md) with a version higher than 2.10. @@ -63,8 +64,8 @@ extra white space in the command line is not properly handled resulting in a `he or `helm install` operation that produces an incorrect manifest. {{< /warning >}} -1. To deploy Istio without using Tiller, follow the instructions for [option 1](/docs/setup/kubernetes/install/helm/#option-1-install-with-helm-via-helm-template). -1. To use [Helm's Tiller pod](https://helm.sh/) to manage your Istio release, follow the instructions for [option 2](/docs/setup/kubernetes/install/helm/#option-2-install-with-helm-and-tiller-via-helm-install). +1. To deploy Istio without using Tiller, follow the instructions for [option 1](/docs/setup/install/helm/#option-1-install-with-helm-via-helm-template). +1. To use [Helm's Tiller pod](https://helm.sh/) to manage your Istio release, follow the instructions for [option 2](/docs/setup/install/helm/#option-2-install-with-helm-and-tiller-via-helm-install). {{< tip >}} Istio, by default, uses `LoadBalancer` service object types. Some platforms do not support `LoadBalancer` @@ -94,7 +95,7 @@ deployed and you don't want to install it. 1. {{< boilerplate verify-crds >}} -1. Select a [configuration profile](/docs/setup/kubernetes/additional-setup/config-profiles/) +1. Select a [configuration profile](/docs/setup/additional-setup/config-profiles/) and then render and apply Istio's core components corresponding to your chosen profile. The **default** profile is recommended for production deployments: @@ -151,7 +152,7 @@ $ helm template install/kubernetes/helm/istio --name istio --namespace istio-sys {{< tab name="Istio CNI enabled" cookie-value="cni" >}} -Install the [Istio CNI](/docs/setup/kubernetes/additional-setup/cni/) components: +Install the [Istio CNI](/docs/setup/additional-setup/cni/) components: {{< text bash >}} $ helm template install/kubernetes/helm/istio-cni --name=istio-cni --namespace=istio-system | kubectl apply -f - @@ -198,7 +199,7 @@ to manage the lifecycle of Istio. 1. {{< boilerplate verify-crds >}} -1. Select a [configuration profile](/docs/setup/kubernetes/additional-setup/config-profiles/) +1. Select a [configuration profile](/docs/setup/additional-setup/config-profiles/) and then install the `istio` chart corresponding to your chosen profile. The **default** profile is recommended for production deployments: @@ -255,7 +256,7 @@ $ helm install install/kubernetes/helm/istio --name istio --namespace istio-syst {{< tab name="Istio CNI enabled" cookie-value="cni" >}} -Install the [Istio CNI](/docs/setup/kubernetes/additional-setup/cni/) chart: +Install the [Istio CNI](/docs/setup/additional-setup/cni/) chart: {{< text bash >}} $ helm install install/kubernetes/helm/istio-cni --name istio-cni --namespace istio-system @@ -275,7 +276,7 @@ $ helm install install/kubernetes/helm/istio --name istio --namespace istio-syst ## Verifying the installation 1. Referring to components table in - [configuration profiles](/docs/setup/kubernetes/additional-setup/config-profiles/), + [configuration profiles](/docs/setup/additional-setup/config-profiles/), verify that the Kubernetes services corresponding to your selected profile have been deployed. {{< text bash >}} diff --git a/content/en/docs/setup/kubernetes/install/kubernetes/index.md b/content/en/docs/setup/install/kubernetes/index.md similarity index 95% rename from content/en/docs/setup/kubernetes/install/kubernetes/index.md rename to content/en/docs/setup/install/kubernetes/index.md index dde7d33099..897f6870e8 100644 --- a/content/en/docs/setup/kubernetes/install/kubernetes/index.md +++ b/content/en/docs/setup/install/kubernetes/index.md @@ -5,9 +5,10 @@ weight: 10 keywords: [kubernetes] aliases: - /docs/setup/kubernetes/quick-start/ + - /docs/setup/kubernetes/install/kubernetes/ --- -This guide installs Istio's built-in **demo** [configuration profile](/docs/setup/kubernetes/additional-setup/config-profiles/) +This guide installs Istio's built-in **demo** [configuration profile](/docs/setup/additional-setup/config-profiles/) using basic Kubernetes commands without needing to download or install [Helm](https://github.com/helm/helm). This installation lets you quickly evaluate Istio in a Kubernetes cluster on any platform. @@ -19,14 +20,14 @@ access logging. {{< /warning >}} To install Istio for production use, we recommend using the -[Helm Installation guide](/docs/setup/kubernetes/install/helm/) +[Helm Installation guide](/docs/setup/install/helm/) instead, which provides many more options for selecting and managing the Istio configuration. This permits customization of Istio to operator specific requirements. ## Prerequisites -1. [Download the Istio release](/docs/setup/kubernetes/#downloading-the-release). +1. [Download the Istio release](/docs/setup/#downloading-the-release). {{< warning >}} These quick-start instructions will not work with a downloaded [istio repository](https://github.com/istio/istio) @@ -35,9 +36,9 @@ requirements. refer to the [developer wiki](https://github.com/istio/istio/wiki) for instructions. {{< /warning >}} -1. Perform any necessary [platform-specific setup](/docs/setup/kubernetes/platform-setup/). +1. Perform any necessary [platform-specific setup](/docs/setup/platform-setup/). -1. Check the [Requirements for Pods and Services](/docs/setup/kubernetes/additional-setup/requirements/). +1. Check the [Requirements for Pods and Services](/docs/setup/additional-setup/requirements/). ## Installation steps @@ -155,7 +156,7 @@ traffic; HTTP/1.0 is not supported. {{< /warning >}} When you deploy your application using `kubectl apply`, -the [Istio sidecar injector](/docs/setup/kubernetes/additional-setup/sidecar-injection/#automatic-sidecar-injection) +the [Istio sidecar injector](/docs/setup/additional-setup/sidecar-injection/#automatic-sidecar-injection) will automatically inject Envoy containers into your application pods if they are started in namespaces labeled with `istio-injection=enabled`: diff --git a/content/en/docs/setup/kubernetes/install/multicluster/_index.md b/content/en/docs/setup/install/multicluster/_index.md similarity index 92% rename from content/en/docs/setup/kubernetes/install/multicluster/_index.md rename to content/en/docs/setup/install/multicluster/_index.md index 6ecc2ef91d..e50a2d87ed 100644 --- a/content/en/docs/setup/kubernetes/install/multicluster/_index.md +++ b/content/en/docs/setup/install/multicluster/_index.md @@ -5,6 +5,7 @@ weight: 30 aliases: - /docs/setup/kubernetes/multicluster-install/ - /docs/setup/kubernetes/multicluster/ + - /docs/setup/kubernetes/install/multicluster/ keywords: [kubernetes,multicluster] --- diff --git a/content/en/docs/setup/kubernetes/install/multicluster/gateways/index.md b/content/en/docs/setup/install/multicluster/gateways/index.md similarity index 96% rename from content/en/docs/setup/kubernetes/install/multicluster/gateways/index.md rename to content/en/docs/setup/install/multicluster/gateways/index.md index 72e7b09e46..44898878b6 100644 --- a/content/en/docs/setup/kubernetes/install/multicluster/gateways/index.md +++ b/content/en/docs/setup/install/multicluster/gateways/index.md @@ -3,9 +3,10 @@ title: Dedicated control planes description: Install an Istio mesh across multiple Kubernetes clusters with individually deployed control planes. weight: 2 aliases: - - /docs/setup/kubernetes/multicluster-install/gateways/ - - /docs/examples/multicluster/gateways/ - - /docs/tasks/multicluster/gateways/ + - /docs/setup/kubernetes/multicluster-install/gateways/ + - /docs/examples/multicluster/gateways/ + - /docs/tasks/multicluster/gateways/ + - /docs/setup/kubernetes/install/multicluster/gateways/ keywords: [kubernetes,multicluster,gateway] --- @@ -30,7 +31,7 @@ Cross-cluster communication occurs over Istio gateways of the respective cluster * Two or more Kubernetes clusters with versions: {{< supported_kubernetes_versions >}}. -* Authority to deploy the [Istio control plane using Helm](/docs/setup/kubernetes/install/helm/) +* Authority to deploy the [Istio control plane using Helm](/docs/setup/install/helm/) on **each** Kubernetes cluster. * The IP address of the `istio-ingressgateway` service in each cluster must be accessible @@ -38,7 +39,7 @@ Cross-cluster communication occurs over Istio gateways of the respective cluster Not all cloud providers support NLBs and some require special annotations to use them, so please consult your cloud provider’s documentation for enabling NLBs for service object type load balancers. When deploying on platforms without - NLB support, it may be necessary to modify the healthchecks for the load + NLB support, it may be necessary to modify the health checks for the load balancer to register the ingress gateway. * A **Root CA**. Cross cluster communication requires mutual TLS connection @@ -48,7 +49,7 @@ Cross-cluster communication occurs over Istio gateways of the respective cluster sample root CA certificate available in the Istio installation under the `samples/certs` directory. -## Deploy the Istio control plane in each cluster {#deploy-istio} +## Deploy the Istio control plane in each cluster 1. Generate intermediate CA certificates for each cluster's Citadel from your organization's root CA. The shared root CA enables mutual TLS communication @@ -67,7 +68,7 @@ Cross-cluster communication occurs over Istio gateways of the respective cluster {{< /text >}} For further details and customization options, refer to the - [Installation with Helm](/docs/setup/kubernetes/install/helm/) instructions. + [Installation with Helm](/docs/setup/install/helm/) instructions. 1. Run the following commands in **every cluster** to deploy an identical Istio control plane configuration in all of them. @@ -309,8 +310,8 @@ running in a second cluster. Before you begin: `:15443` over a mutual TLS connection. The gateway for port 15443 is a special SNI-aware Envoy - preconfigured and installed as part of the multicluster Istio installation step - in the [deploy the Istio control plane](#deploy-istio) section. Traffic entering port 15443 will be + preconfigured and installed when you deployed the Istio control plane in the cluster. + Traffic entering port 15443 will be load balanced among pods of the appropriate internal service of the target cluster (in this case, `httpbin.bar` in `cluster2`). diff --git a/content/en/docs/setup/kubernetes/install/multicluster/gateways/multicluster-with-gateways.svg b/content/en/docs/setup/install/multicluster/gateways/multicluster-with-gateways.svg similarity index 100% rename from content/en/docs/setup/kubernetes/install/multicluster/gateways/multicluster-with-gateways.svg rename to content/en/docs/setup/install/multicluster/gateways/multicluster-with-gateways.svg diff --git a/content/en/docs/setup/kubernetes/install/multicluster/shared-gateways/diagram.svg b/content/en/docs/setup/install/multicluster/shared-gateways/diagram.svg similarity index 100% rename from content/en/docs/setup/kubernetes/install/multicluster/shared-gateways/diagram.svg rename to content/en/docs/setup/install/multicluster/shared-gateways/diagram.svg diff --git a/content/en/docs/setup/kubernetes/install/multicluster/shared-gateways/index.md b/content/en/docs/setup/install/multicluster/shared-gateways/index.md similarity index 99% rename from content/en/docs/setup/kubernetes/install/multicluster/shared-gateways/index.md rename to content/en/docs/setup/install/multicluster/shared-gateways/index.md index 53902a9643..abede50611 100644 --- a/content/en/docs/setup/kubernetes/install/multicluster/shared-gateways/index.md +++ b/content/en/docs/setup/install/multicluster/shared-gateways/index.md @@ -6,6 +6,7 @@ keywords: [kubernetes,multicluster] aliases: - /docs/examples/multicluster/split-horizon-eds/ - /docs/tasks/multicluster/split-horizon-eds/ + - /docs/setup/kubernetes/install/multicluster/shared-gateways/ --- Follow this guide to configure a multicluster mesh using a @@ -28,7 +29,7 @@ No VPN connectivity nor direct network access between workloads in different clu * Two or more Kubernetes clusters with versions: {{< supported_kubernetes_versions >}}. -* Authority to deploy the [Istio control plane using Helm](/docs/setup/kubernetes/install/helm/) +* Authority to deploy the [Istio control plane using Helm](/docs/setup/install/helm/) * Two Kubernetes clusters (referred to as `cluster1` and `cluster2`). @@ -55,7 +56,7 @@ This will be used to access pilot on `cluster1` securely using the ingress gatew {{< warning >}} When you enable the additional components necessary for multicluster operation, the resource footprint of the Istio control plane may increase beyond the capacity of the default Kubernetes cluster you created when - completing the [Platform setup](/docs/setup/kubernetes/platform-setup/) steps. + completing the [Platform setup](/docs/setup/platform-setup/) steps. If the Istio services aren't getting scheduled due to insufficient CPU or memory, consider adding more nodes to your cluster or upgrading to larger memory instances as necessary. {{< /warning >}} diff --git a/content/en/docs/setup/kubernetes/install/multicluster/shared-vpn/index.md b/content/en/docs/setup/install/multicluster/shared-vpn/index.md similarity index 99% rename from content/en/docs/setup/kubernetes/install/multicluster/shared-vpn/index.md rename to content/en/docs/setup/install/multicluster/shared-vpn/index.md index 65bb153fc6..dff2325cbe 100644 --- a/content/en/docs/setup/kubernetes/install/multicluster/shared-vpn/index.md +++ b/content/en/docs/setup/install/multicluster/shared-vpn/index.md @@ -6,6 +6,7 @@ keywords: [kubernetes,multicluster,federation,vpn] aliases: - /docs/setup/kubernetes/multicluster-install/vpn/ - /docs/setup/kubernetes/install/multicluster/vpn/ + - /docs/setup/kubernetes/install/multicluster/shared-vpn/ --- Follow this guide to install an Istio [multicluster service mesh](/docs/concepts/multicluster-deployments/) @@ -25,7 +26,7 @@ control plane and form a mesh network across multiple clusters. * Two or more clusters running a supported Kubernetes version ({{< supported_kubernetes_versions >}}). -* The ability to deploy the [Istio control plane](/docs/setup/kubernetes/install/kubernetes/) +* The ability to deploy the [Istio control plane](/docs/setup/install/kubernetes/) on **one** of the clusters. * A RFC1918 network, VPN, or an alternative more advanced network technique @@ -45,7 +46,7 @@ manifests and Helm charts provided within the Istio repository. ## Deploy the local control plane -Install the [Istio control plane](/docs/setup/kubernetes/install/kubernetes/#installation-steps) +Install the [Istio control plane](/docs/setup/install/kubernetes/#installation-steps) on **one** Kubernetes cluster. ## Install the Istio remote diff --git a/content/en/docs/setup/kubernetes/install/multicluster/shared-vpn/multicluster-with-vpn.svg b/content/en/docs/setup/install/multicluster/shared-vpn/multicluster-with-vpn.svg similarity index 100% rename from content/en/docs/setup/kubernetes/install/multicluster/shared-vpn/multicluster-with-vpn.svg rename to content/en/docs/setup/install/multicluster/shared-vpn/multicluster-with-vpn.svg diff --git a/content/en/docs/setup/kubernetes/install/platform/_index.md b/content/en/docs/setup/install/platform/_index.md similarity index 71% rename from content/en/docs/setup/kubernetes/install/platform/_index.md rename to content/en/docs/setup/install/platform/_index.md index 1c42031d82..da517b4ed3 100644 --- a/content/en/docs/setup/kubernetes/install/platform/_index.md +++ b/content/en/docs/setup/install/platform/_index.md @@ -2,4 +2,6 @@ title: Platform-specific Instructions description: Additional installation instructions for supported Kubernetes platforms. weight: 40 +aliases: + - /docs/setup/kubernetes/install/platform/ --- diff --git a/content/en/docs/setup/kubernetes/install/platform/alicloud/app-catalog-istio-1.0.0.png b/content/en/docs/setup/install/platform/alicloud/app-catalog-istio-1.0.0.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/alicloud/app-catalog-istio-1.0.0.png rename to content/en/docs/setup/install/platform/alicloud/app-catalog-istio-1.0.0.png diff --git a/content/en/docs/setup/kubernetes/install/platform/alicloud/index.md b/content/en/docs/setup/install/platform/alicloud/index.md similarity index 98% rename from content/en/docs/setup/kubernetes/install/platform/alicloud/index.md rename to content/en/docs/setup/install/platform/alicloud/index.md index 0da128733f..c0115a2c87 100644 --- a/content/en/docs/setup/kubernetes/install/platform/alicloud/index.md +++ b/content/en/docs/setup/install/platform/alicloud/index.md @@ -6,6 +6,7 @@ weight: 60 keywords: [kubernetes,alibabacloud,aliyun] aliases: - /docs/setup/kubernetes/quick-start-alicloud-ack/ + - /docs/setup/kubernetes/install/platform/alicloud/ --- Follow this guide to install and configure an Istio mesh in the diff --git a/content/en/docs/setup/kubernetes/install/platform/gke/dm-tracing.png b/content/en/docs/setup/install/platform/gke/dm-tracing.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/gke/dm-tracing.png rename to content/en/docs/setup/install/platform/gke/dm-tracing.png diff --git a/content/en/docs/setup/kubernetes/install/platform/gke/dm_bookinfo.png b/content/en/docs/setup/install/platform/gke/dm_bookinfo.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/gke/dm_bookinfo.png rename to content/en/docs/setup/install/platform/gke/dm_bookinfo.png diff --git a/content/en/docs/setup/kubernetes/install/platform/gke/dm_gcp_iam.png b/content/en/docs/setup/install/platform/gke/dm_gcp_iam.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/gke/dm_gcp_iam.png rename to content/en/docs/setup/install/platform/gke/dm_gcp_iam.png diff --git a/content/en/docs/setup/kubernetes/install/platform/gke/dm_gcp_iam_role.png b/content/en/docs/setup/install/platform/gke/dm_gcp_iam_role.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/gke/dm_gcp_iam_role.png rename to content/en/docs/setup/install/platform/gke/dm_gcp_iam_role.png diff --git a/content/en/docs/setup/kubernetes/install/platform/gke/dm_grafana.png b/content/en/docs/setup/install/platform/gke/dm_grafana.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/gke/dm_grafana.png rename to content/en/docs/setup/install/platform/gke/dm_grafana.png diff --git a/content/en/docs/setup/kubernetes/install/platform/gke/dm_kiali.png b/content/en/docs/setup/install/platform/gke/dm_kiali.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/gke/dm_kiali.png rename to content/en/docs/setup/install/platform/gke/dm_kiali.png diff --git a/content/en/docs/setup/kubernetes/install/platform/gke/dm_kubernetes_workloads.png b/content/en/docs/setup/install/platform/gke/dm_kubernetes_workloads.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/gke/dm_kubernetes_workloads.png rename to content/en/docs/setup/install/platform/gke/dm_kubernetes_workloads.png diff --git a/content/en/docs/setup/kubernetes/install/platform/gke/dm_launcher.png b/content/en/docs/setup/install/platform/gke/dm_launcher.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/gke/dm_launcher.png rename to content/en/docs/setup/install/platform/gke/dm_launcher.png diff --git a/content/en/docs/setup/kubernetes/install/platform/gke/dm_prometheus.png b/content/en/docs/setup/install/platform/gke/dm_prometheus.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/gke/dm_prometheus.png rename to content/en/docs/setup/install/platform/gke/dm_prometheus.png diff --git a/content/en/docs/setup/kubernetes/install/platform/gke/index.md b/content/en/docs/setup/install/platform/gke/index.md similarity index 98% rename from content/en/docs/setup/kubernetes/install/platform/gke/index.md rename to content/en/docs/setup/install/platform/gke/index.md index fb6e2a0874..02af2e7641 100644 --- a/content/en/docs/setup/kubernetes/install/platform/gke/index.md +++ b/content/en/docs/setup/install/platform/gke/index.md @@ -7,6 +7,7 @@ keywords: [kubernetes,gke,google] aliases: - /docs/setup/kubernetes/quick-start-gke-dm/ - /docs/setup/kubernetes/quick-start/ + - /docs/setup/kubernetes/install/platform/gke/ --- Follow this guide to install and configure an Istio mesh Istio in the diff --git a/content/en/docs/setup/kubernetes/install/platform/ibm/add-on-install.png b/content/en/docs/setup/install/platform/ibm/add-on-install.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/ibm/add-on-install.png rename to content/en/docs/setup/install/platform/ibm/add-on-install.png diff --git a/content/en/docs/setup/kubernetes/install/platform/ibm/index.md b/content/en/docs/setup/install/platform/ibm/index.md similarity index 90% rename from content/en/docs/setup/kubernetes/install/platform/ibm/index.md rename to content/en/docs/setup/install/platform/ibm/index.md index 46d53a54af..72c1f4c35d 100644 --- a/content/en/docs/setup/kubernetes/install/platform/ibm/index.md +++ b/content/en/docs/setup/install/platform/ibm/index.md @@ -6,6 +6,7 @@ weight: 70 keywords: [kubernetes,ibm,icp] aliases: - /docs/setup/kubernetes/quick-start-ibm/ + - /docs/setup/kubernetes/install/platform/ibm/ --- Follow this guide to install and configure an Istio mesh in IBM Cloud. @@ -26,17 +27,17 @@ To install the managed Istio add-on in IBM Cloud Public, you can use the UI or t 1. In your [cluster dashboard](https://cloud.ibm.com/kubernetes/clusters), click the name of a cluster. -1. Click the **Add-ons** tab. +1. Click the `Add-ons` tab. -1. On the Istio card, click **Install**. The Istio check box is already selected. To also install the Istio extras and BookInfo sample app, select the Istio Extras and the Istio Sample check boxes. +1. On the Istio card, click **Install**. The Istio check box is already selected. To also install the Istio extras and Bookinfo sample app, select the Istio Extras and the Istio Sample check boxes. {{< image link="./add-on-install.png" caption="Enable managed Istio add-ons in the IBM Cloud console" >}} -1. Click Install. On the Istio card, verify that the add-ons you enabled are listed. +1. Click Install. On the Istio card, verify that the addons you enabled are listed. **To use the CLI**: -1. Install the `istio`, `istio-extras`, and `istio-sample-bookinfo` add-ons. +1. Install the `istio`, `istio-extras`, and `istio-sample-bookinfo` addons. {{< text bash >}} $ ibmcloud ks cluster-addon-enable istio --cluster @@ -60,7 +61,7 @@ To install the managed Istio add-on in IBM Cloud Public, you can use the UI or t $ kubectl get pods -n istio-system {{< /text >}} -1. Verify that the BookInfo microservices are deployed and their corresponding pods have a `STATUS` of `Running`. +1. Verify that the Bookinfo microservices are deployed and their corresponding pods have a `STATUS` of `Running`. {{< text bash >}} $ kubectl get svc -n default @@ -72,9 +73,9 @@ To install the managed Istio add-on in IBM Cloud Public, you can use the UI or t ### Manual Istio install -Follow [these instructions](/docs/setup/kubernetes/) to install and run the current release version of Istio in [IBM Cloud Public](https://www.ibm.com/cloud/) using the IBM Cloud Kubernetes Service (IKS). +Follow [these instructions](/docs/setup/) to install and run the current release version of Istio in [IBM Cloud Public](https://www.ibm.com/cloud/) using the IBM Cloud Kubernetes Service (IKS). -To upgrade Istio in an existing IKS cluster, follow the [upgrade instructions](/docs/setup/kubernetes/upgrade) instead. +To upgrade Istio in an existing IKS cluster, follow the [upgrade instructions](/docs/setup/upgrade) instead. ## IBM Cloud Private diff --git a/content/en/docs/setup/kubernetes/install/platform/ibm/istio-catalog-1.png b/content/en/docs/setup/install/platform/ibm/istio-catalog-1.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/ibm/istio-catalog-1.png rename to content/en/docs/setup/install/platform/ibm/istio-catalog-1.png diff --git a/content/en/docs/setup/kubernetes/install/platform/ibm/istio-catalog-2.png b/content/en/docs/setup/install/platform/ibm/istio-catalog-2.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/ibm/istio-catalog-2.png rename to content/en/docs/setup/install/platform/ibm/istio-catalog-2.png diff --git a/content/en/docs/setup/kubernetes/install/platform/ibm/istio-deletion.png b/content/en/docs/setup/install/platform/ibm/istio-deletion.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/ibm/istio-deletion.png rename to content/en/docs/setup/install/platform/ibm/istio-deletion.png diff --git a/content/en/docs/setup/kubernetes/install/platform/ibm/istio-installation-1.png b/content/en/docs/setup/install/platform/ibm/istio-installation-1.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/ibm/istio-installation-1.png rename to content/en/docs/setup/install/platform/ibm/istio-installation-1.png diff --git a/content/en/docs/setup/kubernetes/install/platform/ibm/istio-installation-2.png b/content/en/docs/setup/install/platform/ibm/istio-installation-2.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/ibm/istio-installation-2.png rename to content/en/docs/setup/install/platform/ibm/istio-installation-2.png diff --git a/content/en/docs/setup/kubernetes/install/platform/ibm/istio-release.png b/content/en/docs/setup/install/platform/ibm/istio-release.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/ibm/istio-release.png rename to content/en/docs/setup/install/platform/ibm/istio-release.png diff --git a/content/en/docs/setup/kubernetes/install/platform/ibm/istio-upgrade-1.png b/content/en/docs/setup/install/platform/ibm/istio-upgrade-1.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/ibm/istio-upgrade-1.png rename to content/en/docs/setup/install/platform/ibm/istio-upgrade-1.png diff --git a/content/en/docs/setup/kubernetes/install/platform/ibm/istio-upgrade-2.png b/content/en/docs/setup/install/platform/ibm/istio-upgrade-2.png similarity index 100% rename from content/en/docs/setup/kubernetes/install/platform/ibm/istio-upgrade-2.png rename to content/en/docs/setup/install/platform/ibm/istio-upgrade-2.png diff --git a/content/en/docs/setup/kubernetes/_index.md b/content/en/docs/setup/kubernetes/_index.md deleted file mode 100644 index 94c9c95942..0000000000 --- a/content/en/docs/setup/kubernetes/_index.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: Installing on Kubernetes -linktitle: Kubernetes -description: Instructions for installing the Istio control plane on Kubernetes and adding virtual machines into the mesh. -weight: 10 -aliases: - - /docs/tasks/installing-istio.html - - /docs/setup/install-kubernetes.html - - /docs/setup/kubernetes/quick-start.html - - /docs/setup/kubernetes/download-release/ - - /docs/setup/kubernetes/download/ -icon: kubernetes -keywords: [kubernetes,install,quick-start,setup,installation] -content_above: true ---- - -{{< tip >}} -Istio {{< istio_version >}} has been tested with these Kubernetes releases: {{< supported_kubernetes_versions >}}. -{{< /tip >}} - -Visit our [getting started guide](/docs/setup/kubernetes/getting-started/) to -learn how to evaluate and try Istio's basic features quickly. - -Istio offers multiple installation flows -depending on your platform and whether or not you intend to use Istio in production. -At a high level, the basic flow is the same regardless of platform: - -1. [Review the pod requirements](/docs/setup/kubernetes/additional-setup/requirements/) -1. [Prepare your platform for Istio](/docs/setup/kubernetes/platform-setup/) -1. [Download the Istio release](#downloading-the-release) -1. [Install Istio on your platform](#installing-istio) - -## Installing Istio - -Choose one of the following installation options, depending on your intended use: - -- [Demo installation](/docs/setup/kubernetes/install/kubernetes/): - This option is ideal if you're new to Istio and just want to try it out. - It allows you to experiment with many Istio features with modest resource requirements. - -- [Custom installation with Helm](/docs/setup/kubernetes/install/helm/): - This option is ideal to install Istio for production use or for performance evaluation. - -- [Supported platform installation](/docs/setup/kubernetes/install/platform/): - This option is ideal if your platform provides native support for Istio-enabled clusters - with a [configuration profile](/docs/setup/kubernetes/additional-setup/config-profiles/) - corresponding to your intended use. - -After choosing an option and installing Istio on your cluster, you can deploy -your own applications or experiment with some of our [tasks](/docs/tasks/) and [examples](/docs/examples/). - -{{< tip >}} -If you're running your own applications, make sure to -check the [requirements for pods and services](/docs/setup/kubernetes/additional-setup/requirements/). -{{< /tip >}} - -When you're ready to consider more advanced Istio use cases, check out the following resources: - -- To install using Istio's Container Network Interface -(CNI) plugin, visit our [CNI guide](/docs/setup/kubernetes/additional-setup/cni/). - -- To perform a multicluster setup, visit our -[multicluster installation documents](/docs/setup/kubernetes/install/multicluster/). - -- To expand your existing mesh with additional containers or VMs not running on -your mesh's Kubernetes cluster, follow our [mesh expansion guide](/docs/examples/mesh-expansion/). - -- To add services requires a detailed understanding of sidecar injection. Visit our -[sidecar injection guide](/docs/setup/kubernetes/additional-setup/sidecar-injection/) -to learn more. - -## Downloading the release - -Istio is installed in its own `istio-system` namespace and can manage -services from all other namespaces. - -1. Go to the [Istio release](https://github.com/istio/istio/releases) page to - download the installation file corresponding to your OS. On a macOS or - Linux system, you can run the following command to download and - extract the latest release automatically: - - {{< text bash >}} - $ curl -L https://git.io/getLatestIstio | ISTIO_VERSION={{< istio_full_version >}} sh - - {{< /text >}} - -1. Move to the Istio package directory. For example, if the package is - `istio-{{< istio_full_version >}}`: - - {{< text bash >}} - $ cd istio-{{< istio_full_version >}} - {{< /text >}} - - The installation directory contains: - - - Installation YAML files for Kubernetes in `install/kubernetes` - - Sample applications in `samples/` - - The `istioctl` client binary in the `bin/` directory. `istioctl` is - used when manually injecting Envoy as a sidecar proxy. - -1. Add the `istioctl` client to your `PATH` environment variable, on a macOS or - Linux system: - - {{< text bash >}} - $ export PATH=$PWD/bin:$PATH - {{< /text >}} - -1. You can enable the [auto-completion option](/docs/ops/setup/istioctl) when working with a bash or ZSH console. - diff --git a/content/en/docs/setup/kubernetes/platform-setup/_index.md b/content/en/docs/setup/platform-setup/_index.md similarity index 84% rename from content/en/docs/setup/kubernetes/platform-setup/_index.md rename to content/en/docs/setup/platform-setup/_index.md index 97e972050b..be7c2a3f51 100644 --- a/content/en/docs/setup/kubernetes/platform-setup/_index.md +++ b/content/en/docs/setup/platform-setup/_index.md @@ -2,6 +2,8 @@ title: Platform Setup description: How to prepare various Kubernetes platforms before installing Istio. weight: 10 +aliases: + - /docs/setup/kubernetes/platform-setup/ keywords: [platform-setup] --- diff --git a/content/en/docs/setup/kubernetes/platform-setup/alicloud/csconsole.png b/content/en/docs/setup/platform-setup/alicloud/csconsole.png similarity index 100% rename from content/en/docs/setup/kubernetes/platform-setup/alicloud/csconsole.png rename to content/en/docs/setup/platform-setup/alicloud/csconsole.png diff --git a/content/en/docs/setup/kubernetes/platform-setup/alicloud/index.md b/content/en/docs/setup/platform-setup/alicloud/index.md similarity index 97% rename from content/en/docs/setup/kubernetes/platform-setup/alicloud/index.md rename to content/en/docs/setup/platform-setup/alicloud/index.md index e00e9309dc..c260067ece 100644 --- a/content/en/docs/setup/kubernetes/platform-setup/alicloud/index.md +++ b/content/en/docs/setup/platform-setup/alicloud/index.md @@ -5,6 +5,7 @@ weight: 3 skip_seealso: true aliases: - /docs/setup/kubernetes/prepare/platform-setup/alicloud/ + - /docs/setup/kubernetes/platform-setup/alicloud/ keywords: [platform-setup,alibaba-cloud,aliyun,alicloud] --- diff --git a/content/en/docs/setup/kubernetes/platform-setup/azure/index.md b/content/en/docs/setup/platform-setup/azure/index.md similarity index 97% rename from content/en/docs/setup/kubernetes/platform-setup/azure/index.md rename to content/en/docs/setup/platform-setup/azure/index.md index 05dbc667e1..402c2b1d5f 100644 --- a/content/en/docs/setup/kubernetes/platform-setup/azure/index.md +++ b/content/en/docs/setup/platform-setup/azure/index.md @@ -4,7 +4,8 @@ description: Instructions to setup an Azure cluster for Istio. weight: 9 skip_seealso: true aliases: - - /docs/setup/kubernetes/prepare/platform-setup/azure + - /docs/setup/kubernetes/prepare/platform-setup/azure/ + - /docs/setup/kubernetes/platform-setup/azure/ keywords: [platform-setup,azure] --- diff --git a/content/en/docs/setup/kubernetes/platform-setup/docker/dockerprefs.png b/content/en/docs/setup/platform-setup/docker/dockerprefs.png similarity index 100% rename from content/en/docs/setup/kubernetes/platform-setup/docker/dockerprefs.png rename to content/en/docs/setup/platform-setup/docker/dockerprefs.png diff --git a/content/en/docs/setup/kubernetes/platform-setup/docker/index.md b/content/en/docs/setup/platform-setup/docker/index.md similarity index 96% rename from content/en/docs/setup/kubernetes/platform-setup/docker/index.md rename to content/en/docs/setup/platform-setup/docker/index.md index fe76456901..108165f3c3 100644 --- a/content/en/docs/setup/kubernetes/platform-setup/docker/index.md +++ b/content/en/docs/setup/platform-setup/docker/index.md @@ -6,6 +6,7 @@ skip_seealso: true aliases: - /docs/setup/kubernetes/prepare/platform-setup/docker-for-desktop/ - /docs/setup/kubernetes/prepare/platform-setup/docker/ + - /docs/setup/kubernetes/platform-setup/docker/ keywords: [platform-setup,kubernetes,docker-desktop] --- diff --git a/content/en/docs/setup/kubernetes/platform-setup/gardener/images/gardener_addon_checkboxes.png b/content/en/docs/setup/platform-setup/gardener/images/gardener_addon_checkboxes.png similarity index 100% rename from content/en/docs/setup/kubernetes/platform-setup/gardener/images/gardener_addon_checkboxes.png rename to content/en/docs/setup/platform-setup/gardener/images/gardener_addon_checkboxes.png diff --git a/content/en/docs/setup/kubernetes/platform-setup/gardener/images/gardener_service_account.png b/content/en/docs/setup/platform-setup/gardener/images/gardener_service_account.png similarity index 100% rename from content/en/docs/setup/kubernetes/platform-setup/gardener/images/gardener_service_account.png rename to content/en/docs/setup/platform-setup/gardener/images/gardener_service_account.png diff --git a/content/en/docs/setup/kubernetes/platform-setup/gardener/images/gardener_shoot_creation.png b/content/en/docs/setup/platform-setup/gardener/images/gardener_shoot_creation.png similarity index 100% rename from content/en/docs/setup/kubernetes/platform-setup/gardener/images/gardener_shoot_creation.png rename to content/en/docs/setup/platform-setup/gardener/images/gardener_shoot_creation.png diff --git a/content/en/docs/setup/kubernetes/platform-setup/gardener/index.md b/content/en/docs/setup/platform-setup/gardener/index.md similarity index 98% rename from content/en/docs/setup/kubernetes/platform-setup/gardener/index.md rename to content/en/docs/setup/platform-setup/gardener/index.md index 173d5b2cb0..a0fe148370 100644 --- a/content/en/docs/setup/kubernetes/platform-setup/gardener/index.md +++ b/content/en/docs/setup/platform-setup/gardener/index.md @@ -2,6 +2,8 @@ title: Kubernetes Gardener description: Instructions to setup a Gardener cluster for Istio. weight: 19 +aliases: + - /docs/setup/kubernetes/platform-setup/gardener/ skip_seealso: true keywords: [platform-setup,kubernetes,gardener,sap] --- diff --git a/content/en/docs/setup/kubernetes/platform-setup/gke/index.md b/content/en/docs/setup/platform-setup/gke/index.md similarity index 92% rename from content/en/docs/setup/kubernetes/platform-setup/gke/index.md rename to content/en/docs/setup/platform-setup/gke/index.md index 7f5006475f..ebac99b2dc 100644 --- a/content/en/docs/setup/kubernetes/platform-setup/gke/index.md +++ b/content/en/docs/setup/platform-setup/gke/index.md @@ -4,7 +4,8 @@ description: Instructions to setup a Google Kubernetes Engine cluster for Istio. weight: 15 skip_seealso: true aliases: - - /docs/setup/kubernetes/prepare/platform-setup/gke + - /docs/setup/kubernetes/prepare/platform-setup/gke/ + - /docs/setup/kubernetes/platform-setup/gke/ keywords: [platform-setup,kubernetes,gke,google] --- diff --git a/content/en/docs/setup/kubernetes/platform-setup/ibm/index.md b/content/en/docs/setup/platform-setup/ibm/index.md similarity index 97% rename from content/en/docs/setup/kubernetes/platform-setup/ibm/index.md rename to content/en/docs/setup/platform-setup/ibm/index.md index 447d0287d7..07052eb672 100644 --- a/content/en/docs/setup/kubernetes/platform-setup/ibm/index.md +++ b/content/en/docs/setup/platform-setup/ibm/index.md @@ -5,6 +5,7 @@ weight: 18 skip_seealso: true aliases: - /docs/setup/kubernetes/prepare/platform-setup/ibm/ + - /docs/setup/kubernetes/platform-setup/ibm/ keywords: [platform-setup,ibm,iks] --- diff --git a/content/en/docs/setup/kubernetes/platform-setup/minikube/index.md b/content/en/docs/setup/platform-setup/minikube/index.md similarity index 98% rename from content/en/docs/setup/kubernetes/platform-setup/minikube/index.md rename to content/en/docs/setup/platform-setup/minikube/index.md index e9ca5561e2..9ca280dd3e 100644 --- a/content/en/docs/setup/kubernetes/platform-setup/minikube/index.md +++ b/content/en/docs/setup/platform-setup/minikube/index.md @@ -5,6 +5,7 @@ weight: 21 skip_seealso: true aliases: - /docs/setup/kubernetes/prepare/platform-setup/minikube/ + - /docs/setup/kubernetes/platform-setup/minikube/ keywords: [platform-setup,kubernetes,minikube] --- diff --git a/content/en/docs/setup/kubernetes/platform-setup/oci/index.md b/content/en/docs/setup/platform-setup/oci/index.md similarity index 96% rename from content/en/docs/setup/kubernetes/platform-setup/oci/index.md rename to content/en/docs/setup/platform-setup/oci/index.md index 8a401ff16a..6e7bbea0d5 100644 --- a/content/en/docs/setup/kubernetes/platform-setup/oci/index.md +++ b/content/en/docs/setup/platform-setup/oci/index.md @@ -5,6 +5,7 @@ weight: 27 skip_seealso: true aliases: - /docs/setup/kubernetes/prepare/platform-setup/oci/ + - /docs/setup/kubernetes/platform-setup/oci/ keywords: [platform-setup,kubernetes,oke,oci,oracle] --- diff --git a/content/en/docs/setup/kubernetes/platform-setup/openshift/index.md b/content/en/docs/setup/platform-setup/openshift/index.md similarity index 92% rename from content/en/docs/setup/kubernetes/platform-setup/openshift/index.md rename to content/en/docs/setup/platform-setup/openshift/index.md index 8e64d57ee1..861f1441a3 100644 --- a/content/en/docs/setup/kubernetes/platform-setup/openshift/index.md +++ b/content/en/docs/setup/platform-setup/openshift/index.md @@ -5,6 +5,7 @@ weight: 24 skip_seealso: true aliases: - /docs/setup/kubernetes/prepare/platform-setup/openshift/ + - /docs/setup/kubernetes/platform-setup/openshift/ keywords: [platform-setup,openshift] --- @@ -42,7 +43,7 @@ $ oc adm policy add-scc-to-user privileged -z default -n ## Automatic Injection -Webhook and certificate signing requests support must be enabled for [automatic injection](/docs/setup/kubernetes/additional-setup/sidecar-injection/#automatic-sidecar-injection) to work. Modify the master configuration file on the master node for the cluster as follows. +Webhook and certificate signing requests support must be enabled for [automatic injection](/docs/setup/additional-setup/sidecar-injection/#automatic-sidecar-injection) to work. Modify the master configuration file on the master node for the cluster as follows. {{< tip >}} By default, the master configuration file can be found in `/etc/origin/master/master-config.yaml`. diff --git a/content/en/docs/setup/kubernetes/upgrade/_index.md b/content/en/docs/setup/upgrade/_index.md similarity index 81% rename from content/en/docs/setup/kubernetes/upgrade/_index.md rename to content/en/docs/setup/upgrade/_index.md index 827c19e0af..1358683d6c 100644 --- a/content/en/docs/setup/kubernetes/upgrade/_index.md +++ b/content/en/docs/setup/upgrade/_index.md @@ -4,5 +4,6 @@ description: Information on upgrading Istio. weight: 25 aliases: - /docs/setup/kubernetes/upgrading-istio/ + - /docs/setup/kubernetes/upgrade/ keywords: [kubernetes,upgrading] --- diff --git a/content/en/docs/setup/kubernetes/upgrade/notice/index.md b/content/en/docs/setup/upgrade/notice/index.md similarity index 97% rename from content/en/docs/setup/kubernetes/upgrade/notice/index.md rename to content/en/docs/setup/upgrade/notice/index.md index 83362a8cb8..06b525324b 100644 --- a/content/en/docs/setup/kubernetes/upgrade/notice/index.md +++ b/content/en/docs/setup/upgrade/notice/index.md @@ -2,6 +2,8 @@ title: 1.2 Upgrade Notice description: Important changes operators must understand before upgrading to Istio 1.2. weight: 5 +aliases: + - /docs/setup/kubernetes/upgrade/notice/ --- This page describes changes you need to be aware of when upgrading from diff --git a/content/en/docs/setup/kubernetes/upgrade/steps/index.md b/content/en/docs/setup/upgrade/steps/index.md similarity index 95% rename from content/en/docs/setup/kubernetes/upgrade/steps/index.md rename to content/en/docs/setup/upgrade/steps/index.md index 811ab13d08..88c7b7ac59 100644 --- a/content/en/docs/setup/kubernetes/upgrade/steps/index.md +++ b/content/en/docs/setup/upgrade/steps/index.md @@ -2,6 +2,8 @@ title: Upgrade Steps description: Upgrade the Istio control plane and data plane independently. weight: 25 +aliases: + - /docs/setup/kubernetes/upgrade/steps/ keywords: [kubernetes,upgrading] --- @@ -22,7 +24,7 @@ This flow assumes that the Istio components are installed and upgraded in the `istio-system` namespace. {{< warning >}} -Be sure to check out the [upgrade notice](/docs/setup/kubernetes/upgrade/notice) +Be sure to check out the [upgrade notice](/docs/setup/upgrade/notice) for a concise list of things you should know before upgrading your deployment to Istio 1.2. {{< /warning >}} @@ -33,12 +35,12 @@ are supported. If you are on an older version, please upgrade to 1.1 first. ## Upgrade steps -[Download the new Istio release](/docs/setup/kubernetes/#downloading-the-release) +[Download the new Istio release](/docs/setup/#downloading-the-release) and change directory to the new release directory. ### Istio CNI upgrade -If you have installed or are planning to install [Istio CNI](/docs/setup/kubernetes/additional-setup/cni/), +If you have installed or are planning to install [Istio CNI](/docs/setup/additional-setup/cni/), choose one of the following **mutually exclusive** options to check whether Istio CNI is already installed and to upgrade it: @@ -73,7 +75,7 @@ This is suitable for cases where `kubectl apply` was used to deploy Istio CNI. {{< tab name="Helm upgrade" cookie-value="helmupgrade" >}} -If you installed Istio CNI using [Helm and Tiller](/docs/setup/kubernetes/install/helm/#option-2-install-with-helm-and-tiller-via-helm-install), +If you installed Istio CNI using [Helm and Tiller](/docs/setup/install/helm/#option-2-install-with-helm-and-tiller-via-helm-install), the preferred upgrade option is to let Helm take care of the upgrade. 1. Check whether `istio-cni` is installed, and in which namespace: @@ -123,7 +125,7 @@ to update the control plane: You can use Kubernetes’ rolling update mechanism to upgrade the control plane components. This is suitable for cases where `kubectl apply` was used to deploy the Istio components, including configurations generated using -[helm template](/docs/setup/kubernetes/install/helm/#option-1-install-with-helm-via-helm-template). +[helm template](/docs/setup/install/helm/#option-1-install-with-helm-via-helm-template). 1. Use `kubectl apply` to upgrade all of Istio's CRDs. Wait a few seconds for the Kubernetes API server to commit the upgraded CRDs: @@ -171,7 +173,7 @@ yaml files from the old version. {{< /tab >}} {{< tab name="Helm upgrade" cookie-value="helmupgrade" >}} -If you installed Istio using [Helm and Tiller](/docs/setup/kubernetes/install/helm/#option-2-install-with-helm-and-tiller-via-helm-install), +If you installed Istio using [Helm and Tiller](/docs/setup/install/helm/#option-2-install-with-helm-and-tiller-via-helm-install), the preferred upgrade option is to let Helm take care of the upgrade. 1. Upgrade the `istio-init` chart to update all the Istio [Custom Resource Definitions](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions) (CRDs). @@ -327,7 +329,7 @@ the object to be namespace-scoped in some cases. The `ClusterRbacConfig` follows specification as the `RbacConfig` but with the correct cluster scope implementation. To automate the migration, we developed the `convert_RbacConfig_to_ClusterRbacConfig.sh` script. -The script is included in the [Istio installation package](/docs/setup/kubernetes/#downloading-the-release). +The script is included in the [Istio installation package](/docs/setup/#downloading-the-release). Download and run the script with the following command: diff --git a/content/en/docs/tasks/policy-enforcement/control-headers/index.md b/content/en/docs/tasks/policy-enforcement/control-headers/index.md index 5cab0e230e..a46fee179b 100644 --- a/content/en/docs/tasks/policy-enforcement/control-headers/index.md +++ b/content/en/docs/tasks/policy-enforcement/control-headers/index.md @@ -10,7 +10,7 @@ This task demonstrates how to use a policy adapter to manipulate request headers ## Before you begin * Set up Istio on Kubernetes by following the instructions in the - [Installation guide](/docs/setup/kubernetes/). + [Installation guide](/docs/setup/). {{< warning >}} Policy enforcement **must** be enabled in your cluster for this task. Follow the steps in diff --git a/content/en/docs/tasks/policy-enforcement/denial-and-list/index.md b/content/en/docs/tasks/policy-enforcement/denial-and-list/index.md index 0ff15ebfa7..2fb771d463 100644 --- a/content/en/docs/tasks/policy-enforcement/denial-and-list/index.md +++ b/content/en/docs/tasks/policy-enforcement/denial-and-list/index.md @@ -14,7 +14,7 @@ This task shows how to control access to a service using simple denials, attribu ## Before you begin * Set up Istio on Kubernetes by following the instructions in the - [Installation guide](/docs/setup/kubernetes/). + [Installation guide](/docs/setup/). {{< warning >}} Policy enforcement **must** be enabled in your cluster for this task. Follow the steps in diff --git a/content/en/docs/tasks/policy-enforcement/enabling-policy/index.md b/content/en/docs/tasks/policy-enforcement/enabling-policy/index.md index 53898a2bb3..1ff12ba389 100644 --- a/content/en/docs/tasks/policy-enforcement/enabling-policy/index.md +++ b/content/en/docs/tasks/policy-enforcement/enabling-policy/index.md @@ -12,7 +12,7 @@ This task shows you how to enable Istio policy enforcement. In the default Istio installation profile, policy enforcement is disabled. To install Istio with policy enforcement on, use the `--set global.disablePolicyChecks=false` Helm install option. -Alternatively, you may [install Istio using the demo profile](/docs/setup/kubernetes/install/kubernetes/), +Alternatively, you may [install Istio using the demo profile](/docs/setup/install/kubernetes/), which enables policy checks by default. ## For an existing Istio mesh diff --git a/content/en/docs/tasks/policy-enforcement/rate-limiting/index.md b/content/en/docs/tasks/policy-enforcement/rate-limiting/index.md index 5468dbba7b..a6ead34925 100644 --- a/content/en/docs/tasks/policy-enforcement/rate-limiting/index.md +++ b/content/en/docs/tasks/policy-enforcement/rate-limiting/index.md @@ -13,7 +13,7 @@ service. ## Before you begin 1. Setup Istio in a Kubernetes cluster by following the instructions in the - [Installation Guide](/docs/setup/kubernetes/install/kubernetes/). + [Installation Guide](/docs/setup/install/kubernetes/). {{< warning >}} Policy enforcement **must** be enabled in your cluster for this task. Follow the steps in diff --git a/content/en/docs/tasks/security/auth-sds/index.md b/content/en/docs/tasks/security/auth-sds/index.md index cc0d1d1f6f..154a3fab4e 100644 --- a/content/en/docs/tasks/security/auth-sds/index.md +++ b/content/en/docs/tasks/security/auth-sds/index.md @@ -48,7 +48,7 @@ This approach has the following benefits: ## Before you begin * Set up Istio by following the instructions using - [Helm](/docs/setup/kubernetes/install/helm/) with SDS setup and global mutual + [Helm](/docs/setup/install/helm/) with SDS setup and global mutual TLS enabled: {{< text bash >}} diff --git a/content/en/docs/tasks/security/authn-policy/index.md b/content/en/docs/tasks/security/authn-policy/index.md index 517370271f..2d668f2c54 100644 --- a/content/en/docs/tasks/security/authn-policy/index.md +++ b/content/en/docs/tasks/security/authn-policy/index.md @@ -16,8 +16,8 @@ the underlying concepts in the [authentication overview](/docs/concepts/security [mutual TLS authentication](/docs/concepts/security/#mutual-tls-authentication) concepts. * Have a Kubernetes cluster with Istio installed, without global mutual TLS enabled (e.g use `install/kubernetes/istio-demo.yaml` as described in -[installation steps](/docs/setup/kubernetes/install/kubernetes/#installation-steps), or set `global.mtls.enabled` to false using -[Helm](/docs/setup/kubernetes/install/helm/)). +[installation steps](/docs/setup/install/kubernetes/#installation-steps), or set `global.mtls.enabled` to false using +[Helm](/docs/setup/install/helm/)). ### Setup diff --git a/content/en/docs/tasks/security/authz-http/index.md b/content/en/docs/tasks/security/authz-http/index.md index 8c78c17c26..249ce00314 100644 --- a/content/en/docs/tasks/security/authz-http/index.md +++ b/content/en/docs/tasks/security/authz-http/index.md @@ -18,7 +18,7 @@ The activities in this task assume that you: * Read the [authorization concept](/docs/concepts/security/#authorization). -* Follow the [Kubernetes quick start](/docs/setup/kubernetes/install/kubernetes/) to install Istio using the **strict mutual TLS profile**. +* Follow the [Kubernetes quick start](/docs/setup/install/kubernetes/) to install Istio using the **strict mutual TLS profile**. * Deploy the [Bookinfo](/docs/examples/bookinfo/#deploying-the-application) sample application. diff --git a/content/en/docs/tasks/security/authz-permissive/index.md b/content/en/docs/tasks/security/authz-permissive/index.md index 5a18d4440f..312cba1d82 100644 --- a/content/en/docs/tasks/security/authz-permissive/index.md +++ b/content/en/docs/tasks/security/authz-permissive/index.md @@ -27,7 +27,7 @@ To complete this task, you should first take the following actions: * Read the [authorization concept](/docs/concepts/security/#authorization). -* Follow the [Kubernetes quick start](/docs/setup/kubernetes/install/kubernetes/) to install Istio using the **strict mutual TLS profile**. +* Follow the [Kubernetes quick start](/docs/setup/install/kubernetes/) to install Istio using the **strict mutual TLS profile**. * Deploy the [Bookinfo](/docs/examples/bookinfo/#deploying-the-application) sample application. diff --git a/content/en/docs/tasks/security/authz-tcp/index.md b/content/en/docs/tasks/security/authz-tcp/index.md index 826c982e94..a6302ce0d2 100644 --- a/content/en/docs/tasks/security/authz-tcp/index.md +++ b/content/en/docs/tasks/security/authz-tcp/index.md @@ -15,7 +15,7 @@ The activities in this task assume that you: * Read the [authorization concept](/docs/concepts/security/#authorization). -* Follow the [Kubernetes quick start](/docs/setup/kubernetes/install/kubernetes/) to install Istio using the **strict mutual TLS profile**. +* Follow the [Kubernetes quick start](/docs/setup/install/kubernetes/) to install Istio using the **strict mutual TLS profile**. * Deploy the [Bookinfo](/docs/examples/bookinfo/#deploying-the-application) sample application. diff --git a/content/en/docs/tasks/security/health-check/index.md b/content/en/docs/tasks/security/health-check/index.md index bb1cc2651a..ea5856f536 100644 --- a/content/en/docs/tasks/security/health-check/index.md +++ b/content/en/docs/tasks/security/health-check/index.md @@ -27,13 +27,13 @@ this feature is not needed if the production setup is not using the To complete this task, you can install Istio using one of the following paths: * To setup Istio without using Helm, follow the instructions in the - [Kubernetes installation guide](/docs/setup/kubernetes/install/kubernetes/). Remember to enable global mutual TLS with: + [Kubernetes installation guide](/docs/setup/install/kubernetes/). Remember to enable global mutual TLS with: {{< text bash >}} $ kubectl apply -f install/kubernetes/istio-demo-auth.yaml {{< /text >}} -* Use [Helm](/docs/setup/kubernetes/install/helm/) to setup Istio and set the `global.mtls.enabled` flag to `true`. +* Use [Helm](/docs/setup/install/helm/) to setup Istio and set the `global.mtls.enabled` flag to `true`. {{< tip >}} Use an [authentication policy](/docs/concepts/security/#authentication-policies) to configure mutual TLS for diff --git a/content/en/docs/tasks/security/https-overlay/index.md b/content/en/docs/tasks/security/https-overlay/index.md index 9e38f261dd..eb19d114b4 100644 --- a/content/en/docs/tasks/security/https-overlay/index.md +++ b/content/en/docs/tasks/security/https-overlay/index.md @@ -20,9 +20,9 @@ original HTTPS traffic. And this is the reason Istio can work on HTTPS services. ## Before you begin Set up Istio by following the instructions in the -[quick start](/docs/setup/kubernetes/install/kubernetes/). +[quick start](/docs/setup/install/kubernetes/). Note that default mutual TLS authentication should be **disabled** when installing Istio; e.g. option 1 in the -[quick start](/docs/setup/kubernetes/install/kubernetes/#installation-steps). +[quick start](/docs/setup/install/kubernetes/#installation-steps). The demo is also assumed to be running in a namespace where automatic sidecar injection is disabled, and Istio sidecars are instead manually injected with `istioctl`. diff --git a/content/en/docs/tasks/security/mtls-migration/index.md b/content/en/docs/tasks/security/mtls-migration/index.md index 242837245c..0edefce5f5 100644 --- a/content/en/docs/tasks/security/mtls-migration/index.md +++ b/content/en/docs/tasks/security/mtls-migration/index.md @@ -28,7 +28,7 @@ down once the migration is done. * Understand Istio [authentication policy](/docs/concepts/security/#authentication-policies) and related [mutual TLS authentication](/docs/concepts/security/#mutual-tls-authentication) concepts. -* Have a Kubernetes cluster with Istio installed, without global mutual TLS enabled (e.g use `install/kubernetes/istio-demo.yaml` as described in [installation steps](/docs/setup/kubernetes/install/kubernetes/#installation-steps), or set `global.mtls.enabled` to false using [Helm](/docs/setup/kubernetes/install/helm/)). +* Have a Kubernetes cluster with Istio installed, without global mutual TLS enabled (e.g use `install/kubernetes/istio-demo.yaml` as described in [installation steps](/docs/setup/install/kubernetes/#installation-steps), or set `global.mtls.enabled` to false using [Helm](/docs/setup/install/helm/)). * For demo * Create the following namespaces and deploy [httpbin]({{< github_tree >}}/samples/httpbin) and [sleep]({{< github_tree >}}/samples/sleep) with sidecar on both of them. diff --git a/content/en/docs/tasks/security/mutual-tls/index.md b/content/en/docs/tasks/security/mutual-tls/index.md index 161d7263ea..fdefabc131 100644 --- a/content/en/docs/tasks/security/mutual-tls/index.md +++ b/content/en/docs/tasks/security/mutual-tls/index.md @@ -9,9 +9,9 @@ Through this task, you can have closer look at mutual TLS and learn its settings * You have completed the [authentication policy](/docs/tasks/security/authn-policy/) task. * You are familiar with using authentication policy to enable mutual TLS. -* Istio runs on Kubernetes with global mutual TLS enabled. You can follow our [instructions to install Istio](/docs/setup/kubernetes/). +* Istio runs on Kubernetes with global mutual TLS enabled. You can follow our [instructions to install Istio](/docs/setup/). If you already have Istio installed, you can add or modify authentication policies and destination rules to enable mutual TLS as described in this [task](/docs/tasks/security/authn-policy/#globally-enabling-istio-mutual-tls). -* You have deployed the [httpbin]({{< github_tree >}}/samples/httpbin) and [sleep]({{< github_tree >}}/samples/sleep) with Envoy sidecar in the `default` namespace. For example, below is the command to deploy those services with [manual sidecar injection](/docs/setup/kubernetes/additional-setup/sidecar-injection/#manual-sidecar-injection): +* You have deployed the [httpbin]({{< github_tree >}}/samples/httpbin) and [sleep]({{< github_tree >}}/samples/sleep) with Envoy sidecar in the `default` namespace. For example, below is the command to deploy those services with [manual sidecar injection](/docs/setup/additional-setup/sidecar-injection/#manual-sidecar-injection): {{< text bash >}} $ kubectl apply -f <(istioctl kube-inject -f @samples/httpbin/httpbin.yaml@) diff --git a/content/en/docs/tasks/security/plugin-ca-cert/index.md b/content/en/docs/tasks/security/plugin-ca-cert/index.md index 12719ca2c4..0d9d97944f 100644 --- a/content/en/docs/tasks/security/plugin-ca-cert/index.md +++ b/content/en/docs/tasks/security/plugin-ca-cert/index.md @@ -14,13 +14,13 @@ operator-specified root certificate. This task demonstrates an example to plug c ## Before you begin * Set up Istio by following the instructions in the -[quick start](/docs/setup/kubernetes/install/kubernetes/) with global mutual TLS enabled: +[quick start](/docs/setup/install/kubernetes/) with global mutual TLS enabled: - Follow the [installation instructions](/docs/setup/kubernetes/install/kubernetes/#installation-steps) install Istio with the **strict mutual TLS mode** enabled. + Follow the [installation instructions](/docs/setup/install/kubernetes/#installation-steps) install Istio with the **strict mutual TLS mode** enabled. _**OR**_ - Using [Helm](/docs/setup/kubernetes/install/helm/) with mutual TLS enabled. + Using [Helm](/docs/setup/install/helm/) with mutual TLS enabled. {{< tip >}} You can use [authentication policy](/docs/concepts/security/#authentication-policies) to configure mutual TLS for all/selected services in a namespace (repeated for all namespaces to get global setting). See [authentication policy task](/docs/tasks/security/authn-policy/) diff --git a/content/en/docs/tasks/security/rbac-groups/index.md b/content/en/docs/tasks/security/rbac-groups/index.md index 4eea2cdc04..8102a4d2fe 100644 --- a/content/en/docs/tasks/security/rbac-groups/index.md +++ b/content/en/docs/tasks/security/rbac-groups/index.md @@ -22,7 +22,7 @@ concepts. * Create a Kubernetes cluster with Istio installed and mutual TLS enabled. To fulfill this prerequisite you can follow the Kubernetes -[installation instructions](/docs/setup/kubernetes/install/kubernetes/#installation-steps). +[installation instructions](/docs/setup/install/kubernetes/#installation-steps). ## Setup the required namespace and services diff --git a/content/en/docs/tasks/security/vault-ca/index.md b/content/en/docs/tasks/security/vault-ca/index.md index b9f1e8ce50..64c39e72e8 100644 --- a/content/en/docs/tasks/security/vault-ca/index.md +++ b/content/en/docs/tasks/security/vault-ca/index.md @@ -22,7 +22,7 @@ to Node Agent, which returns the signed certificate to the Istio proxy. ## Install Istio with mutual TLS and SDS enabled -1. Install Istio with mutual TLS and SDS enabled using [Helm](/docs/setup/kubernetes/install/helm/#prerequisites) +1. Install Istio with mutual TLS and SDS enabled using [Helm](/docs/setup/install/helm/#prerequisites) and Node Agent sending certificate signing requests to a testing Vault CA: {{< text bash >}} diff --git a/content/en/docs/tasks/telemetry/distributed-tracing/jaeger/index.md b/content/en/docs/tasks/telemetry/distributed-tracing/jaeger/index.md index ddfefbf944..fe7eb6c270 100644 --- a/content/en/docs/tasks/telemetry/distributed-tracing/jaeger/index.md +++ b/content/en/docs/tasks/telemetry/distributed-tracing/jaeger/index.md @@ -14,7 +14,7 @@ To learn how Istio handles tracing, visit this task's [overview](../overview/). ## Before you begin -1. To set up Istio, follow the instructions in the [Installation guide](/docs/setup/kubernetes/install/helm) +1. To set up Istio, follow the instructions in the [Installation guide](/docs/setup/install/helm) and then configure: a) a demo/test environment by setting the `--set tracing.enabled=true` Helm install option to enable tracing "out of the box" diff --git a/content/en/docs/tasks/telemetry/distributed-tracing/lightstep/index.md b/content/en/docs/tasks/telemetry/distributed-tracing/lightstep/index.md index 5adbb178c7..715c6111f9 100644 --- a/content/en/docs/tasks/telemetry/distributed-tracing/lightstep/index.md +++ b/content/en/docs/tasks/telemetry/distributed-tracing/lightstep/index.md @@ -82,7 +82,7 @@ This task uses the [Bookinfo](/docs/examples/bookinfo/) sample application as an ## Visualize trace data -1. Follow the [instructions to create an ingress gateway for the Bookinfo application](/docs/examples/bookinfo/#determining-the-ingress-ip-and-port). +1. Follow the [instructions to create an ingress gateway for the Bookinfo application](/docs/examples/bookinfo/#determine-the-ingress-ip-and-port). 1. To verify the previous step's success, confirm that you set `GATEWAY_URL` environment variable in your shell. diff --git a/content/en/docs/tasks/telemetry/distributed-tracing/overview/index.md b/content/en/docs/tasks/telemetry/distributed-tracing/overview/index.md index 966726e535..1be61684d8 100644 --- a/content/en/docs/tasks/telemetry/distributed-tracing/overview/index.md +++ b/content/en/docs/tasks/telemetry/distributed-tracing/overview/index.md @@ -93,7 +93,7 @@ percentage in one of two ways: * During the mesh setup, use the Helm option `pilot.traceSampling` to set the percentage of trace sampling. See the - [Helm Install](/docs/setup/kubernetes/install/helm/) documentation for + [Helm Install](/docs/setup/install/helm/) documentation for details on setting options. * In a running mesh, edit the `istio-pilot` deployment and change the environment variable with the following steps: diff --git a/content/en/docs/tasks/telemetry/distributed-tracing/zipkin/index.md b/content/en/docs/tasks/telemetry/distributed-tracing/zipkin/index.md index afe6a10369..4f9e735f62 100644 --- a/content/en/docs/tasks/telemetry/distributed-tracing/zipkin/index.md +++ b/content/en/docs/tasks/telemetry/distributed-tracing/zipkin/index.md @@ -16,7 +16,7 @@ To learn how Istio handles tracing, visit this task's [overview](../overview/). ## Before you begin -1. To set up Istio, follow the instructions in the [Installation guide](/docs/setup/kubernetes/install/helm) +1. To set up Istio, follow the instructions in the [Installation guide](/docs/setup/install/helm) and then configure: a) a demo/test environment by setting the `--set tracing.enabled=true` and `--set tracing.provider=zipkin` Helm install options to enable tracing "out of the box" diff --git a/content/en/docs/tasks/telemetry/gateways/index.md b/content/en/docs/tasks/telemetry/gateways/index.md index f3a8f84bde..7ea7b0b8ae 100644 --- a/content/en/docs/tasks/telemetry/gateways/index.md +++ b/content/en/docs/tasks/telemetry/gateways/index.md @@ -29,7 +29,7 @@ This option covers securing the transport layer *only*. You should also configur addons to require authentication when exposing them externally. {{< /warning >}} -1. [Install Istio](/docs/setup/kubernetes) in your cluster and enable the `cert-manager` flag and configure `istio-ingressgateway` to use +1. [Install Istio](/docs/setup) in your cluster and enable the `cert-manager` flag and configure `istio-ingressgateway` to use the [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/secret#config-secret-discovery-service). To install Istio accordingly, use the following Helm installation options: diff --git a/content/en/docs/tasks/telemetry/kiali/index.md b/content/en/docs/tasks/telemetry/kiali/index.md index c36abc6933..01e2dc574c 100644 --- a/content/en/docs/tasks/telemetry/kiali/index.md +++ b/content/en/docs/tasks/telemetry/kiali/index.md @@ -24,7 +24,7 @@ To install Kiali without using Helm, follow the [Kiali installation instructions ### Create a secret {{< idea >}} -If you plan on installing Kiali using the `istio-demo.yaml` or `istio-demo-auth.yaml` file as described in the [Istio Quick Start Installation Steps](/docs/setup/kubernetes/install/kubernetes/#installation-steps) then a default secret will be created for you with a username of `admin` and passphrase of `admin`. You can therefore skip this section. +If you plan on installing Kiali using the `istio-demo.yaml` or `istio-demo-auth.yaml` file as described in the [Istio Quick Start Installation Steps](/docs/setup/install/kubernetes/#installation-steps) then a default secret will be created for you with a username of `admin` and passphrase of `admin`. You can therefore skip this section. {{< /idea >}} Create a secret in your Istio namespace with the credentials that you use to @@ -70,7 +70,7 @@ EOF ### Install Via Helm Once you create the Kiali secret, follow -[the Helm install instructions](/docs/setup/kubernetes/install/helm/) to install Kiali via Helm. +[the Helm install instructions](/docs/setup/install/helm/) to install Kiali via Helm. You must use the `--set kiali.enabled=true` option when you run the `helm` command, for example: {{< text bash >}} @@ -117,7 +117,7 @@ $ oc patch clusterrole kiali -p '[{"op":"add", "path":"/rules/-", "value":{"apiG $ kubectl -n istio-system get svc kiali {{< /text >}} -1. To determine the Bookinfo URL, follow the instructions to determine the [Bookinfo ingress `GATEWAY_URL`](/docs/examples/bookinfo/#determining-the-ingress-ip-and-port). +1. To determine the Bookinfo URL, follow the instructions to determine the [Bookinfo ingress `GATEWAY_URL`](/docs/examples/bookinfo/#determine-the-ingress-ip-and-port). 1. To send traffic to the mesh, you have three options diff --git a/content/en/docs/tasks/telemetry/logs/collecting-logs/index.md b/content/en/docs/tasks/telemetry/logs/collecting-logs/index.md index 3eba680736..8a7fd19954 100644 --- a/content/en/docs/tasks/telemetry/logs/collecting-logs/index.md +++ b/content/en/docs/tasks/telemetry/logs/collecting-logs/index.md @@ -14,7 +14,7 @@ as the example application throughout this task. ## Before you begin -* [Install Istio](/docs/setup/kubernetes) in your cluster and deploy an +* [Install Istio](/docs/setup) in your cluster and deploy an application. This task assumes that Mixer is setup in a default configuration (`--configDefaultNamespace=istio-system`). If you use a different value, update the configuration and commands in this task to match the value. diff --git a/content/en/docs/tasks/telemetry/logs/fluentd/index.md b/content/en/docs/tasks/telemetry/logs/fluentd/index.md index 427efa51d4..bd4379aba2 100644 --- a/content/en/docs/tasks/telemetry/logs/fluentd/index.md +++ b/content/en/docs/tasks/telemetry/logs/fluentd/index.md @@ -318,7 +318,7 @@ example stack. 1. Send traffic to the sample application. For the - [Bookinfo](/docs/examples/bookinfo/#determining-the-ingress-ip-and-port) + [Bookinfo](/docs/examples/bookinfo/#determine-the-ingress-ip-and-port) sample, visit `http://$GATEWAY_URL/productpage` in your web browser or issue the following command: diff --git a/content/en/docs/tasks/telemetry/metrics/collecting-metrics/index.md b/content/en/docs/tasks/telemetry/metrics/collecting-metrics/index.md index 1dbbc3e13c..378ce3d388 100644 --- a/content/en/docs/tasks/telemetry/metrics/collecting-metrics/index.md +++ b/content/en/docs/tasks/telemetry/metrics/collecting-metrics/index.md @@ -17,7 +17,7 @@ as the example application throughout this task. ## Before you begin -* [Install Istio](/docs/setup/kubernetes) in your cluster and deploy an +* [Install Istio](/docs/setup) in your cluster and deploy an application. This task assumes that Mixer is setup in a default configuration (`--configDefaultNamespace=istio-system`). If you use a different value, update the configuration and commands in this task to match the value. diff --git a/content/en/docs/tasks/telemetry/metrics/tcp-metrics/index.md b/content/en/docs/tasks/telemetry/metrics/tcp-metrics/index.md index c22f874cf9..83d12b90a2 100644 --- a/content/en/docs/tasks/telemetry/metrics/tcp-metrics/index.md +++ b/content/en/docs/tasks/telemetry/metrics/tcp-metrics/index.md @@ -16,7 +16,7 @@ as the example application throughout this task. ## Before you begin -* [Install Istio](/docs/setup/kubernetes) in your cluster and deploy an +* [Install Istio](/docs/setup) in your cluster and deploy an application. * This task assumes that the Bookinfo sample will be deployed in the `default` diff --git a/content/en/docs/tasks/traffic-management/egress/egress-control/index.md b/content/en/docs/tasks/traffic-management/egress/egress-control/index.md index 3cbba8cac5..c4b03dc797 100644 --- a/content/en/docs/tasks/traffic-management/egress/egress-control/index.md +++ b/content/en/docs/tasks/traffic-management/egress/egress-control/index.md @@ -26,7 +26,7 @@ This task shows you how to access external services in three different ways: * Deploy the [sleep]({{< github_tree >}}/samples/sleep) sample app to use as a test source for sending requests. If you have - [automatic sidecar injection](/docs/setup/kubernetes/additional-setup/sidecar-injection/#automatic-sidecar-injection) + [automatic sidecar injection](/docs/setup/additional-setup/sidecar-injection/#automatic-sidecar-injection) enabled, run the following command to deploy the sample app: {{< text bash >}} @@ -416,7 +416,7 @@ For example, if the range is 10.0.0.1/24, use the following command: $ helm template install/kubernetes/helm/istio --set global.proxy.includeIPRanges="10.0.0.1/24" -x templates/sidecar-injector-configmap.yaml | kubectl apply -f - {{< /text >}} -Use the same Helm command that you used to [install Istio](/docs/setup/kubernetes/install/helm), +Use the same Helm command that you used to [install Istio](/docs/setup/install/helm), specifically, ensure you use the same value for the `--namespace` flag and add these flags: `--set global.proxy.includeIPRanges="10.0.0.1/24" -x templates/sidecar-injector-configmap.yaml`. diff --git a/content/en/docs/tasks/traffic-management/egress/egress-gateway-tls-origination/index.md b/content/en/docs/tasks/traffic-management/egress/egress-gateway-tls-origination/index.md index a92db1582b..93a556d2e7 100644 --- a/content/en/docs/tasks/traffic-management/egress/egress-gateway-tls-origination/index.md +++ b/content/en/docs/tasks/traffic-management/egress/egress-gateway-tls-origination/index.md @@ -22,7 +22,7 @@ traffic to external services. * Start the [sleep]({{< github_tree >}}/samples/sleep) sample which will be used as a test source for external calls. - If you have enabled [automatic sidecar injection](/docs/setup/kubernetes/additional-setup/sidecar-injection/#automatic-sidecar-injection), do + If you have enabled [automatic sidecar injection](/docs/setup/additional-setup/sidecar-injection/#automatic-sidecar-injection), do {{< text bash >}} $ kubectl apply -f @samples/sleep/sleep.yaml@ @@ -332,7 +332,7 @@ the Istio service mesh, i.e., in a namespace without Istio sidecar proxy injecti 1. Create a namespace to represent services outside the Istio mesh, namely `mesh-external`. Note that the sidecar proxy will not be automatically injected into the pods in this namespace since the automatic sidecar injection was not - [enabled](/docs/setup/kubernetes/additional-setup/sidecar-injection/#deploying-an-app) on it. + [enabled](/docs/setup/additional-setup/sidecar-injection/#deploying-an-app) on it. {{< text bash >}} $ kubectl create namespace mesh-external diff --git a/content/en/docs/tasks/traffic-management/egress/egress-tls-origination/index.md b/content/en/docs/tasks/traffic-management/egress/egress-tls-origination/index.md index 2a85f3eba0..cb49839b99 100644 --- a/content/en/docs/tasks/traffic-management/egress/egress-tls-origination/index.md +++ b/content/en/docs/tasks/traffic-management/egress/egress-tls-origination/index.md @@ -31,7 +31,7 @@ is that Istio can produce better telemetry and provide more routing control for * Start the [sleep]({{< github_tree >}}/samples/sleep) sample which will be used as a test source for external calls. - If you have enabled [automatic sidecar injection](/docs/setup/kubernetes/additional-setup/sidecar-injection/#automatic-sidecar-injection), deploy the `sleep` application: + If you have enabled [automatic sidecar injection](/docs/setup/additional-setup/sidecar-injection/#automatic-sidecar-injection), deploy the `sleep` application: {{< text bash >}} $ kubectl apply -f @samples/sleep/sleep.yaml@ diff --git a/content/en/docs/tasks/traffic-management/ingress/ingress-certmgr/index.md b/content/en/docs/tasks/traffic-management/ingress/ingress-certmgr/index.md index 7cdf94da85..5a3c4a74b9 100644 --- a/content/en/docs/tasks/traffic-management/ingress/ingress-certmgr/index.md +++ b/content/en/docs/tasks/traffic-management/ingress/ingress-certmgr/index.md @@ -13,7 +13,7 @@ You will start with a clean Istio installation, create an example service, expos ## Before you begin -[Install Istio](/docs/setup/) making sure to enable ingress [gateway](/docs/reference/config/networking/v1alpha3/gateway) with Kubernetes Ingress support, [SDS](https://www.envoyproxy.io/docs/envoy/latest/configuration/secret) and [cert-manager](https://docs.cert-manager.io/) optional dependency during installation. Here's an example of how to do this for the [helm template](/docs/setup/kubernetes/install/helm/#option-1-install-with-helm-via-helm-template) installation path: +[Install Istio](/docs/setup/) making sure to enable ingress [gateway](/docs/reference/config/networking/v1alpha3/gateway) with Kubernetes Ingress support, [SDS](https://www.envoyproxy.io/docs/envoy/latest/configuration/secret) and [cert-manager](https://docs.cert-manager.io/) optional dependency during installation. Here's an example of how to do this for the [helm template](/docs/setup/install/helm/#option-1-install-with-helm-via-helm-template) installation path: {{< text bash >}} $ helm template $HOME/istio-fetch/istio \ diff --git a/content/en/docs/tasks/traffic-management/ingress/secure-ingress-mount/index.md b/content/en/docs/tasks/traffic-management/ingress/secure-ingress-mount/index.md index 71617842fe..375e93f08d 100644 --- a/content/en/docs/tasks/traffic-management/ingress/secure-ingress-mount/index.md +++ b/content/en/docs/tasks/traffic-management/ingress/secure-ingress-mount/index.md @@ -18,7 +18,7 @@ using a file mount based approach. ## Before you begin 1. Perform the steps in the [Before you begin](/docs/tasks/traffic-management/ingress/ingress-control#before-you-begin) -and [Determining the ingress IP and ports](/docs/tasks/traffic-management/ingress/ingress-control#determining-the-ingress-ip-and-ports) +and [Determining the ingress IP and ports](/docs/tasks/traffic-management/ingress/ingress-control/#determining-the-ingress-ip-and-ports) sections of the [Control Ingress Traffic](/docs/tasks/traffic-management/ingress) task. After performing those steps you should have Istio and the [httpbin]({{< github_tree >}}/samples/httpbin) service deployed, and the environment variables `INGRESS_HOST` and `SECURE_INGRESS_PORT` set. diff --git a/content/en/docs/tasks/traffic-management/ingress/secure-ingress-sds/index.md b/content/en/docs/tasks/traffic-management/ingress/secure-ingress-sds/index.md index be5f7295e6..0c8a96f5cc 100644 --- a/content/en/docs/tasks/traffic-management/ingress/secure-ingress-sds/index.md +++ b/content/en/docs/tasks/traffic-management/ingress/secure-ingress-sds/index.md @@ -18,7 +18,7 @@ using the Secret Discovery Service (SDS). ## Before you begin 1. Perform the steps in the [Before you begin](/docs/tasks/traffic-management/ingress/ingress-control#before-you-begin) -and [Determining the ingress IP and ports](/docs/tasks/traffic-management/ingress/ingress-control#determining-the-ingress-ip-and-ports) +and [Determining the ingress IP and ports](/docs/tasks/traffic-management/ingress/ingress-control/#determining-the-ingress-ip-and-ports) sections of the [Control Ingress Traffic](/docs/tasks/traffic-management/ingress/ingress-control) task. After performing those steps you should have Istio and the [httpbin]({{< github_tree >}}/samples/httpbin) service deployed, and the environment variables `INGRESS_HOST` and `SECURE_INGRESS_PORT` set. diff --git a/content/en/docs/tasks/traffic-management/request-routing/index.md b/content/en/docs/tasks/traffic-management/request-routing/index.md index 115f8b1919..73a4bda6b4 100644 --- a/content/en/docs/tasks/traffic-management/request-routing/index.md +++ b/content/en/docs/tasks/traffic-management/request-routing/index.md @@ -129,7 +129,7 @@ You can easily test the new configuration by once again refreshing the `/product of the Bookinfo app. 1. Open the Bookinfo site in your browser. The URL is `http://$GATEWAY_URL/productpage`, where `$GATEWAY_URL` is the External IP address of the ingress, as explained in -the [Bookinfo](/docs/examples/bookinfo/#determining-the-ingress-ip-and-port) doc. +the [Bookinfo](/docs/examples/bookinfo/#determine-the-ingress-ip-and-port) doc. Notice that the reviews part of the page displays with no rating stars, no matter how many times you refresh. This is because you configured Istio to route @@ -206,7 +206,7 @@ to the request by the `productpage` service. Note that Kubernetes services, like the Bookinfo ones used in this task, must adhere to certain restrictions to take advantage of Istio's L7 routing features. -Refer to the [Requirements for Pods and Services](/docs/setup/kubernetes/additional-setup/requirements/) for details. +Refer to the [Requirements for Pods and Services](/docs/setup/additional-setup/requirements/) for details. In the [traffic shifting](/docs/tasks/traffic-management/traffic-shifting) task, you will follow the same basic pattern you learned here to configure route rules to diff --git a/content/en/docs/tasks/traffic-management/tcp-traffic-shifting/index.md b/content/en/docs/tasks/traffic-management/tcp-traffic-shifting/index.md index 9d7078dff2..401379792d 100644 --- a/content/en/docs/tasks/traffic-management/tcp-traffic-shifting/index.md +++ b/content/en/docs/tasks/traffic-management/tcp-traffic-shifting/index.md @@ -28,7 +28,7 @@ weighted routing feature. 1. To get started, deploy the `v1` version of the `tcp-echo` microservice. - * If you are using [manual sidecar injection](/docs/setup/kubernetes/additional-setup/sidecar-injection/#manual-sidecar-injection), + * If you are using [manual sidecar injection](/docs/setup/additional-setup/sidecar-injection/#manual-sidecar-injection), use the following command {{< text bash >}} @@ -39,7 +39,7 @@ weighted routing feature. file before creating the deployments as documented [here](/docs/reference/commands/istioctl/#istioctl-kube-inject). * If you are using a cluster with - [automatic sidecar injection](/docs/setup/kubernetes/additional-setup/sidecar-injection/#automatic-sidecar-injection) + [automatic sidecar injection](/docs/setup/additional-setup/sidecar-injection/#automatic-sidecar-injection) enabled, label the `default` namespace with `istio-injection=enabled` {{< text bash >}} diff --git a/content/en/docs/tasks/traffic-management/traffic-shifting/index.md b/content/en/docs/tasks/traffic-management/traffic-shifting/index.md index 3d7665240e..908baafb78 100644 --- a/content/en/docs/tasks/traffic-management/traffic-shifting/index.md +++ b/content/en/docs/tasks/traffic-management/traffic-shifting/index.md @@ -40,7 +40,7 @@ each microservice. {{< /text >}} 1. Open the Bookinfo site in your browser. The URL is `http://$GATEWAY_URL/productpage`, where `$GATEWAY_URL` is the External IP address of the ingress, as explained in -the [Bookinfo](/docs/examples/bookinfo/#determining-the-ingress-ip-and-port) doc. +the [Bookinfo](/docs/examples/bookinfo/#determine-the-ingress-ip-and-port) doc. Notice that the reviews part of the page displays with no rating stars, no matter how many times you refresh. This is because you configured Istio to route diff --git a/content/en/faq/distributed-tracing/minimal-requirements.md b/content/en/faq/distributed-tracing/minimal-requirements.md index bdb502a077..322d12e5d2 100644 --- a/content/en/faq/distributed-tracing/minimal-requirements.md +++ b/content/en/faq/distributed-tracing/minimal-requirements.md @@ -3,4 +3,4 @@ title: What is the minimal Istio configuration required for distributed tracing? weight: 13 --- -The [Istio minimal profile](/docs/setup/kubernetes/install/helm/) with tracing enabled is all that is required for Istio to integrate with Zipkin-compatible backends. \ No newline at end of file +The [Istio minimal profile](/docs/setup/install/helm/) with tracing enabled is all that is required for Istio to integrate with Zipkin-compatible backends. \ No newline at end of file diff --git a/content/en/faq/metrics-and-logs/prometheus-for-non-k8s.md b/content/en/faq/metrics-and-logs/prometheus-for-non-k8s.md index 6c7bb9e999..b78d407293 100644 --- a/content/en/faq/metrics-and-logs/prometheus-for-non-k8s.md +++ b/content/en/faq/metrics-and-logs/prometheus-for-non-k8s.md @@ -3,5 +3,5 @@ title: Can the Prometheus adapter be used in non-Kubernetes environments? weight: 60 --- -You can use docker-compose to install Prometheus, similar to when you [install](/docs/setup/consul/quick-start/#deploy-your-application) your application. Also, +You can use docker-compose to install Prometheus. Also, without the Kubernetes API server, components such as Mixer will need local configuration for rules/handlers/instances. diff --git a/content/en/faq/setup/k8s-sidecar-injection-not-working.md b/content/en/faq/setup/k8s-sidecar-injection-not-working.md index a635de70e7..9abb787432 100644 --- a/content/en/faq/setup/k8s-sidecar-injection-not-working.md +++ b/content/en/faq/setup/k8s-sidecar-injection-not-working.md @@ -4,7 +4,7 @@ weight: 20 --- Ensure that your cluster has met the -[prerequisites](/docs/setup/kubernetes/additional-setup/sidecar-injection/#automatic-sidecar-injection) for +[prerequisites](/docs/setup/additional-setup/sidecar-injection/#automatic-sidecar-injection) for the automatic sidecar injection. If your microservice is deployed in `kube-system`, `kube-public` or `istio-system` namespaces, they are exempted from automatic sidecar injection. Please use a different namespace diff --git a/content/en/test/tb_and_lists/index.md b/content/en/test/tb_and_lists/index.md index b4b5f8c26a..165a807192 100644 --- a/content/en/test/tb_and_lists/index.md +++ b/content/en/test/tb_and_lists/index.md @@ -52,7 +52,7 @@ skip_sitemap: true {{< warning >}} If you disabled automatic sidecar injection during installation and rely on [manual sidecar injection] - (/docs/setup/kubernetes/additional-setup/sidecar-injection/#manual-sidecar-injection), + (/docs/setup/additional-setup/sidecar-injection/#manual-sidecar-injection), use the `istioctl kube-inject` command to modify the `bookinfo.yaml` file before deploying your application. For more information please visit the `istioctl` [reference documentation](/docs/reference/commands/istioctl/#istioctl-kube-inject). diff --git a/content/zh/blog/2017/0.2-announcement/index.md b/content/zh/blog/2017/0.2-announcement/index.md index 449c23d38d..75e8f2f90d 100644 --- a/content/zh/blog/2017/0.2-announcement/index.md +++ b/content/zh/blog/2017/0.2-announcement/index.md @@ -25,7 +25,7 @@ attribution: The Istio Team * _网格扩展_: Istio 网格现在可以在 Kubernetes 之外跨服务 —— 就像那些运行在虚拟机中的服务一样,他们同时享受诸如自动双向 TLS认证、流量管理、遥测和跨网格策略实施带来的好处。 -* _运行在 Kubernetes 外部_: 我们知道许多客户使用其他的服务注册中心和 orchestration 解决方案(如 [Consul/Nomad](/docs/setup/consul/quick-start/) 和 Eureka), Istio Pilot 可以在 Kubernetes 外部单独运行,同时从这些系统中获取信息,并在虚拟机或容器中管理 Envoy fleet 。 +* _运行在 Kubernetes 外部_: 我们知道许多客户使用其他的服务注册中心和 orchestration 解决方案(如 [Consul/Nomad](/zh/docs/setup/consul/quick-start/) 和 Eureka), Istio Pilot 可以在 Kubernetes 外部单独运行,同时从这些系统中获取信息,并在虚拟机或容器中管理 Envoy fleet 。 ## 加入到塑造 Istio 未来的队伍中 diff --git a/content/zh/blog/2018/egress-mongo/index.md b/content/zh/blog/2018/egress-mongo/index.md index bbe2b2168f..59e901661f 100644 --- a/content/zh/blog/2018/egress-mongo/index.md +++ b/content/zh/blog/2018/egress-mongo/index.md @@ -83,7 +83,7 @@ keywords: [traffic-management,egress,tcp,mongo] ### Bookinfo 应用程序的初始设置 -为了演示使用外部数据库的场景,请首先运行一个[安装了 Istio](/docs/setup/kubernetes/install/kubernetes/#installation-steps) 的 Kubernetes 集群。然后部署 +为了演示使用外部数据库的场景,请首先运行一个[安装了 Istio](/docs/setup/install/kubernetes/#installation-steps) 的 Kubernetes 集群。然后部署 [Istio Bookinfo 示例应用程序](/docs/examples/bookinfo/)并[应用默认 destination rules](/docs/examples/bookinfo/#apply-default-destination-rules)。 此应用程序从 `ratings` 微服务获取书籍评级(1 到 5 的数字)。评级以星标形式显示每条评论。`ratings` 微服务有几个版本。在下一小节中,请部署使用 [MongoDB](https://www.mongodb.com) @@ -125,7 +125,7 @@ keywords: [traffic-management,egress,tcp,mongo] ### 访问网页 -[确认 ingress IP 和端口之后](/docs/examples/bookinfo/#determining-the-ingress-ip-and-port),访问应用程序的网页。 +[确认 ingress IP 和端口之后](/docs/examples/bookinfo/#determine-the-ingress-ip-and-port),访问应用程序的网页。 由于您尚未配置 egress 流量控制,所以 Istio 会阻止到 MongoDB 服务的访问。这就是为什么您当前不能看到评级的星标,只能看到 _"Ratings service is currently unavailable"_ 的信息: diff --git a/content/zh/boilerplates/notes/0.5.md b/content/zh/boilerplates/notes/0.5.md index 24bf83e3db..ff829c5fb4 100644 --- a/content/zh/boilerplates/notes/0.5.md +++ b/content/zh/boilerplates/notes/0.5.md @@ -50,7 +50,7 @@ information on customized Istio deployments. [mutating webhook feature](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.9.md#api-machinery) to provide automatic pod-level proxy injection. Automatic injection requires Kubernetes 1.9 or beyond and therefore doesn't work on older versions. The alpha initializer mechanism is no longer supported. -[Learn more](/docs/setup/kubernetes/additional-setup/sidecar-injection/#automatic-sidecar-injection) +[Learn more](/docs/setup/additional-setup/sidecar-injection/#automatic-sidecar-injection) - **Revised Traffic Rules**. Based on user feedback, we have made significant changes to Istio's traffic management (routing rules, destination rules, etc.). We would love your continuing feedback while we polish this in the coming weeks. diff --git a/content/zh/docs/setup/kubernetes/additional-setup/requirements/index.md b/content/zh/docs/setup/kubernetes/additional-setup/requirements/index.md index a9adb5f82c..195629dd27 100644 --- a/content/zh/docs/setup/kubernetes/additional-setup/requirements/index.md +++ b/content/zh/docs/setup/kubernetes/additional-setup/requirements/index.md @@ -17,4 +17,4 @@ keywords: [kubernetes,sidecar,sidecar-injection] * **Application UID**:**不要**使用 ID(UID)值为 **1337** 的用户来运行应用。 -* **`NET_ADMIN` 功能**: 如果您的群集中实施了 Pod 安全策略,除非您使用 [Istio CNI 插件](/docs/setup/kubernetes/additional-setup/cni/),您的 pod 必须具有`NET_ADMIN`功能。请参阅[必需的 Pod 功能](/docs/ops/setup/required-pod-capabilities/)。 +* **`NET_ADMIN` 功能**: 如果您的群集中实施了 Pod 安全策略,除非您使用 [Istio CNI 插件](/docs/setup/additional-setup/cni/),您的 pod 必须具有`NET_ADMIN`功能。请参阅[必需的 Pod 功能](/docs/ops/setup/required-pod-capabilities/)。 diff --git a/content/zh/docs/setup/kubernetes/install/helm/index.md b/content/zh/docs/setup/kubernetes/install/helm/index.md index 4890fc9ef5..b4b606fb5a 100644 --- a/content/zh/docs/setup/kubernetes/install/helm/index.md +++ b/content/zh/docs/setup/kubernetes/install/helm/index.md @@ -54,7 +54,7 @@ icon: helm 1. {{< boilerplate verify-crds >}} -1. 选择一个 [配置文件](/docs/setup/kubernetes/additional-setup/config-profiles/),接着部署与你选择的配置文件相对应的 Istio 的核心组件,我们建议在生成环境部署中使用 **default** 配置文件: +1. 选择一个 [配置文件](/docs/setup/additional-setup/config-profiles/),接着部署与你选择的配置文件相对应的 Istio 的核心组件,我们建议在生成环境部署中使用 **default** 配置文件: {{< tip >}} 你可以添加一个或多个 `--set =` 来进一步自定义 helm 命令的 @@ -133,7 +133,7 @@ $ helm template install/kubernetes/helm/istio --name istio --namespace istio-sys 1. {{< boilerplate verify-crds >}} -1. 选择一个 [配置文件](/docs/setup/kubernetes/additional-setup/config-profiles/),接着部署与你选择的配置文件相对应的 Istio 的核心组件,我们建议在生成环境部署中使用 **default** 配置文件: +1. 选择一个 [配置文件](/docs/setup/additional-setup/config-profiles/),接着部署与你选择的配置文件相对应的 Istio 的核心组件,我们建议在生成环境部署中使用 **default** 配置文件: {{< tip >}} 你可以添加一个或多个 `--set =` 来进一步自定义 helm 命令的 diff --git a/content/zh/docs/setup/kubernetes/install/multicluster/gateways/index.md b/content/zh/docs/setup/kubernetes/install/multicluster/gateways/index.md index 8e2eae4084..ef80fbda7f 100644 --- a/content/zh/docs/setup/kubernetes/install/multicluster/gateways/index.md +++ b/content/zh/docs/setup/kubernetes/install/multicluster/gateways/index.md @@ -13,7 +13,7 @@ keywords: [kubernetes,multicluster,federation,gateway] 跨集群通信发生在相应集群的 Istio Gateway 上。 {{< image width="80%" - link="multicluster-with-gateways.svg" + link="/docs/setup/install/multicluster/gateways/multicluster-with-gateways.svg" caption="Istio 网格使用 Istio Gateway 跨越多个 Kubernetes 集群访问远程 Pod" >}} diff --git a/content/zh/docs/setup/kubernetes/install/multicluster/vpn/index.md b/content/zh/docs/setup/kubernetes/install/multicluster/vpn/index.md index 25691f5fe9..793fdcda58 100644 --- a/content/zh/docs/setup/kubernetes/install/multicluster/vpn/index.md +++ b/content/zh/docs/setup/kubernetes/install/multicluster/vpn/index.md @@ -10,7 +10,7 @@ keywords: [kubernetes,multicluster,federation,vpn] 在此配置中,运行远程配置的多个 Kubernetes 控制平面将连接到**单个** Istio 控制平面。一旦一个或多个远程 Kubernetes 集群连接到 Istio 控制平面,Envoy 就可以与单个控制平面通信并形成跨多个集群的服务网格。 {{< image width="80%" - link="/docs/setup/kubernetes/install/multicluster/shared-vpn/multicluster-with-vpn.svg" + link="/docs/setup/install/multicluster/shared-vpn/multicluster-with-vpn.svg" caption="通过 VPN 直连远程 pod 的多 Kubernetes 集群 Istio 网格" >}} diff --git a/content/zh/docs/setup/kubernetes/install/platform/alicloud/index.md b/content/zh/docs/setup/kubernetes/install/platform/alicloud/index.md index 74579d665b..b9939d8eb5 100644 --- a/content/zh/docs/setup/kubernetes/install/platform/alicloud/index.md +++ b/content/zh/docs/setup/kubernetes/install/platform/alicloud/index.md @@ -40,7 +40,7 @@ $ helm init --service-account tiller - 在左侧的导航栏中点击 **应用目录** 。 - 在右侧区域选择 **ack-istio** 。 -{{< image link="app-catalog-istio-1.0.0.png" caption="Istio" >}} +{{< image link="/docs/setup/install/platform/alicloud/app-catalog-istio-1.0.0.png" caption="Istio" >}} ### 使用参数自定义安装 diff --git a/content/zh/docs/setup/kubernetes/install/platform/gke/index.md b/content/zh/docs/setup/kubernetes/install/platform/gke/index.md index 8557bbd256..1941c49d9b 100644 --- a/content/zh/docs/setup/kubernetes/install/platform/gke/index.md +++ b/content/zh/docs/setup/kubernetes/install/platform/gke/index.md @@ -23,11 +23,11 @@ keywords: [kubernetes,gke,google] `projectNumber-compute@developer.gserviceaccount.com`,缺省情况下,它只包含 `Editor` 角色。对角色进行编辑,在“角色”下拉框中查找 `Kubernetes Engine` 分组,选择角色 `Kubernetes Engine Admin`。 -{{< image link="dm_gcp_iam.png" caption="GKE-IAM Service" >}} +{{< image link="/docs/setup/install/platform/gke/dm_gcp_iam.png" caption="GKE-IAM Service" >}} 加入 `Kubernetes Engine Admin` 角色: -{{< image width="70%" link="dm_gcp_iam_role.png" caption="GKE-IAM Role" >}} +{{< image width="70%" link="/docs/setup/install/platform/gke/dm_gcp_iam_role.png" caption="GKE-IAM Role" >}} ## 在 GKE 上设置 Istio diff --git a/content/zh/docs/setup/kubernetes/install/platform/ibm/index.md b/content/zh/docs/setup/kubernetes/install/platform/ibm/index.md index a0eed5b2ee..deda77b509 100644 --- a/content/zh/docs/setup/kubernetes/install/platform/ibm/index.md +++ b/content/zh/docs/setup/kubernetes/install/platform/ibm/index.md @@ -139,27 +139,27 @@ keywords: [kubernetes,ibm,icp] - 点击搜索框右侧的 `Filter` 并选中 `ibm-charts` 复选框。 - 点击左侧导航窗格的 `Operations`。 -{{< image link="istio-catalog-1.png" caption="IBM 私有云 - Istio 目录" >}} +{{< image link="/docs/setup/install/platform/ibm/istio-catalog-1.png" caption="IBM 私有云 - Istio 目录" >}} - 点击右侧面板中的 `ibm-istio`。 -{{< image link="istio-catalog-2.png" caption="IBM 私有云 - Istio 目录" >}} +{{< image link="/docs/setup/install/platform/ibm/istio-catalog-2.png" caption="IBM 私有云 - Istio 目录" >}} - (可选的)使用 `CHART VERSION` 的下拉功能修改 Istio 版本。 - 点击 `Configure` 按钮。 -{{< image link="istio-installation-1.png" caption="IBM 私有云 - 安装 Istio" >}} +{{< image link="/docs/setup/install/platform/ibm/istio-installation-1.png" caption="IBM 私有云 - 安装 Istio" >}} - 输入 Helm 部署实例的名称(例如:`istio-1.0.3`),并选择 `istio-system` 作为目标 namespace。 - 同意许可条款。 - (可选的)点击 `All parameters` 自定义安装参数。 - 点击 `Install` 按钮。 -{{< image link="istio-installation-2.png" caption="IBM 私有云 - 安装 Istio" >}} +{{< image link="/docs/setup/install/platform/ibm/istio-installation-2.png" caption="IBM 私有云 - 安装 Istio" >}} 安装完成后,你可以在 **Helm Releases** 页通过搜索实例名找到它。 -{{< image link="istio-release.png" caption="IBM 私有云 - 安装 Istio" >}} +{{< image link="/docs/setup/install/platform/ibm/istio-release.png" caption="IBM 私有云 - 安装 Istio" >}} ### 升级或回滚 @@ -169,9 +169,9 @@ keywords: [kubernetes,ibm,icp] - 通过实例名找到已安装的 Istio。 - 点击 `Action` 然后选择 `upgrade` 或 `rollback`。 -{{< image link="istio-upgrade-1.png" caption="IBM 私有云 - Istio 升级或回滚" >}} +{{< image link="/docs/setup/install/platform/ibm/istio-upgrade-1.png" caption="IBM 私有云 - Istio 升级或回滚" >}} -{{< image link="istio-upgrade-2.png" caption="IBM 私有云 - Istio 升级或回滚" >}} +{{< image link="/docs/setup/install/platform/ibm/istio-upgrade-2.png" caption="IBM 私有云 - Istio 升级或回滚" >}} ### 卸载 @@ -181,4 +181,4 @@ keywords: [kubernetes,ibm,icp] - 通过实例名找到已安装的 Istio。 - 点击 `Action` 并选择 `delete`。 -{{< image link="istio-deletion.png" caption="IBM 私有云 - 卸载 Istio" >}} +{{< image link="/docs/setup/install/platform/ibm/istio-deletion.png" caption="IBM 私有云 - 卸载 Istio" >}} diff --git a/content/zh/docs/setup/kubernetes/prepare/platform-setup/alicloud/index.md b/content/zh/docs/setup/kubernetes/prepare/platform-setup/alicloud/index.md index a8f23136ad..bd105ac5c7 100644 --- a/content/zh/docs/setup/kubernetes/prepare/platform-setup/alicloud/index.md +++ b/content/zh/docs/setup/kubernetes/prepare/platform-setup/alicloud/index.md @@ -36,4 +36,4 @@ keywords: [platform-setup,alibaba-cloud,aliyun,alicloud] 下图显示了完成前面所有步骤的界面: -{{< image link="/docs/setup/kubernetes/platform-setup/alicloud/csconsole.png" caption="Console" >}} +{{< image link="/docs/setup/platform-setup/alicloud/csconsole.png" caption="Console" >}} diff --git a/content/zh/docs/setup/kubernetes/prepare/platform-setup/docker/index.md b/content/zh/docs/setup/kubernetes/prepare/platform-setup/docker/index.md index 2dc4720a8a..327ee34169 100644 --- a/content/zh/docs/setup/kubernetes/prepare/platform-setup/docker/index.md +++ b/content/zh/docs/setup/kubernetes/prepare/platform-setup/docker/index.md @@ -8,7 +8,7 @@ keywords: [platform-setup,kubernetes,docker-for-desktop] 如果你想在桌面版 Docker 内置的 Kubernetes 下运行 Istio,你可能需要在 Docker 首选项的 *Advanced* 面板下增加 Docker 的内存限制。Pilot 默认请求内存为 `2048Mi`,这是 Docker 的默认限制。 -{{< image width="60%" link="/docs/setup/kubernetes/platform-setup/docker/dockerprefs.png" caption="Docker 首选项" >}} +{{< image width="60%" link="/docs/setup/platform-setup/docker/dockerprefs.png" caption="Docker 首选项" >}} 也可以通过传递 Helm 参数 `--set pilot.resources.requests.memory="512Mi"` 来减少 Pilot 的内存请求。否则 Pilot 可能因资源不足而无法启动。 有关详细信息,请看[安装选项](/zh/docs/reference/config/installation-options)。 diff --git a/content/zh/docs/setup/kubernetes/upgrade/notice/index.md b/content/zh/docs/setup/kubernetes/upgrade/notice/index.md index 5915ccf61a..77b49ce3a6 100644 --- a/content/zh/docs/setup/kubernetes/upgrade/notice/index.md +++ b/content/zh/docs/setup/kubernetes/upgrade/notice/index.md @@ -12,7 +12,7 @@ weight: 5 ## 安装 - 我们增加了控制平面和 Envoy Sidecar 所需的 CPU 和内存。在更新之前,确保群集有足够的资源。 -- Istio 的 CRD 已被放入他们自己的 Helm chart `istio-init` 中。这可以防止丢失自定义资源数据,促进升级过程,使 Istio 能够基于 Helm 的安装形式也可以升级。 [升级文档](/docs/setup/kubernetes/upgrade/steps/) 提供了从 Istio 1.0.6 升级到 Istio 1.1 的正确过程。升级时请仔细遵循这些说明。如果需要 `certmanager`,在使用 `template` 或 `tiller` 安装模式安装`istio-init` 和 Istio chart 时,请使用 `--set certmanager=true` 标志。 +- Istio 的 CRD 已被放入他们自己的 Helm chart `istio-init` 中。这可以防止丢失自定义资源数据,促进升级过程,使 Istio 能够基于 Helm 的安装形式也可以升级。 [升级文档](/docs/setup/upgrade/steps/) 提供了从 Istio 1.0.6 升级到 Istio 1.1 的正确过程。升级时请仔细遵循这些说明。如果需要 `certmanager`,在使用 `template` 或 `tiller` 安装模式安装`istio-init` 和 Istio chart 时,请使用 `--set certmanager=true` 标志。 - 用于[多集群 VPN](/zh/docs/setup/kubernetes/install/multicluster/vpn/) 的 1.0 `istio-remote` chart 和 [多集群水平分割](/zh/docs/tasks/multicluster/split-horizon-eds/) 远程集群安装已合并到 Istio chart 中。要生成等效的 `istio-remote` chart,请使用 `--set global.istioRemote=true` 标志。 - 插件不再通过单独的负载均衡器暴露。现在可以选择通过 Ingress 网关公开插件。要通过 Ingress Gateway 公开插件,请按照[远程访问遥测插件](/docs/tasks/telemetry/gateways/)指南进行操作。 - 内置的 Istio Statsd 收集器已被删除。 Istio 使用 `--set global.envoyStatsd.enabled=true` 标志保留与您自己的 Statsd 收集器集成的功能。 diff --git a/content/zh/docs/setup/kubernetes/upgrade/setps/index.md b/content/zh/docs/setup/kubernetes/upgrade/setps/index.md index 410c19a56f..3a7124d404 100644 --- a/content/zh/docs/setup/kubernetes/upgrade/setps/index.md +++ b/content/zh/docs/setup/kubernetes/upgrade/setps/index.md @@ -11,7 +11,7 @@ keywords: [kubernetes,upgrading] 在下面的步骤中,我们假设 Istio 组件在 `istio-system` namespace 中安装和升级。 {{< warning >}} -将部署升级到 Istio 1.1 前您一定要先看看[升级通知](/docs/setup/kubernetes/upgrade/notice) 的简明事项列表。 +将部署升级到 Istio 1.1 前您一定要先看看[升级通知](/docs/setup/upgrade/notice) 的简明事项列表。 {{< /warning >}} ## 升级步骤 @@ -40,7 +40,7 @@ Istio 控制平面组件包括:Citadel、Ingress 网关、Egress 网关、Pilo {{< tab name="Kubernetes 的滚动更新" cookie-value="k8supdate" >}} 您可以使用 Kubernetes 的滚动更新机制来升级控制平面组件。 这适用于使用 `kubectl apply` 部署 Istio 组件的情况, -包括使用 [helm template](/docs/setup/kubernetes/install/helm/#option-1-install-with-helm-via-helm-template) 生成的配置。 +包括使用 [helm template](/docs/setup/install/helm/#option-1-install-with-helm-via-helm-template) 生成的配置。 1. 使用 `kubectl apply` 升级 Istio 所有的 CRD。稍微等待几秒钟,让 Kubernetes API 服务器接收升级后的 CRD: @@ -82,7 +82,7 @@ Istio 控制平面组件包括:Citadel、Ingress 网关、Egress 网关、Pilo {{< /tab >}} {{< tab name="Helm 升级" cookie-value="helmupgrade" >}} -如果你使用 [Helm 和 Tiller](/docs/setup/kubernetes/install/helm/#option-2-install-with-helm-and-tiller-via-helm-install) 安装了 Istio, +如果你使用 [Helm 和 Tiller](/docs/setup/install/helm/#option-2-install-with-helm-and-tiller-via-helm-install) 安装了 Istio, 首选升级选项是让 Helm 负责升级。 1. 升级 `istio-init` chart 以更新所有 Istio [自定义资源定义](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions)(CRD)。 diff --git a/content/zh/docs/tasks/multicluster/split-horizon-eds/index.md b/content/zh/docs/tasks/multicluster/split-horizon-eds/index.md index 62eafe071a..9051bbbc2c 100644 --- a/content/zh/docs/tasks/multicluster/split-horizon-eds/index.md +++ b/content/zh/docs/tasks/multicluster/split-horizon-eds/index.md @@ -12,7 +12,7 @@ aliases: 按照此示例中的说明,您将设置一个两集群网格,如下图所示: {{< image width="80%" - link="/docs/setup/kubernetes/install/multicluster/shared-gateways/diagram.svg" + link="/docs/setup/install/multicluster/shared-gateways/diagram.svg" caption="单个 Istio 控制平面配置水平分割 EDS,跨越多个 Kubernetes 集群" >}} 原始集群 `cluster1` 将运行完整的 Istio 控制平面组件,而 `cluster2` 集群仅运行 Istio Citadel、Sidecar Injector 和 Ingress gateway。不需要 VPN 连接,不同集群中的工作负载之间也无需直接网络访问。 @@ -40,7 +40,7 @@ aliases: 1. 使用 Helm 创建 Istio `cluster1` 的部署 YAML: {{< warning >}} - 如果不确定 `helm` 的依赖项是否为最新版本, 在运行下列命令前,请先根据 [Helm 安装步骤](/docs/setup/kubernetes/install/helm/#installation-steps) 更新依赖项. + 如果不确定 `helm` 的依赖项是否为最新版本, 在运行下列命令前,请先根据 [Helm 安装步骤](/docs/setup/install/helm/#installation-steps) 更新依赖项. {{< /warning >}} {{< text bash >}} diff --git a/content/zh/docs/tasks/policy-enforcement/enabling-policy/index.md b/content/zh/docs/tasks/policy-enforcement/enabling-policy/index.md index 93370f0266..bfcbf635b7 100644 --- a/content/zh/docs/tasks/policy-enforcement/enabling-policy/index.md +++ b/content/zh/docs/tasks/policy-enforcement/enabling-policy/index.md @@ -12,7 +12,7 @@ keywords: [policies] 在 Istio 默认的安装配置中,策略检查是被禁用的。 要安装启用策略检查功能的 Istio,请使用 `--set global.disablePolicyChecks=false` Helm 安装选项。 -或者,您也可以[使用演示配置安装 Istio](/docs/setup/kubernetes/install/kubernetes/),这默认就启用了策略检查。 +或者,您也可以[使用演示配置安装 Istio](/docs/setup/install/kubernetes/),这默认就启用了策略检查。 ## 对于已经存在的 Istio 网格 diff --git a/content/zh/docs/tasks/security/vault-ca/index.md b/content/zh/docs/tasks/security/vault-ca/index.md index d428c6982b..0627a3cf0f 100644 --- a/content/zh/docs/tasks/security/vault-ca/index.md +++ b/content/zh/docs/tasks/security/vault-ca/index.md @@ -13,7 +13,7 @@ keywords: [security,certificate] ## 安装启用 SDS 的 Istio -1. 使用 [Helm](/docs/setup/kubernetes/install/helm/#prerequisites) 安装 Istio 启用 SDS 和向节点代理发送证书签名请求来测试 Vault CA : +1. 使用 [Helm](/docs/setup/install/helm/#prerequisites) 安装 Istio 启用 SDS 和向节点代理发送证书签名请求来测试 Vault CA : {{< text bash >}} $ kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user="$(gcloud config get-value core/account)" diff --git a/content/zh/faq/setup/k8s-sidecar-injection-not-working.md b/content/zh/faq/setup/k8s-sidecar-injection-not-working.md index 622041ae90..6f87a22455 100644 --- a/content/zh/faq/setup/k8s-sidecar-injection-not-working.md +++ b/content/zh/faq/setup/k8s-sidecar-injection-not-working.md @@ -3,4 +3,4 @@ title: Kubernetes - 我该如何调试 sidecar 自动注入的问题? weight: 20 --- -为了支持 sidecar 自动注入,请确保你的集群符合此[前提条件](/docs/setup/kubernetes/additional-setup/sidecar-injection/#automatic-sidecar-injection)。如果你的微服务是部署在 `kube-system`、`kube-public` 或者 `istio-system` 这些命名空间,那么就会被免除 sidecar 自动注入。请使用其他命名空间替代。 +为了支持 sidecar 自动注入,请确保你的集群符合此[前提条件](/docs/setup/additional-setup/sidecar-injection/#automatic-sidecar-injection)。如果你的微服务是部署在 `kube-system`、`kube-public` 或者 `istio-system` 这些命名空间,那么就会被免除 sidecar 自动注入。请使用其他命名空间替代。