此内容没有您所选择的语言版本。
Chapter 1. Key features
Streams for Apache Kafka simplifies the process of running Apache Kafka within an OpenShift cluster.
This guide serves as an introduction to Streams for Apache Kafka, outlining key Kafka concepts that are central to operating Streams for Apache Kafka. It briefly explains Kafka’s components, their purposes, and configuration points, including security and monitoring options. Streams for Apache Kafka provides the necessary files to deploy and manage a Kafka cluster, along with example configuration files for monitoring your deployment.
1.1. Kafka capabilities 复制链接链接已复制到粘贴板!
Kafka’s data stream-processing capabilities and component architecture offer:
- High-throughput, low-latency data sharing for microservices and other applications
- Guaranteed message ordering
- Message rewind/replay from data storage to reconstruct application state
- Message compaction to remove outdated records in a key-value log
- Horizontal scalability within a cluster
- Data replication to enhance fault tolerance
- High-volume data retention for immediate access
1.2. Kafka use cases 复制链接链接已复制到粘贴板!
Kafka’s capabilities make it ideal for:
- Event-driven architectures
- Event sourcing to log application state changes
- Message brokering
- Website activity tracking
- Operational monitoring through metrics
- Log collection and aggregation
- Commit logs for distributed systems
- Stream processing for real-time data responses
1.3. How Streams for Apache Kafka supports Kafka 复制链接链接已复制到粘贴板!
Streams for Apache Kafka provides container images and operators for running Kafka on OpenShift. These operators are designed with specialized operational knowledge to efficiently manage Kafka on OpenShift.
Streams for Apache Kafka operators simplify:
- Deploying and running Kafka clusters
- Deploying and managing Kafka components
- Configuring Kafka access
- Securing Kafka access
- Upgrading Kafka
- Managing brokers
- Creating and managing topics
- Creating and managing users
For detailed information and instructions on using operators to perform these operations, see the guide for Deploying and Managing Streams for Apache Kafka.
Running Kafka on OpenShift without native support from Streams for Apache Kafka can be complex. While deploying Kafka directly with standard resources like StatefulSet and Service is possible, the process is often error-prone and time-consuming. This is especially true for operations like upgrades and configuration updates. Streams for Apache Kafka dramatically reduces this complexity, providing the following advantages:
- Native OpenShift integration
-
Streams for Apache Kafka transforms Kafka into an OpenShift-native application. It extends the Kubernetes API with Custom Resources (CRs) like
Kafka,KafkaTopic, andKafkaUser. Custom resources offer a stable and highly configurable way to manage Kafka. This allows you to define Kafka components at a high level, while the Streams for Apache Kafka operators automatically manage the underlying OpenShift resources for you. This native approach lowers the barrier to adoption and reduces operational overhead, making it easier to deploy and manage Kafka with less manual effort. - Declarative cluster management
- Manage the lifecycle of your Kafka resources declaratively. Declarative control allows you to manage resources like topics and users directly in YAML. This supports an Infrastructure-as-Code (IaC) workflow where Kafka configuration can be version-controlled, audited, and deployed through automated pipelines for a more consistent and repeatable setup.
- Support for upgrade, scaling, and recovery
- Streams for Apache Kafka operators automate rolling upgrades and recovery of Kafka components, helping to reduce manual intervention and downtime. They also support scaling of Kafka clusters through node pools, automated partition reassignment using Cruise Control to maintain balanced workloads, and safe node removal using the Streams for Apache Kafka Drain Cleaner.
- Integrated support for data streaming pipelines
- When Streams for Apache Kafka is installed, you can deploy and manage Kafka clusters alongside supporting components such as Kafka Connect, MirrorMaker 2, and Kafka Bridge, all using OpenShift-native custom resources.
- Integrated security
-
Streams for Apache Kafka enables fine-grained access control through listener-level authentication, cluster-wide authorization, and network policies. It simplifies certificate management to support TLS encryption with configurable protocols and cipher suites, and manages secure client access through
KafkaUserresources with ACLs, quotas, and handling of credentials.