EventHandlers事件处理器
configcontroller
注册configstore
s.ConfigStores = append(s.ConfigStores,
ingress.NewController(s.kubeClient, s.environment.Watcher, args.RegistryOptions.KubeOptions))store := memory.Make(collections.Pilot)
configController := memory.NewController(store)
err := s.makeFileMonitor(args.RegistryOptions.FileDir, args.RegistryOptions.KubeOptions.DomainSuffix, configController)
if err != nil {
return err
}
s.ConfigStores = append(s.ConfigStores, configController) known := knownCRDs(client.Ext())
for _, s := range out.schemas.All() {
// From the spec: "Its name MUST be in the format <.spec.name>.<.spec.group>."
name := fmt.Sprintf("%s.%s", s.Resource().Plural(), s.Resource().Group())
if _, f := known[name]; f {
var i informers.GenericInformer
var err error
if s.Resource().Group() == "networking.x-k8s.io" {
i, err = client.ServiceApisInformer().ForResource(s.Resource().GroupVersionResource())
} else {
i, err = client.IstioInformer().ForResource(s.Resource().GroupVersionResource())
}
if err != nil {
return nil, err
}
out.kinds[s.Resource().GroupVersionKind()] = createCacheHandler(out, s, i)
} else {
scope.Warnf("Skipping CRD %v as it is not present", s.Resource().GroupVersionKind())
}
}EventHandler
serviceHandler
configHandler
service handler
Last updated