2.2.4 安装部署Istio

接着,按照以下步骤安装部署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