Istio 问题,pilot-discovery 命令在哪里?

Istio question, where is pilot-discovery command?

Istio问题,pilot-discovery命令在哪里? 我能找到。在 istio-1.8.0 目录中没有名为 pilot-discovery 的命令。

pilot-discovery command是飞行员使用的命令,现在是istiod的一部分。

istiod unifies functionality that Pilot, Galley, Citadel and the sidecar injector previously performed, into a single binary.

您可以通过

获取您的 istio pods
kubectl get pods -n istio-system

使用 kubectl exec 进入你的 istiod 容器

kubectl exec -ti <istiod-pod-name> -c discovery -n istio-system -- /bin/bash

使用 istio documentation 中提到的 pilot-discovery 命令。

例如

istio-proxy@istiod-f49cbf7c7-fn5fb:/$ pilot-discovery version                 
version.BuildInfo{Version:"1.8.0", GitRevision:"c87a4c874df27e37a3e6c25fa3d1ef6279685d23", GolangVersion:"go1.15.5", BuildStatus:"Clean", GitTag:"1.8.0-rc.1"}

如果您对代码感兴趣:https://github.com/istio/istio/blob/release-1.8/pilot/cmd/pilot-discovery/main.go

我自己编译二进制文件

1 download istio project.
2 make build
3 set golang proxy
4 cd out

您将看到二进制文件。