repeated k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector managementSelectors = 19;
// A list of namespaces that should be excluded or include
// when autoFence is true, namespaceList will take effect
oneof namespaceList {
string blackNamespaceList = 20;
string whiteNamespaceList = 21;
}
lazyload已经支持了基于注解(
slime.io/serviceFenced: true
)的半自动方式开启服务懒加载,也提供了全自动开启服务懒加载(slimeboot中设置autofence、defaultfence)
之前,在autofence场景下会纳管全部ns
本PR将支持自定义纳管命名空间,只会在符合的命名空间下,才有机会生成servicefence
这个PR之后,生成servicefence将会经过以下步骤的判断:
namespaceList/managementSelectors
范围内设计如下:
定义如下
blackNamespaceList 和 whiteNamespaceList 只能二选一
namespaceList 和 managementSelectors 都要满足, 先进行黑白名单过滤,再进行selctor过滤
样例:
在autofence场景下,
不管理带有
istio-injection: disabled
标签的ns也不管理
kube-system,istio-system,mesh-operator
也就是这几个ns下不会生成servicefence