Pod
K8S中最基礎的調度單位是Pod,它有網絡,有存儲。Pod里面運行着一個或者若干個docker容器。同一個Pod里的容器共享同一個網絡命名空間,可以使用localhost互相通信。可以理解成Pod就是一台主機,docker容器是運行在主機上的進程。
Replication Controller
我們一般不會手動自己創建Pod,這樣很難管理。利用Replication Controller,可以定義Pod運行內容,副本的個數等信息,它的升級版本是 ReplicaSet。現在已經創建了Pod的一些副本,那么在這些副本上如何均衡負載呢?我們需要的是Service。
Service
可以把一組Pod組成服務 Service,Service有一個虛擬的ClusterIP,服務訪問可以通過ClusterIP作為統一請求入口,因為一個 Service 對應一組Pod,所以可以做到負載均衡。服務可以通過 NodePort,LoadBalancer的方式暴露對外服務。注意 type = LoadBalancer需要雲服務平台提供基礎的服務,自建的K8S集群默認是沒有這個東西的。如果在阿里雲上定義服務 type = LoadBalancer 后,你會發現,在管理后台的負載均衡頁面,會增加一個負載均衡器