準備工作
- 下載istio,下載頁面,下載與您的操作系統相對應的安裝文件。Linux上可以直接執行下面命令下載並解壓最新版
curl -L https://istio.io/downloadIstio | sh -
- 移至Istio軟件包目錄。例如,如果軟件包爲
istio-1.4.2
:cd istio-1.4.2
安裝目錄包含:
- Kubernetes的安裝YAML文件在
install/kubernetes
- 中的示例應用程序
samples/
- 目錄中的客戶端二進制文件。手動注入Envoy作爲Sidecar代理時使用。
istioctl
bin/
istioctl
- 將istioctl命令添加到環境變量,如下命令是臨時加入
export PATH=$PWD/bin:$PATH
兩種安裝方式:
istio在kubenetes上有兩種安裝方式,參考官網
helm template方式安裝Istio
- 創建namespace
kubectl create namespace istio-system
- 安裝所有istio的CRD
先將template導出到istio.yaml
helm template install/kubernetes/helm/istio-init --name istio-init --namespace istio-system > istio.yaml
然後執行
kubectl apply -f istio.yaml
或者,兩個步驟合二爲一
helm template install/kubernetes/helm/istio-init --name istio-init --namespace istio-system | kubectl apply -f -
- 等待所有CRD創建完畢
kubectl -n istio-system wait --for=condition=complete job --all
- 使用默認配置安裝isito,其它配置參考官網,同上,命令也可以分開執行
helm template install/kubernetes/helm/istio --name istio --namespace istio-system | kubectl apply -f -
helm install方式安裝Istio
- 爲Tiller創建service-account,如果已安裝好Tiller直接跳過。
kubectl apply -f install/kubernetes/helm/helm-service-account.yaml
- 安裝Tiller,如果已安裝好Tiller直接跳過。
helm init --service-account tiller
- 安裝istio-init,其中包括了創建istio的CRDs。
helm install install/kubernetes/helm/istio-init --name istio-init --namespace istio-system
- 等待CRD創建完成。
kubectl -n istio-system wait --for=condition=complete job --all
- 使用默認配置安裝istio,其它配置參考官網
helm install install/kubernetes/helm/istio --name istio --namespace istio-system
確定安裝完成
kubectl get svc -n istio-system
kubectl get pods -n istio-system
卸載Istio
使用helm template安裝方式卸載
helm template install/kubernetes/helm/istio --name istio --namespace istio-system | kubectl delete -f -
kubectl delete namespace istio-system
使用helm install安裝方式卸載
helm delete --purge istio
helm delete --purge istio-init
helm delete --purge istio-cni
kubectl delete namespace istio-system
刪除CRDs
kubectl delete -f install/kubernetes/helm/istio-init/files
以上就是通過默認配置安裝和卸載istio。