NodePort就像是您的家門前的一個公共停車位,您的朋友們可以停在那裡,然後步行進入您的房子。在這個比喻中,您的家就是應用程序,公共停車位就是NodePort,而您的朋友則是外部用戶。
當您創建一個Kubernetes的NodePort服務時,您可以為該服務指定一個特定的端口號,稱為NodePort。就像您可能會為公共停車位分配一個號碼一樣,NodePort也有一個號碼,通常在30000到32767之間。然後,Kubernetes會將此NodePort映射到集群中每個工作節點上,這意味著您可以使用任何節點的IP地址和NodePort來訪問應用程序。
舉個例子,如果您的NodePort是31500,那麼您可以使用任何工作節點的IP地址,並將31500端口指向您的應用程序。外部用戶只需知道節點的IP地址和NodePort,就可以訪問您的應用程序,就像他們知道停車位號碼一樣。
NodePort是一種簡單且有效的方式,讓外部用戶能夠訪問集群中運行的應用程序,特別適用於測試和開發環境中的情況。但需要注意,NodePort不提供高級功能,例如負載均衡,所以在生產環境中,通常會使用其他類型的服務來實現更高級的路由和負載均衡。
參考文章:
https://vocus.cc/article/5f4b319dfd89780001b2c68e
https://kubernetes.io/zh-cn/docs/concepts/services-networking/service/
https://kubernetes.io/docs/concepts/services-networking/service/