這是本文件的舊版!
K8s 內的網路檢測
因為在 Hyper-V 內建立一個 Ubuntu 20.04 VM 然後起一個 K8s Cluster 卻發現在 K8s 內的服務連不上 VM 內的服務, 以下是將檢測 K8s 網路的相關語法紀錄下來.
在 K8s 內起一個檢測的 pod
- 定義 pod 內容 k8s-chk.yml
apiVersion: apps/v1 kind: Deployment metadata: name: busybox namespace: default spec: replicas: 1 selector: matchLabels: app: busybox template: metadata: labels: app: busybox spec: containers: - name: busybox image: progrium/busybox command: - sleep - "3600" imagePullPolicy: IfNotPresent
- 啟動檢測 pod
kubectl apply -f k8s-chk.yml
localadmin@iiidevops1:~/test$ kubectl apply -f k8s-chk.yml deployment.apps/busybox created
- 取得 pod name
kubectl get pod | grep busybox
localadmin@iiidevops1:~/test$ kubectl get pod | grep busybox busybox-5d5bd64f66-zlvls 1/1 Running 0 2m29s
使用 pod 安裝相關工具與檢測
- 安裝 curl
kubectl exec -it busybox-5d5bd64f66-zlvls -- opkg-install curl
- 進行目標網址檢測
kubectl exec -it busybox-5d5bd64f66-zlvls -- ping -c 5 172.16.0.171 kubectl exec -it busybox-5d5bd64f66-zlvls -- traceroute 172.16.0.171 kubectl exec -it busybox-5d5bd64f66-zlvls -- curl -k https://172.16.0.171:5443/