Kubenetes裏pod和service綁定的實現方式

我以前的文章 如何在Kubernetes裏建立一個Nginx service介紹瞭如何建立一個Kubernetes pod和service,使用的方法是命令kubectl run。node

本文介紹另外一種方式,經過這種方式來學習Kubernetes裏pod和對應的service是如何綁定的。nginx

首先使用下面的命令行建立一個名稱爲jerry-nginx-1982的deployment:tcp

kubectl create deployment jerry-nginx-1982 --image=nginx學習

而後使用命令行kubectl get deployment 獲得建立好的deployment:測試

而後建立一個同名的service,類型爲nodeport。spa

kubectl create service nodeport jerry-nginx-1982 --tcp 80:80命令行

建立完成後,使用命令行kubectl get svc獲得名稱爲jerry-nginx-1982對外暴露的端口號:31954:server

而後就能經過這個端口號訪問nginx server了:rem

那麼這兩個同名的pod和service是如何關聯的呢?get

首先打開kubernetes dashboard,找到以前建立的pod:

其明細爲:jerry-nginx-1982-67cb658cb8-9hl99

再打開同名service:

再打開這個service裏的pod,發現就是咱們前面找到的jerry-nginx-1982-67cb658cb8-9hl99,說明pod和service是經過名稱關聯的。

咱們能夠作一個negative測試,直接建立一個名爲test的service,但不給它預先建立名爲test的pod:

kubectl create service nodeport test --tcp 80:80

service建立成功後,打開這個service,發現裏面沒有分配任何pod:

這個結果和咱們預測的一致。

要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":

相關文章
相關標籤/搜索