5.4 常用的istioctl命令

上一章

5.5 注意事项与技巧

下一章

更多图书

5.4.2 常用命令

先说明一下,如下的示例中productpage-v1-8d69b45c-2z8v5为官方示例bookinfo中productpage的Pod名称,需要通过如下命令先获取Pod名称:


$ kubectl get pod productpage

(1)手动注入Envoy代理

手动注入Envoy代理到Pod中,用于没有开启自动注入的情况,可以使用参数--file(-f)指定配置文件,使用形式如下:


istioctl kube-inject [flags]

示例如下:


$ kubectl apply -f <(istioctl kube-inject -f mydeployment.yaml)
$ istioctl kube-inject -f deployment.yaml -o deployment-injected.yaml
$ kubectl get deployment -o yaml | istioctl kube-inject -f - | kubectl apply -f -

(2)获取启动时的配置信息

在指定的Pod中获取Envoy实例启动时的配置信息,使用形式如下:


istioctl proxy-config bootstrap <pod-name> [flags]

示例如下:


$ istioctl proxy-config bootstrap productpage-v1-8d69b45c-2z8v5

(3)获取集群配置信息

从指定Pod中的Envoy实例里读取集群配置信息,使用形式如下:


istioctl proxy-config cluster <pod-name> [flags]

示例如下:


$ istioctl proxy-config cluster productpage-v1-8d69b45c-2z8v5
$ istioctl proxy-config cluster productpage-v1-8d69b45c-2z8v5 --port 9080
$ istioctl proxy-config cluster productpage-v1-8d69b45c-2z8v5 --fqdn details.default.svc.cluster.local --direction outbound -o json

(4)获取监听器信息

从指定Pod中的Envoy实例里读取监听器信息,使用形式如下:


istioctl proxy-config listener <pod-name> [flags]

示例如下:


$ istioctl proxy-config listener productpage-v1-8d69b45c-2z8v5
$ istioctl proxy-config listener productpage-v1-8d69b45c-2z8v5 --port 9080
$ istioctl proxy-config listener productpage-v1-8d69b45c-2z8v5 --type HTTP --address 0.0.0.0 -o json

(5)获取路由配置信息

从指定Pod中的Envoy实例里读取路由配置信息,使用形式如下:


istioctl proxy-config route <pod-name> [flags]

示例如下:


$ istioctl proxy-config route productpage-v1-8d69b45c-2z8v5
$ istioctl proxy-config route productpage-v1-8d69b45c-2z8v5 --name 9080
$ istioctl proxy-config route productpage-v1-8d69b45c-2z8v5 --name 9080 -o json

(6)获取配置的同步状态

获取Pilot到网格中每个Envoy的配置同步状态,使用形式如下:


istioctl proxy-status [<proxy-name>] [flags]

示例如下:


$ istioctl proxy-status
$ istioctl proxy-status productpage-v1-8d69b45c-2z8v5.default