接着,按照以下步骤安装部署Istio。
1)进入Istio release下载页面。从https://github.com/istio/istio/releases下载对应目标操作系统的安装文件。在macOS或者Linux系统中,还可以运行下面的命令,进行下载和自动解压缩:
curl -L https://git.io/getLatestIstio | sh -
2)进入Istio包目录。例如,假设这个安装包是istio-1.4.0,进入该目录,即执行cd istio-1.4.0。
安装目录中包含:
·install/目录中包含Kubernetes安装所需的.yaml文件。
·samples/目录中包含示例应用。
·bin/目录中保存istioctl客户端文件,istioctl的功能是手工进行Envoy Sidecar的注入等其他操作。
·istio.VERSION配置文件。
然后,把istioctl客户端加入PATH环境变量。
3)通过Helm命令,安装istio-init Helm Chart以创建所有Istio所需的自定义资源CRD,如下所示:
helm install install/kubernetes/helm/istio-init --name istio-init --namespace istio-system
4)使用以下命令验证是否已将所有Istio CRD提交到Kubernetes api-server:
kubectl get crds | grep 'istio.io\|certmanager.k8s.io' | wc -l
5)通过Helm命令,安装istio Helm Chart以创建Istio组件,如下所示:
helm install install/kubernetes/helm/istio --name istio --namespace istio-system
6)如果要卸载Istio,可以按照如下方式进行:
helm delete --purge istio helm delete --purge istio-init
按照设计原则,Istio期望安装文件CRD中包含的Istio的自定义资源能够提交到Kubernetes环境中。CRD包含运维者设置的一些运行时配置。因此,我们认为应该交与运维者来明确是否、什么时候删除运行时的配置数据更为合适,而不是随意删除它。需要注意一点的是,删除CRD会永久删除你对Istio所做的任何配置更改。
在istio-init Helm Chart包含的目录istio-init/f iles中,定义了Istio所需的所有自定义资源CRD。获取此Helm Chart后,只需通过kubectl删除这些CRD即可,如下所示:
kubectl delete -f install/kubernetes/helm/istio-init/files