下载
curl -L https://istio.io/downloadIstio | sh -
上面的命令下载最新版本(用数值表示)的 Istio。 您可以给命令行传递变量,用来下载指定的、不同处理器体系的版本。 例如,要为 x86_64 架构下载 Istio 1.16.1,请运行:
$ curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.16.1 TARGET_ARCH=x86_64 sh -
-
转到 Istio 包目录。例如,如果包是
istio-1.16.1
:$ cd istio-1.16.1
安装目录包含:
samples/
目录下的示例应用程序bin/
目录下的 istioctl 客户端二进制文件。
- 将
istioctl
客户端添加到路径(Linux 或 macOS)
$ export PATH=$PWD/bin:$PATH
或:
cp bin/istioctl /usr/local/bin/
添加命令自动补全
cp tools/istioctl.bash ~/.istioctl.bash
- 有几种部署选择,
istioctl profile list
-
default:根据 IstioOperator API 的默认设置启动组件。 建议用于生产部署和 Multicluster Mesh 中的 Primary Cluster。
您可以运行
istioctl profile dump
命令来查看默认设置。 -
demo:这一配置具有适度的资源需求,旨在展示 Istio 的功能。 它适合运行 Bookinfo 应用程序和相关任务。 这是通过快速开始指导安装的配置。
此配置文件启用了高级别的追踪和访问日志,因此不适合进行性能测试。
-
minimal:与默认配置文件相同,但只安装了控制平面组件。 它允许您使用 Separate Profile 配置控制平面和数据平面组件(例如 Gateway)。
-
remote:配置 Multicluster Mesh 的 Remote Cluster。
-
empty:不部署任何东西。可以作为自定义配置的基本配置文件。
-
preview:预览文件包含的功能都是实验性。这是为了探索 Istio 的新功能。不确保稳定性、安全性和性能
查看详细清单:
istioctl profile dump demo
对于本次安装,我们采用 demo
配置组合。 选择它是因为它包含了一组专为测试准备的功能集合,另外还有用于生产或性能测试的配置组合。
istioctl manifest apply --set profile=demo
给命名空间添加标签,指示 Istio 在部署应用的时候,自动注入 Envoy 边车代理
kubectl label namespace default istio-injection=enabled
安装Kiali和其他插件
kubectl apply -f samples/addons
将kiali Service的Type修改为NodePort
kubectl edit svc kiali -n istio-system
浏览器访问http://192.168.56.35:32738(使用对应的NodeIp和NodePort)
卸载
istioctl manifest generate --set profile=demo | k delete -f -