In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-24 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/01 Report--
This article shows you what are the new features of Kinetic Eventing version 0.6. The content is concise and easy to understand. It will definitely make you shine. I hope you can gain something from the detailed introduction of this article.
Kinetic Eventing 0.6 has been officially released. This release contains some important features and updates compared to version 0.5. How can we quickly and accurately locate key technical points for these new features and updates?
preface
Kinetic Eventing 0.6 was released on May 15. This release contains some important features and updates compared to version 0.5. How can we quickly and accurately locate key technical points for these new features and updates? This article analyzes these technologies, hoping to give you a better understanding of the key content of this release, and to look forward to the development of subsequent versions of Kinetic Eventing.
Also, since Eventing currently relies on Eventing-Sources, major updates to Eventing-Sources 0.6 will be mentioned accordingly.
New Features Registry
As event consumers, there is no way to know in advance which events can be consumed. If there is some way to get which brokers provide which events, then event consumers can easily consume events through these brokers. Registry is proposed in this context. Through Registry mechanism, consumers can subscribe to events of specific brokers through Trigger. Registry is a logical concept, not a concrete resource.
Its implementation revolves around the following key points:
Each Registry corresponds to a Namespace.
Define EventType CRD resources. Each Registry includes multiple EventType resources. EventType determines whether an event can be consumed.
EventType needs to contain the necessary information for Trigger subscription.
Examples are as follows:
$ kubectl get eventtypes -n default
NAME TYPE SOURCE SCHEMA BROKER DESCRIPTION READY REASONorg.bitbucket.repofork org.bitbucket.repo:fork https://bitbucket.org/my-other-user/my-other-repo dev BitBucket fork False BrokerIsNotReadycom.github.pullrequest com.github.pull_request https://github.com/user/repo https://github.com/schemas/pull_request default GitHub pull request Truedev.knative.source.github.push-34cnb dev.knative.source.github.push https://github.com/my-other-user/my-other-repo default Truedev.knative.source.github.pullrequest-86jhv dev.knative.source.github.pull_request https://github.com/my-other-user/my-other-repo default True
Around the Registry event registration mechanism, CronJobSource and ApiServerSource event sources create corresponding EventTypes and register them in Registry. One thing to note here is that this feature is currently only available for Broker/Trigger event processing models.
Here is a brief introduction to Eventing-Sources component, which is used to provide event source support for Eventing. The event sources provided in version 0.5 include KubernetesEventSource, GitHubSource, GcpPubSubSource, AwsSqsSource, ContainerSource, CronJobSource, KafkaSource, and CamelSource.
In the latest Eventing-Sources version 0.6, CronJobSource and ContainerSource have been migrated to Eventing, and KubernetesEventSource data sources have been replaced by ApiServerSource in Eventing.
Remove Istio dependencies
Istio was used in Eventing version 0.5 to address event routing issues:
When creating a Channel, route events to the corresponding provisioner by configuring Istio Virtual Service.
When creating Trigger, route events to Broker-Filter by configuring Istio Virtual service.
In fact, we can solve the Channel event routing problem by creating a unique k8s service of ExternalName type for each Channel, while Trigger routes events directly to Broker-Filter via HTTP path (e.g. http://foo-broker-filter-1da3a.default.svc.cluster.local/my-trigger), and combines the community's recommendation to remove Istio dependencies (it has been recommended not to rely on Istio in Serving).
Therefore, the dependency on Istio was removed in Eventing 0.6. Also, if you install Istio, it will not affect Eventing.
Event tracking support
If an exception occurs during event processing in Eventing, we cannot quickly pinpoint the specific problem. For such scenarios, event tracking support has been added to all Channels, including:
Kafka Channel
in-memory Channel
NATSS Channel
GCP-PubSub Channel
And configure tracing information through config-tracing ConfigMap.
Metrics Support
The community uses different controller implementations for components such as Eventing/Serving (For example, controller runtime is used in Eventing, while pkg/controller mode is used in Serving) During the process (expected to be completed in version 0.7), it is found that the implementation of metrics is also inconsistent, so this time, a unified implementation of metrics is added to all controllers, including Broker, Trigger, Channel, Subscription, ContainerSource, CronJobSource and ApiServerSource.
New ApiServerSource
The KubernetesEventSource mentioned above has been removed in Eventing-Source 0.6, and ApiServerSource is added to obtain the event source information of resource changes in Kubernetes in Eventing.
Perfecting ContainerSource
Kubernetes event and condition judgment processing are added to ContainerSource code to facilitate troubleshooting when problems occur.
other changes
Trigger accesses Subscription by replacing host with path. With Trigger objects created, Kubernetes Service and Istio VirtualService objects no longer need to be created. If k8s Service and VirtualService already exist in the system, they will not be deleted actively, and will only be recycled by GC when Trigger is deleted.
In-memory-channel provisionerAdded Deprecated type condition. In-memory-channel ClusterChannelProvisioneris planned to be removed in version 0.7
All Channels replace Istio VirtualService with Kubernetes Service of type ExternalName.
Dataplane components in Eventing no longer rely heavily on Istio sidecar injection.
Upgrade and compatibility
For this change, such as upgrading to Eventing version 0.6, you need to pay attention to several points:
Since in-memory-channel ClusterChannelProvisioner is scheduled to be removed in version 0.7, it has been replaced by in-memory provisioner. Recommend upgrading all existing in-memory-channels to in-memory
The BrokerExists condition in Trigger is now called Broker.
The Kafka dispatcher component replaces the StatefulSet with Deployment. After upgrading to version 0.6, eventing-sources/kafka-channel-dispatcher StatefulSet needs to be removed.
CronJobSource and ContainerSource are already part of the Eventing installation and do not need to be reinstalled in any other way (removed in Eventing-Sources 0.6).
Since in-memory ClusterChannelProvisioner currently relies on config-tracing ConfigMap, Eventing needs to be installed first. If in-memory is installed first, in-memory dispatcher will not start until Eventing is installed.
CronJobSource now uses/apis/v1/namespaces//cronjobsources/as the CloudEvents event source. Replace the original/CronJob
If Eventing is upgraded to version 0.6, the corresponding Eventing-Sources will also need to be upgraded to version 0.6
Kinetic Eventing 0.6 enhances the ease of event processing, such as adding Registry for event consumption, enhancing usability through adding event tracking mechanism and Metrics, and further simplifying dependency processing in Eventing, such as removing Istio dependency, and migrating data source processing from Eventing-Sources to Eventing, further reducing dependency on Eventing-Sources components.
We can simply look forward to here, the community will further enhance the Trigger filtering strategy (support regular expression filtering, etc.), and for the current use of the same Channel CRD resource is difficult to locate the problem in the Channel, next will define independent CRD resources for each Channel, these features are planned to be introduced in version 0.7. In addition, with this version update, it is not difficult to see that Eventing-Sources will gradually retire from history.
What are the new features of Kinetic Eventing 0.6? Have you learned any knowledge or skills? If you want to learn more skills or enrich your knowledge reserves, please pay attention to the industry information channel.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.