最小轻量级的Istio来了,仅使用流量治理能力

Istio 1.0.1作为8月份的版本已经发布,主要修复了1.0.0版本发布以来发现的一些关键Issue。官网的release notehttps://istio.io/about/notes/1.0.1/)列出了Istio1.0.01.0.1的差别。

Istio涉及的组件和CRD较多,Istio 1.0 中包含了 51 个 CRD,组件包括pilot,galley,policy,telemetry,citadel和许多插件,对想快速试用Istio的同学来说比较困难。


Istio 1.0.1允许部署一个仅包含Pilot组件的最小轻量级的Istio。对想快速上手Istio和只想使用Istio流量治理功能的同学带来了福音。Istio的流量治理功能非常强大,包括配置请求路由,设置请求超时,重试,熔断,故障注入,实现灰度发布等。


下面让我们一起看下如何安装一个最小化的Istio:


首先需要一个已经安装了Kubernetes的环境,下载Istio1.0.1版本:(https://github.com/istio/istio/releases/tag/1.0.1)。


步骤如下


1.通过kubectl apply命令安装Istio的Custom Resource Definitions,等待几秒直到CRDs提交至kube-apiserver:



  1. kubectl apply -f install/kubernetes/helm/istio/templates/crds.yaml




2.通过helm template,渲染Istio核心组件到

istio-minimal.yaml(Kubernetes manifest文件):



  1. helm template install/kubernetes/helm/istio --name istio --namespace istio-system \

  2.   --set security.enabled=false \

  3.   --set ingress.enabled=false \

  4.   --set gateways.istio-ingressgateway.enabled=false \

  5.   --set gateways.istio-egressgateway.enabled=false \

  6.   --set galley.enabled=false \

  7.   --set sidecarInjectorWebhook.enabled=false \

  8.   --set mixer.enabled=false \

  9.   --set prometheus.enabled=false \

  10.   --set global.proxy.envoyStatsd.enabled=false \

  11.   --set pilot.sidecar=false > $HOME/istio-minimal.yaml



3.创建istio-system 的命名空间:



kubectl create namespace istio-system


4.通过第2步生成的manifest安装pilot组件:



  1. kubectl apply -f $HOME/istio-minimal.yaml



5.检查istio-pilot-*  pod 是否部署成功:


 kubectl get pods -n istio-system


最小轻量级的Istio来了,仅使用流量治理能力

只需要5步就可以成功安装一个最小化的Istio,是不是很简单?

赶快尝试一下吧!

最后卸载Istio也很方便:



  1. kubectl delete -f $HOME/istio-minimal.yaml

  2. kubectl delete -f install/kubernetes/helm/istio/templates/crds.yaml -n istio-system



上一篇:istio的原理和功能介绍


下一篇:Istio架构详解