add indexes for sections in docs and other fix (#1573)

* add indexes for sections in docs and other fix

- add indexes for sections
- add blank space between English and Chinese character
- change some punctuations
This commit is contained in:
Jimmy Song 2018-06-22 21:13:55 +08:00 committed by Martin Taillefer
parent 16e551021b
commit b86d9f6c72
8 changed files with 86 additions and 48 deletions

View File

@ -6,19 +6,19 @@ weight: 1
sidebar_multicard: true
---
在这里您可以了解Istio的架构以及如何部署和使用Istio的所有信息。
在这里您可以了解 Istio 的架构以及如何部署和使用 Istio 的所有信息。
- [概念](/docs/concepts/)。概念解释了Istio的一些重要方面。您可以在这里了解Istio的功能以及如何实现。
- [安装](/docs/setup/)。安装包含有关在各种环境中安装Istio控制平面的说明以及在应用程序部署中安装sidecar的说明。快速开始说明适用于[Kubernetes](/docs/setup/kubernetes/quick-start/)、[Docker Compose和Consul](/docs/setup/consul/quick-start/)。
- [任务](/docs/tasks/)。任务展示如何使用Istio实现特定目标的活动。
- [指南](/docs/guides/)。指南是完全有效的独立示例旨在强调的Istio特性。
- [性能和可扩展性](/docs/performance-and-scalability/)。关于Istio性能和可扩展性进展和结果的信息。
- [参考](/docs/reference/)。详细的命令行选项、配置选项、API定义和过程的详尽列表。
- [概念](/docs/concepts/)。概念解释了 Istio 的一些重要方面。您可以在这里了解 Istio 的功能以及如何实现。
- [安装](/docs/setup/)。安装包含有关在各种环境中安装 Istio 控制平面的说明,以及在应用程序部署中安装 sidecar 的说明。快速开始说明适用于 [Kubernetes](/docs/setup/kubernetes/quick-start/)、[Docker Compose Consul](/docs/setup/consul/quick-start/)。
- [任务](/docs/tasks/)。任务展示如何使用 Istio 实现特定目标的活动。
- [指南](/docs/guides/)。指南是完全有效的独立示例,旨在强调的 Istio 特性。
- [性能和可扩展性](/docs/performance-and-scalability/)。关于 Istio 性能和可扩展性进展和结果的信息。
- [参考](/docs/reference/)。详细的命令行选项、配置选项、API 定义和过程的详尽列表。
另外,您可能会发现这些有趣的链接:
- 最新的Istio月度版本是{{< istio_version >}}: [下载 {{< istio_version >}}](https://github.com/istio/istio/releases),
[release notes](/about/notes/{{< istio_version >}}/).
- 最新的 Istio 月度版本是 {{< istio_version >}}[下载 {{< istio_version >}}](https://github.com/istio/istio/releases)
[发布说明](/about/notes/{{< istio_version >}}/)。
- 怀念以前的版本?我们保存了[以前版本的文档](https://archive.istio.io/)。
- 我们一直在寻求帮助以改进我们的文档,所以如果您遇到问题,请不要犹豫[提issue](https://github.com/istio/istio.github.io/issues/new)。或者更好的是,提交你自己的[贡献](/about/contribute/editing/),以帮助我们的文档做的更好。

View File

@ -0,0 +1,6 @@
---
title: 概念
description: 概念帮助您了解 Istio 系统的不同部分及其使用的抽象。
weight: 10
type: section-index
---

View File

@ -0,0 +1,8 @@
---
title: 指南
description: 指南中包括多个 Istio 使用的可完整工作的示例,你可以用来亲自部署和体验这些示例。
weight: 30
type: section-index
aliases:
/docs/samples/index.html
---

View File

@ -0,0 +1,6 @@
---
title: 性能和可伸缩性
description: 介绍 Istio 组件的性能和可伸缩性方法、结果和最佳实践。
weight: 50
type: section-index
---

View File

@ -0,0 +1,6 @@
---
title: 参考
description: 参考部分包含详细的权威参考资料,如命令行选项、配置选项和 API 调用参数。
weight: 60
type: section-index
---

View File

@ -0,0 +1,6 @@
---
title: 安装
description: 安装包含在不同的环境下(如 Kubernetes、Consul 等)安装 Istio 控制平面,以及在应用程序部署中安装 sidecar。
weight: 15
type: section-index
---

View File

@ -1,6 +1,6 @@
---
title: 快速开始
description: 在kubernetes集群中快速安装Istio service mesh的说明。
description: 在 kubernetes 集群中快速安装 Istio service mesh 的说明。
weight: 10
keywords: [kubernetes]
---
@ -9,17 +9,17 @@ keywords: [kubernetes]
## 前置条件
下面的操作说明需要您可以访问kubernetes **1.9 或更高版本** 的集群,并且启用了 [RBAC (基于角色的访问控制)](https://kubernetes.io/docs/admin/authorization/rbac/)。您需要安装了**1.9 或更高版本** 的 `kubectl` 命令。
下面的操作说明需要您可以访问 kubernetes **1.9 或更高版本** 的集群,并且启用了 [RBAC (基于角色的访问控制)](https://kubernetes.io/docs/admin/authorization/rbac/)。您需要安装了 **1.9 或更高版本** 的 `kubectl` 命令。
如果您希望启用[自动注入sidecar](/docs/setup/kubernetes/sidecar-injection/#automatic-sidecar-injection)您必须使用kubernetes 1.9或更高版本。
如果您希望启用[自动注入 sidecar](/docs/setup/kubernetes/sidecar-injection/#automatic-sidecar-injection),您必须使用 kubernetes 1.9或更高版本。
> 如果您安装的是Istio 0.2.x在安装新版本之前请将其完全[卸载](https://archive.istio.io/v0.2/docs/setup/kubernetes/quick-start#uninstalling)包括所有启用了Istio的Pod中的sidecar
> 如果您安装的是 Istio 0.2.x在安装新版本之前请将其完全[卸载](https://archive.istio.io/v0.2/docs/setup/kubernetes/quick-start#uninstalling)(包括所有启用了 Istio Pod 中的sidecar
* 安装或更新kubernetes命令行工具[kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)以匹配集群的版本 1.9或者更高支持CRD功能
* 安装或更新 kubernetes 命令行工具 [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) 以匹配集群的版本 1.9 或者更高,支持 CRD 功能)
### Minikube
要在本地安装Istio请安装最新版本的[Minikube](https://kubernetes.io/docs/getting-started-guides/minikube/)0.25.0或更高版本)。
要在本地安装 Istio请安装最新版本的 [Minikube](https://kubernetes.io/docs/getting-started-guides/minikube/)0.25.0 或更高版本)。
Kubernetes 1.9
@ -52,7 +52,7 @@ $ gcloud container clusters create <cluster-name> \
--project <project-name>
```
获取`kubectl`使用的证书。
获取 `kubectl` 使用的证书。
```command
$ gcloud container clusters get-credentials <cluster-name> \
@ -60,7 +60,7 @@ $ gcloud container clusters get-credentials <cluster-name> \
--project <project-name>
```
为当前用户授权管理员权限为Istio创建必需的RBAC规则需要使用管理员权限
为当前用户授权管理员权限(为 Istio 创建必需的 RBAC 规则需要使用管理员权限)。
```command
$ kubectl create clusterrolebinding cluster-admin-binding \
@ -82,7 +82,7 @@ $ bx cs cluster-create --name <cluster-name> --kube-version 1.9.7
$ bx cs cluster-create --location location --machine-type u2c.2x4 --name <cluster-name> --kube-version 1.9.7
```
获取`kubectl`使用的证书(使用您自己集群的名字替换下面的`<cluster-name>`
获取 `kubectl` 使用的证书(使用您自己集群的名字替换下面的 `<cluster-name>`
```bash
$(bx cs cluster-config <cluster-name>|grep "export KUBECONFIG")
@ -90,11 +90,11 @@ $(bx cs cluster-config <cluster-name>|grep "export KUBECONFIG")
### IBM Cloud Private
要访问IBM Cloud Private Cluster请按照[这里](https://www.ibm.com/support/knowledgecenter/SSBS6K_2.1.0/manage_cluster/cfc_cli.html)的步骤配置`kubectl` CLI。
要访问 IBM Cloud Private Cluster请按照[这里](https://www.ibm.com/support/knowledgecenter/SSBS6K_2.1.0/manage_cluster/cfc_cli.html)的步骤配置 `kubectl` CLI。
### OpenShift Origin
默认情况下OpenShift不允许容器使用UID 0来运行。为Istio的service account启动容器以UID 0运行
默认情况下 OpenShift 不允许容器使用 UID 0 来运行。为 Istio service account 启动容器以 UID 0 运行:
```command
$ oc adm policy add-scc-to-user anyuid -z istio-ingress-service-account -n istio-system
@ -110,19 +110,19 @@ $ oc adm policy add-scc-to-user anyuid -z istio-pilot-service-account -n istio-s
$ oc adm policy add-scc-to-user anyuid -z istio-sidecar-injector-service-account -n istio-system
```
以上列出了Istio中包含的所有默认的service account。如果您想启用Istio的其他服务例如*Grafana*)需要使用类似的命令来涵盖那些服务。
以上列出了 Istio 中包含的所有默认的 service account。如果您想启用 Istio 的其他服务(例如 *Grafana*)需要使用类似的命令来涵盖那些服务。
运行应用程序pod的service account需要特权的安全上下文约束以作为sidecar注入的一部分。
运行应用程序 pod service account 需要特权的安全上下文约束以作为 sidecar 注入的一部分。
```command
$ oc adm policy add-scc-to-user privileged -z default -n <target-namespace>
```
> 检查该[讨论](https://github.com/istio/issues/issues/34)中关于Istio的`SELINUX`问题以防出现Envoy的问题。
> 检查该[讨论](https://github.com/istio/issues/issues/34)中关于 Istio `SELINUX` 问题,以防出现 Envoy 的问题。
### AWS (w/Kops)
在安装Kubernetes 1.9版的新集群时,将涵盖启用`admissionregistration.k8s.io/v1beta1`的先决条件。
在安装 Kubernetes 1.9 版的新集群时,将涵盖启用 `admissionregistration.k8s.io/v1beta1` 的先决条件。
然而,准入控制器的列表需要更新。
@ -176,13 +176,13 @@ $ for i in `kubectl get pods -nkube-system | grep api | awk '{print $1}'` ; do
### Azure
你应该使用`ACS-Engine`来部署集群。按照[这些说明](https://github.com/Azure/acs-engine/blob/master/docs/acsengine.md#install)来获取和安装`acs-engine`二进制包使用下面的命令下载Istio `api model definition`
你应该使用 `ACS-Engine` 来部署集群。按照[这些说明](https://github.com/Azure/acs-engine/blob/master/docs/acsengine.md#install)来获取和安装 `acs-engine` 二进制包,使用下面的命令下载 Istio `api model definition`
```command
$ wget https://raw.githubusercontent.com/Azure/acs-engine/master/examples/service-mesh/istio.json
```
使用`istio.json`模板和以下命令部署集群。您可以在[官方文档](https://github.com/Azure/acs-engine/blob/master/docs/kubernetes/deploy.md#step-3-edit-your-cluster-definition)中找到参数的参考。
使用 `istio.json` 模板和以下命令部署集群。您可以在[官方文档](https://github.com/Azure/acs-engine/blob/master/docs/kubernetes/deploy.md#step-3-edit-your-cluster-definition)中找到参数的参考。
| 参数 | 期望值 |
|-------------------------------------|----------------------------|
@ -194,7 +194,7 @@ $ wget https://raw.githubusercontent.com/Azure/acs-engine/master/examples/servic
$ acs-engine deploy --subscription-id <subscription_id> --dns-prefix <dns_prefix> --location <location> --auto-suffix --api-model istio.json
```
几分钟后,您应该在名为`<dns_prefix>-<id>`的资源组中找到您的Azure订阅集群。假设我的`dns_prifex` 是 `myclustername`有效的资源组和唯一的集群ID是`mycluster-5adfba82`。使用这个`<dns_prefix>-<id>`集群ID您可以将`acs-engine`生成的`kubeconfig`文件从`_output`文件夹复制到您的机器中:
几分钟后,您应该在名为`<dns_prefix>-<id>`的资源组中找到您的Azure订阅集群。假设我的 `dns_prifex` `myclustername`,有效的资源组和唯一的集群 ID `mycluster-5adfba82`。使用这个 `<dns_prefix>-<id>` 集群 ID您可以将 `acs-engine` 生成的 `kubeconfig` 文件从 `_output` 文件夹复制到您的机器中:
```command
$ cp _output/<dns_prefix>-<id>/kubeconfig/kubeconfig.<location>.json ~/.kube/config
@ -206,13 +206,13 @@ $ cp _output/<dns_prefix>-<id>/kubeconfig/kubeconfig.<location>.json ~/.kube/con
$ cp _output/mycluster-5adfba82/kubeconfig/kubeconfig.westus2.json ~/.kube/config
```
要检查是否部署了正确的Istio标志请使用
要检查是否部署了正确的 Istio 标志,请使用:
```command
$ kubectl describe pod --namespace kube-system $(kubectl get pods --namespace kube-system | grep api | cut -d ' ' -f 1) | grep admission-control
```
您应该可以看到`MutatingAdmissionWebhook`和`ValidatingAdmissionWebhook`标志:
您应该可以看到 `MutatingAdmissionWebhook` `ValidatingAdmissionWebhook` 标志:
```plain
--admission-control=...,MutatingAdmissionWebhook,...,ValidatingAdmissionWebhook,...
@ -232,16 +232,16 @@ $ kubectl describe pod --namespace kube-system $(kubectl get pods --namespace ku
* `install/` 目录下是 kubernetes 使用的 `.yaml` 安装文件
* `samples/` 目录下是示例程序
* `istioctl` 客户端二进制文件在`bin`目录下。`istioctl`文件用户手动注入Envoy sidecar代理、创建路由和策略等
* `istioctl` 客户端二进制文件在 `bin` 目录下。`istioctl` 文件用户手动注入 Envoy sidecar 代理、创建路由和策略等
* `istio.VERSION` 配置文件
1. 切换到Istio包的解压目录。例如istio-{{< istio_version >}}.0
1. 切换到 Istio 包的解压目录。例如 istio-{{< istio_version >}}.0
```command
$ cd istio-{{< istio_version >}}.0
```
1. 将`istioctl`客户端二进制文件加到PATH中。
1. 将 `istioctl` 客户端二进制文件加到 PATH 中。
例如,在 MacOS 或 Linux 系统上执行下面的命令:
```command
@ -250,9 +250,9 @@ $ kubectl describe pod --namespace kube-system $(kubectl get pods --namespace ku
## 安装步骤
安装Istio的核心部分。从以下四种_**非手动**_部署方式中选择一种方式安装。然而我们推荐您在生产环境时使用[Helm Chart](/docs/setup/kubernetes/helm-install/)来安装Istio这样可以按需定制配置选项。
安装 Istio 的核心部分。从以下四种_**非手动**_部署方式中选择一种方式安装。然而我们推荐您在生产环境时使用 [Helm Chart](/docs/setup/kubernetes/helm-install/) 来安装 Istio这样可以按需定制配置选项。
* 安装Istio而不启用sidecar之间的[双向TLS验证](/docs/concepts/security/mutual-tls/)。对于现有应用程序的集群使用Istio sidecar的服务需要能够与其他非Istio Kubernetes服务以及使用[存活和就绪探针](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/)、headless服务或StatefulSets的应用程序通信的应用程序选择此选项。
* 安装 Istio 而不启用 sidecar 之间的[双向TLS验证](/docs/concepts/security/mutual-tls/)。对于现有应用程序的集群,使用 Istio sidecar 的服务需要能够与其他非 Istio Kubernetes 服务以及使用[存活和就绪探针](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/)、headless 服务或 StatefulSets 的应用程序通信的应用程序选择此选项。
```command
$ kubectl apply -f install/kubernetes/istio-demo.yaml
@ -260,7 +260,7 @@ $ kubectl apply -f install/kubernetes/istio-demo.yaml
或者
* 默认情况下安装Istio并强制在sidecar之间进行双向TLS身份验证。仅在保证新部署的工作负载安装了Istio sidecar的新建的kubernetes集群上使用此选项。
* 默认情况下安装 Istio并强制在 sidecar 之间进行双向 TLS 身份验证。仅在保证新部署的工作负载安装了 Istio sidecar 的新建的 kubernetes 集群上使用此选项。
```command
$ kubectl apply -f install/kubernetes/istio-demo-auth.yaml
@ -268,15 +268,15 @@ $ kubectl apply -f install/kubernetes/istio-demo-auth.yaml
或者
* [使用Helm渲染出Kubernetes配置清单然后使用kubectl部署](/docs/setup/kubernetes/helm-install/#option-1-install-with-helm-via-helm-template)
* [使用 Helm 渲染出 Kubernetes 配置清单然后使用 kubectl 部署](/docs/setup/kubernetes/helm-install/#option-1-install-with-helm-via-helm-template)
或者
* [使用Helm和Tiller管理Istio部署](/docs/setup/kubernetes/helm-install/#option-2-install-with-helm-and-tiller-via-helm-install)
* [使用 Helm Tiller 管理 Istio 部署](/docs/setup/kubernetes/helm-install/#option-2-install-with-helm-and-tiller-via-helm-install)
## 确认安装
1. 确认下列Kubernetes服务已经部署`istio-pilot`、 `istio-ingressgateway`、`istio-policy`、`istio-telemetry`、`prometheus` 、`istio-sidecar-injector`(可选)。
1. 确认下列 Kubernetes 服务已经部署:`istio-pilot`、 `istio-ingressgateway`、`istio-policy`、`istio-telemetry`、`prometheus` 、`istio-sidecar-injector`(可选)。
```command
$ kubectl get svc -n istio-system
@ -291,7 +291,7 @@ $ kubectl apply -f install/kubernetes/istio-demo-auth.yaml
prometheus ClusterIP 30.0.0.253 <none> 9090/TCP 7h
```
> 如果您的集群在不支持外部负载均衡器的环境中运行例如minikube`istio-ingressgateway`的`EXTERNAL-IP`将会显示为`<pending>`状态。您将需要使用服务的NodePort来访问或者使用port-forwarding。
> 如果您的集群在不支持外部负载均衡器的环境中运行(例如 minikube`istio-ingressgateway`的 `EXTERNAL-IP` 将会显示为 `<pending>` 状态。您将需要使用服务的 NodePort 来访问,或者使用 port-forwarding。
1. 确保所有相应的Kubernetes pod都已被部署且所有的容器都已启动并正在运行`istio-pilot-*`、`istio-ingressgateway-*`、`istio-egressgateway-*`、`istio-policy-*`、`istio-telemetry-*`、`istio-citadel-*`、`prometheus-*`、`istio-sidecar-injector-*`(可选)。
@ -310,17 +310,17 @@ $ kubectl apply -f install/kubernetes/istio-demo-auth.yaml
## 部署应用
您可以部署自己的应用或者示例应用程序如[BookInfo](/docs/guides/bookinfo/)。
注意应用程序必须使用HTTP/1.1或HTTP/2.0协议来传递HTTP流量因为HTTP/1.0已经不再支持。
您可以部署自己的应用或者示例应用程序如 [BookInfo](/docs/guides/bookinfo/)。
注意:应用程序必须使用 HTTP/1.1 HTTP/2.0 协议来传递 HTTP 流量,因为 HTTP/1.0 已经不再支持。
如果您启动了[Istio-Initializer](/docs/setup/kubernetes/sidecar-injection/#automatic-sidecar-injection),如上所示,您可以使用`kubectl create`直接部署应用。Istio-Initializer会向应用程序的Pod中自动注入Envoy容器如果运行Pod的namespace被标记为`istio-injection=enabled`的话:
如果您启动了 [Istio-Initializer](/docs/setup/kubernetes/sidecar-injection/#automatic-sidecar-injection),如上所示,您可以使用 `kubectl create` 直接部署应用。Istio-Initializer 会向应用程序的 Pod 中自动注入 Envoy 容器,如果运行 Pod namespace 被标记为 `istio-injection=enabled` 的话:
```command
$ kubectl label namespace <namespace> istio-injection=enabled
$ kubectl create -n <namespace> -f <your-app-spec>.yaml
```
如果您没有安装Istio-initializer-injector的话您必须使用[istioctl kube-inject](/docs/reference/commands/istioctl/#istioctl-kube-inject)命令在部署应用之前向应用程序的Pod中手动注入Envoy容器
如果您没有安装 Istio-initializer-injector 的话,您必须使用 [istioctl kube-inject](/docs/reference/commands/istioctl/#istioctl-kube-inject) 命令在部署应用之前向应用程序的 Pod 中手动注入 Envoy 容器:
```command
$ kubectl create -f <(istioctl kube-inject -f <your-app-spec>.yaml)
@ -328,20 +328,20 @@ $ kubectl create -f <(istioctl kube-inject -f <your-app-spec>.yaml)
## 卸载
* 卸载Istio核心组件。对于该版本卸载时将删除RBAC权限、`istio-system` 命名空间和该命名空间的下的各层级资源。
* 卸载 Istio 核心组件。对于该版本,卸载时将删除 RBAC 权限、`istio-system` 命名空间和该命名空间的下的各层级资源。
不必理会在层级删除过程中的各种报错,因为这些资源可能已经被删除的。
如果您使用`istio-demo.yaml`安装的Istio
如果您使用 `istio-demo.yaml` 安装的 Istio
```command
$ kubectl delete -f install/kubernetes/istio-demo.yaml
```
否则使用[Helm卸载Istio](/docs/setup/kubernetes/helm-install/#uninstall)。
否则使用 [Helm 卸载 Istio](/docs/setup/kubernetes/helm-install/#uninstall)。
## 下一步
* 查看[Bookinfo](/docs/guides/bookinfo/)应用程序示例
* 查看 [Bookinfo](/docs/guides/bookinfo/) 应用程序示例
* 查看如何[验证Istio双向TLS认证](/docs/tasks/security/mutual-tls/)
* 查看如何[验证 Istio 双向 TLS 认证](/docs/tasks/security/mutual-tls/)

View File

@ -0,0 +1,6 @@
---
title: 任务
description: 任务展示如何用 Istio 系统实现特定目标的行为。
weight: 20
type: section-index
---