日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

節點池服務拓撲管理

原生Kubernetes Service的后端端點扁平分布在集群中任意節點。因此,跨越不同分組節點的Service流量,會大概率出現訪問不可達、或者訪問效率低下的問題。Service流量拓撲支持邊緣節點應用只能由相同節點池的節點訪問,或者只能由本節點訪問。本文介紹Service流量拓撲管理功能以及如何配置Service流量拓撲。

背景信息

在邊緣計算場景下,邊緣節點通常具備很強的區域性、地域性或者其他邏輯上的分組特性(比如具有相同的CPU架構、運營商或云提供商),不同分組的節點間往往存在網絡不互通、資源不共享、資源異構、應用獨立等明顯的隔離屬性。

Service流量拓撲管理實現原理

為了解決上述問題,容器服務 Edge 版基于原生的Service,增加了Endpoint的拓撲管理功能,即通過簡單配置來限制Service后端Endpoint的訪問范圍。例如,邊緣節點應用只能由相同節點池的節點訪問,或者只能由本節點訪問。具體實現原理如下圖所示。

image
  • Service1關聯后端Pod2和Pod3兩個實例,且Service1通過annotation:"openyurt.io/topologyKeys: kubernetes.io/zone"配置了其拓撲節點池范圍。

  • Pod2所在的節點2和Pod3所在的節點4分別屬于兩個不同的節點池A和節點池B。

  • 因為Pod3和Pod1不在一個節點池,當Pod1訪問Service1時,流量只會轉發到Pod2上,訪問Pod3的流量被限制。

注意事項

  • v1.26.3-aliyun.1以下版本:創建Service時,需要同步配置Service的流量拓撲注解,流量拓撲功能才能生效。如果Service創建完成后,再增加注解配置,流量拓撲功能無法生效,此時需要刪除該Service,重新創建。

  • v1.26.3-aliyun.1及以上版本:Service拓撲注解支持創建后修改,修改后Service拓撲功能會立即生效。

注解說明

通過在原生的Service上添加Annotation實現流量的拓撲配置,相關參數如下所示。

annotation Key

annotation Value

說明

openyurt.io/topologyKeys

kubernetes.io/hostname

限制Service只能被本節點訪問。

openyurt.io/topologyKeys

kubernetes.io/zone或openyurt.io/nodepool

限制Service只能被本節點池的節點訪問。ACK Edge集群版本如果大于等于1.18,推薦您使用openyurt.io/nodepool。

-

-

Service不做任何拓撲限制。

配置Service流量拓撲

您可以通過控制臺或命令行兩種方式進行Service流量拓撲配置。

方式一:通過控制臺配置Service流量拓撲

若您需要創建一個限制在本節點池內被訪問的Service,只需要給Service添加注解即可。例如將名稱配置為openyurt.io/topologyKeys配置為kubernetes.io/zone。關于創建服務的更多信息,請參見Service快速入門

G-9

方式二:通過命令行配置Service流量拓撲

新建一個使用節點池拓撲域的Service,YAML樣例如下。

apiVersion: v1
kind: Service
metadata:
  annotations:
    openyurt.io/topologyKeys: kubernetes.io/zone
  name: my-service-nodepool
  namespace: default
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 8080
  selector:
    app: nginx
  sessionAffinity: None
  type: ClusterIP