最小輕量級的Istio來了,僅使用流量治理能力

Istio 1.0.1作爲8月份的版本已經發布,主要修復了1.0版本發佈以來發現的一些關鍵Issue.官網的release note(https://istio.io/about/notes/1.0.1/)列出了Istio1.0和1.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. 如果使用2.10.0之前的Helm版本,可以通過kubectl apply命令安裝Istio的Custom Resource Definitions,等待幾秒直到CRDs提交至kube-apiserver:

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

  1. 通過helm template安裝,渲染Istio核心組件到istio-minimal.yaml(Kubernetes manifest文件) :

helm template install/kubernetes/helm/istio --name istio --namespace istio-system \
--set security.enabled=false \
--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 \
--set pilot.sidecar=false > $HOME/istio-minimal.yaml

  1. 創建istio-system 的命名空間:
    kubectl create namespace istio-system
  2. 通過第2步生成的manifest安裝pilot組件:
    kubectl apply -f $HOME/istio-minimal.yaml
  3. 檢查istio-pilot-* pod 是否部署成功:
    kubectl get pods -n istio-system
    NAME READY STATUS RESTARTS AGE
    istio-pilot-58c65f74bc-2f5xn 1/1 Running 0 1m

只需要5步就可以成功安裝一個最小化的Istio,是不是很簡單?趕快嘗試一下吧,
最後卸載Istio也很方便:
kubectl delete -f $HOME/istio-minimal.yaml
kubectl delete -f install/kubernetes/helm/istio/templates/crds.yaml -n istio-system

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章