美文网首页
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