Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support ignore pushRequest on mesh config #912

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

alexzzh
Copy link
Contributor

@alexzzh alexzzh commented Apr 12, 2024

Ⅰ. Describe what this PR did

  • 可以控制"控制平面"是否忽略主动向数据平面推送配置的请求
    • 默认允许推送,不改变原来的行为
  • mesh config中增加全局变量
% cat mesh
accessLogEncoding: TEXT
configSources:
- address: xds://192.168.199.123:15051
- address: k8s://
defaultConfig:
discoveryAddress: 192.168.199.123:15010
controlPlaneAuthPolicy: NONE
proxyStatsMatcher:
  inclusionRegexps:
  - .*
tracing:
  zipkin:
    address: zipkin.higress-system:9411
   x x x

ignorePushRequest: false ==> ignorePushRequest 就是增加的全局变量 

Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?

Ⅳ. Describe how to verify it

  • 默认值: ignorePushRequestfalse
    • 此时增/删/改ingress、wasmplugin等资源,数据平面配置发生改变
  • 动态调整: 修改higress-config全局配置,在mesh config中 增加 ignorePushRequest配置项,配置值为true或者false
    • step1: 增加 ignorePushRequest: true
    • step2: 增/删/改 ingress、wasmplugin等资源
      • 数据平面配置不会发生改变
    • step3: 调整ignorePushRequest:配置项由true变为false
      • step2 对应的调整此时才会同步到数据平面,之后再进行资源调整,都会实时同步
    • step4: 调整ignorePushRequest:配置项由false变为true - 效果同 step1

Ⅴ. Special notes for reviews

@johnlanni
Copy link
Collaborator

@alexzzh 我更倾向于把这个开关加到higress core的xds侧,不侵入istio代码。在不开启istio资源的情况下,所有pilot discovery向envoy推送的配置都是由higress core转换生成的,所以只需在higress core侧开关控制即可。

@johnlanni johnlanni marked this pull request as draft April 23, 2024 07:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants