差異處
這裏顯示兩個版本的差異處。
下次修改 | 前次修改 | ||
tech:k8s-netchk [2021/01/23 09:19] – 建立 jonathan | tech:k8s-netchk [2023/04/07 12:43] (目前版本) – [檢測跨 namespace 的 service] jonathan | ||
---|---|---|---|
行 1: | 行 1: | ||
====== K8s 內的網路檢測 ====== | ====== K8s 內的網路檢測 ====== | ||
+ | < | ||
+ | - 在 K8s 內起一個有 curl 的 busybox POD <cli> | ||
+ | kubectl run --rm -it busybox --image yauritux/ | ||
+ | </ | ||
+ | - 直接下 ping / nslookup / curl 等等命令進行網路檢測++看結果|< | ||
+ | rkeuser@iso: | ||
+ | If you don't see a command prompt, try pressing enter. | ||
+ | /home # ping www.ichiayi.com | ||
+ | PING www.ichiayi.com (220.135.35.198): | ||
+ | 64 bytes from 220.135.35.198: | ||
+ | 64 bytes from 220.135.35.198: | ||
+ | ^C | ||
+ | --- www.ichiayi.com ping statistics --- | ||
+ | 2 packets transmitted, | ||
+ | round-trip min/avg/max = 4.992/ | ||
+ | /home # nslookup www.ichiayi.com | ||
+ | Server: | ||
+ | Address 1: 10.43.0.10 kube-dns.kube-system.svc.cluster.local | ||
+ | |||
+ | Name: www.ichiayi.com | ||
+ | Address 1: 220.135.35.198 220-135-35-198.HINET-IP.hinet.net | ||
+ | /home # curl http:// | ||
+ | < | ||
+ | /home # | ||
+ | </ | ||
+ | - 輸入 exit 離開++看結果|< | ||
+ | /home # exit | ||
+ | pod " | ||
+ | </ | ||
+ | </ | ||
+ | |||
因為在 Hyper-V 內建立一個 Ubuntu 20.04 VM 然後起一個 K8s Cluster 卻發現在 K8s 內的服務連不上 VM 內的服務, | 因為在 Hyper-V 內建立一個 Ubuntu 20.04 VM 然後起一個 K8s Cluster 卻發現在 K8s 內的服務連不上 VM 內的服務, | ||
行 21: | 行 52: | ||
containers: | containers: | ||
- name: busybox | - name: busybox | ||
- | image: | + | image: |
command: | command: | ||
- sleep | - sleep | ||
行 38: | 行 69: | ||
===== 使用 pod 安裝相關工具與檢測 ===== | ===== 使用 pod 安裝相關工具與檢測 ===== | ||
* 安裝 curl <cli> | * 安裝 curl <cli> | ||
- | kubectl exec -it busybox-5d5bd64f66-zlvls -- opkg-install curl | + | kubectl exec busybox-5d5bd64f66-zlvls -- opkg-install curl |
</ | </ | ||
* 進行目標網址檢測 <cli> | * 進行目標網址檢測 <cli> | ||
- | kubectl exec -it busybox-5d5bd64f66-zlvls -- ping -c 5 172.16.0.171 | + | kubectl exec busybox-5d5bd64f66-zlvls -- ping -c 5 172.16.0.171 |
- | kubectl exec -it busybox-5d5bd64f66-zlvls -- traceroute 172.16.0.171 | + | kubectl exec busybox-5d5bd64f66-zlvls -- traceroute 172.16.0.171 |
- | kubectl exec -it busybox-5d5bd64f66-zlvls -- curl -k https:// | + | kubectl exec busybox-5d5bd64f66-zlvls -- curl -k https:// |
</ | </ | ||
+ | ===== 關閉檢測的 pod ===== | ||
+ | < | ||
+ | localadmin@devops1: | ||
+ | deployment.apps " | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== 檢測跨 namespace 的 service ===== | ||
+ | * 預設完整服務網址是 {SERVICE_NAME}.{NAMESPACE_NAME}.svc.cluster.local | ||
+ | * Exp. 一個簡易網頁服務 | ||
+ | * SERVICE_NAME : test-20230110-37-master-serv-svc | ||
+ | * NAMESPACE_NAME : test-20230110-37 | ||
+ | * **test-20230110-37-master-serv-svc.test-20230110-37.svc.cluster.local** | ||
+ | * Exp. 在 namespace : test-20230110-37 內的 POD 內可直接使用 service name : test-20230110-37-master-serv-svc 當網址 ++看結果|< | ||
+ | / | ||
+ | |||
+ | < | ||
+ | |||
+ | <html lang=" | ||
+ | < | ||
+ | <meta charset=" | ||
+ | < | ||
+ | < | ||
+ | h3{text-align: | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | * Exp. 在 namespace : test-20230110-37 外的 POD 內需要使用完整的服務網址 : test-20230110-37-master-serv-svc.test-20230110-37.svc.cluster.local ++看結果|< | ||
+ | / | ||
+ | |||
+ | < | ||
+ | |||
+ | <html lang=" | ||
+ | < | ||
+ | <meta charset=" | ||
+ | < | ||
+ | < | ||
+ | h3{text-align: | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
===== 參考網址 ===== | ===== 參考網址 ===== | ||
* https:// | * https:// | ||
{{tag> | {{tag> |