istio之ControlZ功能简介

Istio 的组件使用了一种灵活的内检(Introspection)框架构建,因此可以方便地查看和调整正在运行中组件的内部状态。 组件会开启一个端口,用来通过浏览器得到查看组件状态的交互式视图,或者供外部工具通过 REST 接口进行连接和控制。
Mixer、Pilot 和 Galley 都实现了 ControlZ 功能。这些组件启动时将打印一条日志,提示通过 ControlZ 进行交互需连接到的 IP 地址和端口。

当启动组件时,可以通过命令行参数 --ctrlz_port--ctrlz_address 指定特定的地址和端口来控制 ControlZ 暴露的地址

要访问已部署组件(例如 Mixer、Galley、Pilot)的 ControlZ 页面,可以用端口转发的方式将 ControlZ 映射到本地,然后用浏览器访问:

kubectl port-forward -n istio-system <podname> 9876:9876
或者
kubectl port-forward --address 0.0.0.0 $(kubectl -n istio-system get pods -l istio=pilot -o jsonpath='{.items[0].metadata.name}') -n istio-system 30050:9876