問題詳述
最近新拉了一個K8s 1.17版本的集群,由于服務器資源有限,只有一個Master和一個Minion,就把Master設置為可分配業務Pod。
由于Master和Minion為同性質工作,后來重啟K8s集群的時候,有一個CoreDNS被分配到了Minion主機上。
當時也沒太留意,只是在啟動一個服務的時候,發現只能訪問外網的IP,不能通過域名方面,感覺好奇怪。
查看了下/etc/resolv.conf里面的配置啥的也都正確,按理來說不應該出現問題。
由于用的是Centos7操作系統,就把Firewalld給關閉了嘗試下,就可以正常通過域名訪問,由此可見還是Firewalld給攔截了。
考慮到Firewalld的攔截,很奇怪,因為我們的pod是訪問外網,不是外面訪問它,應該不是開放端口的問題,最后查看了下宿主機上的NAT路由轉發,結果發現,Master上的處于開啟狀態,Minion上的處于關閉狀態,怪不得無法訪問外網的域名服務器進行域名的正常解析,開啟后,一切正常。
[root@master ~]# firewall-cmd --query-masquerade
no
[root@master ~]# firewall-cmd --permanent --zone=public --add-masquerade
success
[root@master ~]# firewall-cmd --reload
success
[root@master ~]# firewall-cmd --query-masquerade
yes
[root@master ~]#