命令:
检查envoy代理的配置信息。使用 proxy-config
或者 pc
命令
1. 检索特定 pod 中 Envoy 实例的集群配置的信息:
istioctl proxy-config cluster <pod-name> [flags]
2. 检索特定 pod 中 Envoy 实例的 bootstrap 配置的信息:
istioctl proxy-config bootstrap <pod-name> [flags]
3. 检索特定 pod 中 Envoy 实例的监听器配置的信息:
istioctl proxy-config listener <pod-name> [flags]
4. 检索特定 pod 中 Envoy 实例的路由配置的信息:
istioctl proxy-config route <pod-name> [flags]
5. 检索特定 pod 中 Envoy 实例的 endpoint 配置的信息:
istioctl proxy-config endpoints <pod-name> [flags]
获取网格概况(proxy-status)
使用场景:怀疑某一个 sidecar 没有接收到配置或配置不同步时
istioctl proxy-status
如果列表中缺少代理,这意味着它目前没有连接到 Istiod 实例,因此不会接收任何配置。
- SYNCED 意思是 Envoy 知晓了 Istiod 已经将最新的配置发送给了它。
NOT SENT
意思是 Istiod 没有发送任何信息给 Envoy。这通常是因为 Istiod 没什么可发送的。STALE
意思是 Istiod 已经发送了一个更新到 Envoy,但还没有收到应答。这通常意味着 Envoy 和 Istiod 之间存在网络问题,或者 Istio 自身的 bug。
Istioctl自动补全
安装 bash-completion
yum install bash-completion
添加到~/.bash_profile中:
[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"