istioctl 中的一些小工具

引子

許久不見,istioctl 中加入了很多有趣的新命令。裝備黨天然是喜歡小工具了,選幾個有趣的命令分享給你們。微信

Analyze

Istio 的配置是比較繁雜的,相信玩過的朋友都比較有體會,
istioctl x analyze,能夠對 Istio 進行一些檢查,架構

目前該工具支持的檢測範圍包括:app

  • IST0001:ide

    內部錯誤,基本上是屬於實現部分的 Bug。工具

  • IST0002:性能

    對象中存在過時特性。spa

  • IST0101:.net

    應用對象不存在,例若有 VirtualService 無 Workload。rest

  • IST0102:code

    命名空間未開啓自動注入。

  • IST0103:

    有 Pod 沒有注入 Istio Proxy。

  • IST0104:

    網關端口沒有工做負載。

  • IST0105:

    Sidecar 版本和 Istio 版本不一致。

  • IST0106:

    文件格式錯誤。

  • IST0107:

    註解目標錯誤。

  • IST0108:

    未知註解。

  • IST0109:

    網關內 VirtualService 主機名衝突。

  • IST0110:

    Sidecar 對象選擇器重疊。

  • IST0111:

    多於一個 Sidecar 對象沒有負載選擇器。

  • IST0112:

    多端口服務的 VirtualService 缺少選擇。

例如:

$ istioctl x analyze -k
Warn [IST0103] (Pod httpbin-7d9d5b55b9-jslpp.default) The pod is missing its Istio proxy. Run 'kubectl delete pod httpbin-
7d9d5b55b9-jslpp -n default' to restart it
Error: Analyzer found issues.

Dashboard

多是向 Linkerd 致敬?

打開 Istio 的各類儀表盤頁面:

  • controlz:

    打開指定控制平面組件的 ctrlz 界面。

  • envoy:

    打開特定 Pod 的 Envoy 儀表盤

  • grafana:

    缺省 Grafana 頁面

  • jaeger、kiali、zipkin 和 Prometheus 頁面

Metrics

查看指定服務的性能指標:

  • 整體 RPS

  • 錯誤 RPS

  • P50 延遲

  • P90 延遲

  • P99 延遲

Manifest

用於生成或安裝 Istio 清單,例如推薦的安裝方式:istioctl manifest apply --set profile=demo

Profile

幾個內置的安裝配置,用於 Manifest 命令的 set profile,其中包含:

  • minimal

  • remote

  • sds

  • default

  • demo

Describe

根據 Pod 和 Service,獲取相關的配置內容,例如:

$ istioctl x describe service httpbin
Service: httpbin
Port: http 8000/HTTP targets pod port 80
Pod is PERMISSIVE, client protocol unspecified
VirtualService: httpbin
1 HTTP route(s)


本文分享自微信公衆號 - 僞架構師(fake-architect)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索