准备工作
下载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
代理时使用。istioctlbin/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。