使用 Helm 进行安装
使用 Helm 安装和配置 Istio 的快速入门说明。 这是将 Istio 安装到您的生产环境的推荐安装方式,因为它为 Istio 控制平面和数据平面 sidecar 提供了丰富的配置。
先决条件
安装步骤
要安装 Istio 的核心组件,您可以选择以下四个互斥选项之一。
但是,我们建议您在生产环境使用 Helm Chart 安装 Istio。通过此安装,您可以利用所有选项来根据需要配置和自定义 Istio。
选项1:通过 Helm 的 helm template
安装 Istio
将 Istio 的核心组件呈现为名为
istio.yaml
的 Kubernetes 清单文件:$ helm template install/kubernetes/helm/istio --name istio --namespace istio-system > $HOME/istio.yaml
通过清单文件安装组件
$ kubectl create namespace istio-system $ kubectl create -f $HOME/istio.yaml
选项2:通过 Helm 和 Tiller 的 helm install
安装 Istio
此选项允许 Helm 和 Tiller 管理 Istio 的生命周期。
使用 Helm 升级 Istio 还没有进行全面的测试。
如果还没有为 Tiller 配置 service account,请配置一个:
$ kubectl create -f install/kubernetes/helm/helm-service-account.yaml
使用 service account 在您的集群中安装 Tiller:
$ helm init --service-account tiller
安装 Istio:
$ helm install install/kubernetes/helm/istio --name istio --namespace istio-system
自定义示例:流量管理最小集
Istio 配备了一组丰富而强大的功能,但你可能只需要这些功能的一部分。例如,用户可能只对安装 Istio 的流量管理所需的最小集合感兴趣。
这个示例展示了如何安装使用流量管理功能所需的最小组件集和。
执行以下命令来安装 Pilot 和 Citadel:
$ helm install install/kubernetes/helm/istio --name istio --namespace istio-system \
--set ingress.enabled=false \
--set gateways.istio-ingressgateway.enabled=false \
--set gateways.istio-egressgateway.enabled=false \
--set galley.enabled=false \
--set sidecarInjectorWebhook.enabled=false \
--set mixer.enabled=false \
--set prometheus.enabled=false \
--set global.proxy.envoyStatsd.enabled=false
请确保 istio-pilot-*
和 istio-citadel-*
的 Kubernetes pod 已经部署,并且他们的容器已经启动并运行:
$ kubectl get pods -n istio-system
NAME READY STATUS RESTARTS AGE
istio-citadel-b48446f79-wd4tk 1/1 Running 0 1m
istio-pilot-58c65f74bc-2f5xn 2/2 Running 0 1m
在这个最小集合之下,您安装您自己的应用并为实例配置请求路由。 您需要手动注入 sidecar。
安装选项 中有选项的完整列表,可以让您根据自己的需要对 Istio 安装进行裁剪。
卸载
对于选项1,使用
kubectl
进行卸载:$ kubectl delete -f $HOME/istio.yaml
对于选项2,使用 Helm 进行卸载:
$ helm delete --purge istio
如果您的 Helm 版本低于 2.9.0,那么在重新部署新版 Istio chart 之前,您需要手动清理额外的 job 资源:
$ kubectl -n istio-system delete job --all
See also
描述了使用 Helm chart 安装 Istio 时可以使用的选项。
基于 GKE 的 Istio 多集群安装。
对 Google Kubernetes Engine(GKE)集群进行配置以便安装运行 Istio。
多 IBM Cloud Private 集群安装 Istio 示例。
安装支持多集群的 Istio。
这里讲述了 Istio 对 Kubernetes 中 Pod 和服务的要求。