使用krew指令可以很方便的安裝Ksniff

kubectl krew install sniff

運行一個測試用的nginx

deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 2 # tells deployment to run 2 pods matching the template
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

service

apiVersion: v1
kind: Service
metadata:
  annotations:
  labels:
    app: nginx
  name: nginx
  namespace: default
spec:
  clusterIP: 
  externalTrafficPolicy: Local
  ports:
  - name: web
    nodePort: 30589
    port: 80
    protocol: TCP
    targetPort: 80
  - name: ssl
    nodePort: 30655
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  sessionAffinity: None
  type: LoadBalancer

然後就可以啟動ksniff插件對nginx的pod進行抓取

kubectl sniff nginx-deployment-54f57cf6bf-f824d

如果遇到以下錯誤

執行以下指令

sudo ln -s /Applications/Wireshark.app/Contents/MacOS/tshark /usr/local/bin/tshark
tshark -v

執行以下指令測試

kubectl sniff nginx-deployment-54f57cf6bf-f824d -f "port 80" -o - | tshark -r -

或是直接輸出檔案

kubectl sniff nginx-deployment-54f57cf6bf-f824d -o test

用軟體直接開test檔案

 

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料