更新时间:2024-09-24 GMT+08:00

服务亲和

设置成节点亲和在某些场景下可能导致无法访问ELB,具体情况请参考 集群内部无法使用ELB地址访问负载处理。

  1. 进入CCE Console页面,单击“集群名称--服务--服务”,单击要操作服务更多列的“编辑YAML”。
  2. 通过YAML配置如下参数:

    spec:
      type: LoadBalancer
      externalTrafficPolicy: Local
      allocateLoadBalancerNodePorts: true

    也可在步骤1服务页面单击更多操作列的“更新”在更新服务页面进行设置。

    参数说明:

    参数

    说明

    服务亲和(externalTrafficPolicy)

    有如下两个取值:

    集群级别(cluster):请求会在集群内转发,从任意节点IP+服务端口都能访问到后端工作负载。服务访问会因路由跳转导致一定性能损失,且无法获取到客户端源IP。

    节点级别(local):请求只会转发给本节点上的Pod,如果节点没有Pod的话请求会挂起。

    当使用CCE Turbo集群 + 独享型ELB实例时,支持ELB直通Pod,使部署在容器中的业务时延降低、性能无损耗;此时取值必须为集群级别(cluster)。

    其他场景从ELB过来的流量会先访问到节点,然后通过Service转发到Pod,建议值为节点级别(local)。流量最终转发给本节点上的Pod,而不会负载均衡到其他节点上的Pod,避免出现因跨节点网络故障而导致请求异常。