k8s 網路工具 nsenter

2021-10-25 12:46:47 字數 1373 閱讀 2215

k8s 工具

借助nsenter命令進入容器命名空間進行抓包和網路診斷

#!/bin/bash

ns=$1

#傳參1:命名空間

pod_name=

$2#傳參2:pod名稱

container_id=

$(kubectl describe pod -n $ns $pod_name |

grep

"container id:"

|cut -d '/' -f 3 |

cut -c 1-12)

node=

$(kubectl get pods -n $ns $pod_name -o wide |

awk''

|grep -v node)

docker_id=

'docker_id1=$(docker inspect -f

}'read -t 30 -p "是否建立遠端連線確認y/n:" num1

if[ $num1 == y ]

;then

echo

"-----------------節點輸入-----------------"

echo "$docker_id $container_id)

" docker_id1="$docker_id

$container_id"

echo 'nsenter -n --target $docker_id1

' echo "------------------------------------------"

read -t 30 -p "ssh連線使用者名稱:" name

ssh $name@

$node

else

echo "-----------------節點輸入-----------------"

echo "$docker_id

$container_id)"

docker_id1="$docker_id

$container_id"

echo 'nsenter -n --target $docker_id1'

echo

"------------------------------------------"

fibash k8s_ns.sh kube-system coredns-7cccdb8747-qz***

#執行指令碼並傳參

指令碼命令解析

檢視指定 pod 執行的容器 id

獲得容器程序的 pid(進入pod節點)

進入該容器的 network namespace(進入pod節點)

k8s網路基礎

為了保證網路方案的標準化 擴充套件性和靈活性,k8s 採用了 container networking inte ce cni 規範。cni 是由 coreos 提出的容器網路規範,它使用了外掛程式 plugin 模型建立容器的網路棧。它要求任何實現機制都必須滿足以下需求 因為k8s只約定了網路實現...

k8s 網路模式

1 clusterip kind service apiversion v1 metadata name my service spec selector ports protocol tcp port 80 targetport 80 root k8s master rc test kubectl...

容器編排工具k8s

如何實踐 1 搜尋kubunetes online kubernetes playground katacoda pod k8s最小排程單位 docker pause 二個容器 deployments 維持pod一定數量 service 解決deploytemnets內部之間的乙個負載均衡 dns解...