kube-proxy

service是一組pod的服務(wù)抽象,相當于一組pod的LB,負責將請求分發(fā)給對應(yīng)的pod。service會為這個LB提供一個IP,一般稱為cluster IP。
kube-proxy的作用主要是負責service的實現(xiàn),具體來說,就是實現(xiàn)了內(nèi)部從pod到service和外部的從node port向service的訪問。

舉個例子,現(xiàn)在有podA,podB,podC和serviceAB。serviceAB是podA,podB的服務(wù)抽象(service)。
那么kube-proxy的作用就是可以將pod(不管是podA,podB或者podC)向serviceAB的請求,進行轉(zhuǎn)發(fā)到service所代表的一個具體pod(podA或者podB)上。
請求的分配方法一般分配是采用輪詢方法進行分配。

另外,kubernetes還提供了一種在node節(jié)點上暴露一個端口,從而提供從外部訪問service的方式。

比如我們使用這樣的一個manifest來創(chuàng)建service

apiVersion: v1kind: Servicemetadata:  labels:    name: mysql    role: service  name: mysql-servicespec:  ports:    - port: 3306      targetPort: 3306      nodePort: 30964  type: NodePort  selector:    mysql-service: "true"

他的含義是在node上暴露出30964端口。當訪問node上的30964端口時,其請求會轉(zhuǎn)發(fā)到service對應(yīng)的cluster IP的3306端口,并進一步轉(zhuǎn)發(fā)到pod的3306端口。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負責任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式