美文网首页
kubernetes的基本概念6 service 深入探讨

kubernetes的基本概念6 service 深入探讨

作者: Treesea2 | 来源:发表于2018-04-09 15:08 被阅读19次

基本概念5中简单的介绍了一下 service,但是感觉还是不是很清晰,下边根据一位台湾网友的博客深化一下:

A Kubernetes Service is an abstraction which defines a logical set of Pods and a policy by which to access them.

service是一个定义了一组逻辑上Pods和如何访问这组Pods的抽象概念

三个问题:

谁会使用 Service ?

什么是逻辑上的一群 Pod?

什麼是访问规则?

==

1.谁会使用 Service ?

集群内部其他的Pod                   访问路径3->2

集群外部的访问者                      访问路径1->2

2.什么是逻辑上的一群 Pod?

如何上图中,颜色不同的Pod

3.什么是访问规则?

就是如何访问的规则,比方說 TCP/UDP、Port 等等相关规则。

Service 定义三个主要的模块儿:

1.服務元資料 (Metadata)

2.被存取的應用之標籤 (Label)

3.存取該服務的方式

接着上边说,其实一个service就像一个路由器,它有两个IP,外部IP和内部IP。

例如:

当外部访问Pod的时候,走的路线是 1->2  iptables NAT 將 destination 替換成Pod IP

当内部访问Pod的时候,走的路线是 3->2 iptables NAT 將 destination 替換成Pod IP

label selector 的作用:

label selector配合service 可以对Pod进行筛选:

Example1:    流量會流向全部帶有svc: http-server標籤的 Pod

Example2:    流量會流向全部帶有svc: http-server且 (AND) 擁有lang: python 的 Pod


Reference:

Kubernetes Service 概念詳解 | Kubernetes

Kubernetes Service 深度剖析 - 存取路徑差異 | Kubernetes

Kubernetes Service 深度剖析 - 標籤對於 Service 的影響 | Kubernetes


全文完

相关文章

网友评论

      本文标题:kubernetes的基本概念6 service 深入探讨

      本文链接:https://www.haomeiwen.com/subject/nprihftx.html