New Features
-
Support for customization workloadSelector of sidecar #33 #35
Priority: workloadSelector.labels > workloadSelector.fromService
1.when
serviceFence.spec.workloadSelector.fromService: true
, sidecar.spec.workloadSelector.Labels = svc.spec.selector
2.Otherwise, sidecar.spec.workloadSelector.Labels will equalenv.Config.Global.Service: serviceFence.Name
, which is compatible with old version lazyload. -
Support for disable ServiceFence auto generating #36
In previous version, namespace and service level ServiceFence auto generating is auto enable. Now we can disable them through new fields in fence config, like below. Default value is false.
{ "general": { "wormholePort": [ "9090" ], "disableAutoFence": true }, "name": "lazyload" }
Engineering Enhancement
-
Make dynamic service dependency info durable #37
When lazyload starting, it will generate cache contains dynamic service dependency info from existed ServiceFences, which contains useful info in
status.metricStatus
. After this change, it will never cause dynamic relationships lost when lazyload pod restarting or deleting. -
Complete fence module config migration #39
-
Support prometheus as lazyload metric source in istio 1.12+ #42
In istio 1.12+, the way of metadata_exchange filters insertion is changed, related pr Add metadata exchange as native code. So global-sidecar will be inserted these filters.
Then prometheus metric, what we want is like
service A -> service B
, will beservice A -> global-sidecar
andglobal-sidecar -> service B
. Lazyload cannot get right relationships anymore in previous version with prometheus metric mode.In this pr, we remove metadata_exchange filters from global-sidecar via the envoyfilter named
global-sidecar-metadata-exchange-remove
, and this problem is solved.
What's Changed
- Improve static dependency and using tutorials by @cywang1905 in #31
- Support for customization workloadSelector of sidecar by @cywang1905 in #33
- Add no auto-fence label to global-sidecar service by @cywang1905 in #34
- Support customizing workloadSelector through fence.Spec.workloadSelec… by @cywang1905 in #35
- Support for disable ServiceFence auto generating by @cywang1905 in #36
- Make dynamic service dependency info durable by @cywang1905 in #37
- Complete fence module config migration by @cywang1905 in #39
- Compatible with new module interface by @cywang1905 in #40
- Support prometheus as lazyload metric source in istio 1.12+ by @cywang1905 in #42
- Update slime version to v0.4.0 by @cywang1905 in #43
Full Changelog: v0.2.0...v0.3.0