我正在 Ubuntu 上調試 Microk8s 的 DNS 問題,我無法從 Pod 內部與外部服務通訊。我現在發現這microk8s kubectl get nodes
會導致返回 2 個節點,而根據我的理解,應該只有一個節點(單一安裝的單一機器):
NAME STATUS ROLES AGE VERSION
hostname.domain.com NotReady <none> 47d v1.19.3-34+a56971609ff35a
hostname Ready <none> 38h v1.19.5-34+8af48932a5ef06
所有 Pod/服務/控制器都在 上運行hostname
,其中 DNS 似乎不起作用。所以我嘗試按照以下方式從叢集中刪除該節點https://stackoverflow.com/questions/35757620/how-to-graceously-remove-a-node-from-kubernetes。重新啟動 microk8s 後,該節點又回來了。
由於兩個節點共享相同的配置,甚至相同的 IP,我想嘗試切換hostname.domain.com
為唯一節點。我怎樣才能做到這一點?
答案1
我失去了耐心,因為這是一台開發機器,所以我走上了木路線:
microk8s reset
sudo snap remove microk8s
sudo snap install microk8s --classic --channel=1.19
這解決了所有問題。