引子
許久不見,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源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。