添加 CloudNative/Kubernetes/Base/k8s抓包.md
This commit is contained in:
parent
9267d3f324
commit
2afc4b5819
1 changed files with 30 additions and 0 deletions
30
CloudNative/Kubernetes/Base/k8s抓包.md
Normal file
30
CloudNative/Kubernetes/Base/k8s抓包.md
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
## 通过 ephemeral containers 抓包
|
||||||
|
```shell
|
||||||
|
# 临时容器
|
||||||
|
# 1.16引入该功能,1.23以上版本默认开启该功能
|
||||||
|
# 修改POD_NAME及CONTAINER_NAME
|
||||||
|
kubectl debug -i ${POD_NAME} --image=nicolaka/netshoot --target=${CONTAINER_NAME} -- tcpdump -i eth0 -w - | wireshark -k -i -
|
||||||
|
```
|
||||||
|
|
||||||
|
## ksniff
|
||||||
|
ksniff 是一个 kubectl 的插件,它利用 tcpdump 和 Wireshark 对 Kubernetes 集群中的任何 Pod 启动远程抓包
|
||||||
|
#### 安装 Krew
|
||||||
|
```shell
|
||||||
|
( set -x; cd "$(mktemp -d)" && \
|
||||||
|
curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.tar.gz" && \
|
||||||
|
tar zxvf krew.tar.gz && \
|
||||||
|
KREW=./krew-"$(uname | tr '[:upper:]' '[:lower:]')_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/arm.*$/arm/')" && \
|
||||||
|
"$KREW" install krew )
|
||||||
|
export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 安装 sniff 插件
|
||||||
|
```shell
|
||||||
|
kubectl krew install sniff
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 远程抓包
|
||||||
|
```shell
|
||||||
|
# 修改POD_NAME及NAMESPACE
|
||||||
|
kubectl sniff ${POD_NAME} -n ${NAMESPACE} -o tcpdump.pcap
|
||||||
|
```
|
Loading…
Add table
Add a link
Reference in a new issue