在前面課程我們最早有透過Configuration File建立以下的Service:
現在先將其移除,改為使用Node Port重新編寫"nginx-service.yaml"建立:
- 也就是service的Configuration File預設使用的是”ClusterIP”,亦即
- ClusterIP = internal service
- NodePort = external service
- 原本既有內部Pod服務串接使用的PORT都不變,僅僅多出了NodePORT
- 至於NodePort是啥,詳下圖
- NodePort可提供給Cluster外部串接的PORT
- 上述30000 PORT也不是隨便定義,是要worker機當初防火牆開設的範圍
- 為了怕忘了我開了那些NodePort,就先從3000開始用
- 接著當然是利用這個文件來建立Service,執行:
kubectl apply -f {剛剛上面改好的nginx-service.yaml}
此時理論上服務就對外(Cluster之外)暴露了,並且可以從兩台worker進去
我挑選其中一台,在介面上取得公開IP位置:
同樣試試另一台worker是否也可以進去:
- 其請求順序可以理解為如下:
用指令檢查service元件則可以看到:
但是最終使用NodePort方式建立出來的對外暴露服務,並不適合給User使用
因為還要請User記IP,記Port實在不夠友善
並且也不夠安全
所以NodePort適合用於測試用途,下一篇將講解其他對外暴露服務的方式