選單
GSS 技術部落格
在這個園地裡我們將從技術、專案管理、客戶對談面和大家分享我們多年的經驗,希望大家不管是喜歡或是有意見,都可以回饋給我們,讓我們有機會和大家對話並一起成長!
若有任何問題請來信:gss_crm@gss.com.tw
2 分鐘閱讀時間 (497 個字)

Kubernetes 網路出不去?

Untitled

如封面圖所表示的,myPod 連外時好時壞,讓我們看看要解幾道謎題才能克服? 

首先,我們可能想知道是不是對方的問題,所以拉到外面,看 Ubuntu --> Internet 一直是好的,代表我們在 Internet 上的目的沒有問題。

再來,把想去的 IP 找出來,如果從 myPod 用 IP 可以找到對方,但名稱不行,就開始懷疑 DNS 解析。那麼要如何下手呢?第一個想到的是 CoreDNS 是不是快取錯誤的內容?要清除掉。

kubectl rollout restart -n kube-system deploy/coredns

myPod 本身也可能有一樣的問題,這牽涉到各種作業系統與版本都有不一樣的作法。重點是,myPod 本身可能為了最小化而拔掉許多工具,如果是為了測試一下就要裝,未免有些麻煩。沒關係,網路上有人提出了一個好辦法,在 myPod 隔壁(網路條件相同)開一個臨時的 BusyBox 驗證。

kubectl run -it --rm --restart=Never BusyBox --image=busybox -- nslookup google.com

與 myPod 類似條件並沒有問題,但是 myPod 即使重啟也不能排除問題的話,真的有點令人束手無策的感覺。後來偶然發現,在 Ubuntu 的 /etc/resolv.conf 裡面有一行比較令人意外的內容:

search gss.com.tw

這與我們的 FortiVPN 有關,在連上 VPN 的當下,這行會自動被加入,讓 Ubuntu 被視為內網的機器。但問題是「它不會自動恢復」,也就是斷開 VPN 後,Ubuntu 還是會保留搜尋網域,裡面的 K3s myPod 也同樣受影響。但斷開 VPN 之後臨時開出來的 BusyBox 則不受此約制,才造成了這麼怪異的狀況。解決之道,在斷開 VPN 後,如果看到 Ubuntu /etc/resolv.conf 有這種「不相干的設定」,把它刪掉,再重開我們的 myPod,就可以正常連到 Internet。

Exit Code 139
追蹤憑證鍊驗證失敗問題
 

評論

尚無評論
已經注冊了? 這裡登入
Guest
2025/06/09, 週一

Captcha 圖像