Basic - Creating a Service
什麼是 Service
在 Kubernetes 中,Service 是一種抽象層,用來將一組 Pod 暴露給外界或內部系統進行訪問。它提供了一個穩定的 IP 地址和 DNS 名稱,讓客戶端應用程式能夠通過這些地址與 Pod 進行通信,而不必關心 Pod 的具體 IP 地址或生命周期。Service 有多種類型,可以根據需求選擇合適的配置。
A Kubernetes Service is an abstraction which defines a logical set of Pods and a policy by which to access them.
Kubernetes Service 是個抽象化的概念,主要定義了邏輯上的一群 Pod 以及如何存取他們的規則。
Service 的基本概念
Kubernetes 中的 Service 有以下幾個關鍵功能:
- 抽象 Pod 的訪問:Pod 的 IP 地址是動態變化的,Service 能夠幫助外部或其他 Pod 不受這些變化的影響進行通信。
- 負載均衡:Service 會將流量分發到後端的 Pod,實現負載均衡。
- 提供穩定的 DNS 名稱:Kubernetes 會為每個 Service 分配一個 DNS 名稱,方便其他服務調用。
Service 的類型
Kubernetes 支持多種類型的 Service,每種類型的用途和工作方式有所不同:
1. ClusterIP(預設類型)
只在集群內部暴露 Service,客戶端只能在集群內部訪問,不會暴露外部訪問的入口。
2. NodePort
在每個節點上分配一個端口,外部可以通過這個端口訪問 Service。通常與外部負載均衡器一起使用。