diff --git a/contributing/guide/contributing.html b/contributing/guide/contributing.html index 761152605..0ff88edf0 100644 --- a/contributing/guide/contributing.html +++ b/contributing/guide/contributing.html @@ -1516,7 +1516,7 @@

-

Revised on 2023-11-13 15:53:19 UTC

+

Revised on 2023-11-13 16:26:03 UTC

diff --git a/contributing/guide/full.html b/contributing/guide/full.html index c75ef3790..6294bc30a 100644 --- a/contributing/guide/full.html +++ b/contributing/guide/full.html @@ -1957,7 +1957,7 @@

-

Revised on 2023-11-13 15:53:17 UTC

+

Revised on 2023-11-13 16:26:00 UTC

@@ -1965,7 +1965,7 @@

diff --git a/docs/operators/in-development/contributing-book.html b/docs/operators/in-development/contributing-book.html index 761152605..0ff88edf0 100644 --- a/docs/operators/in-development/contributing-book.html +++ b/docs/operators/in-development/contributing-book.html @@ -1516,7 +1516,7 @@

-

Revised on 2023-11-13 15:53:19 UTC

+

Revised on 2023-11-13 16:26:03 UTC

diff --git a/docs/operators/in-development/deploying-book.html b/docs/operators/in-development/deploying-book.html index 10641cb80..512e8073c 100644 --- a/docs/operators/in-development/deploying-book.html +++ b/docs/operators/in-development/deploying-book.html @@ -58,29 +58,38 @@
  • 5.4. Deploying Kafka Connect
  • -
  • 5.5. Deploying Kafka MirrorMaker +
  • 5.5. Adding Kafka Connect connectors
  • -
  • 5.6. Deploying Kafka Bridge +
  • 5.6. Deploying Kafka MirrorMaker
  • -
  • 5.7. Alternative standalone deployment options for Strimzi operators +
  • 5.7. Deploying Kafka Bridge +
  • +
  • 5.8. Alternative standalone deployment options for Strimzi operators +
  • @@ -138,6 +147,9 @@
  • 9.7. Configuring Kafka MirrorMaker 2 @@ -149,6 +161,9 @@
  • 9.7.5. Specifying a maximum number of data replication tasks
  • 9.7.6. Synchronizing ACL rules for remote topics
  • 9.7.7. Securing a Kafka MirrorMaker 2 deployment
  • +
  • 9.7.8. Manually stopping or pausing MirrorMaker 2 connectors
  • +
  • 9.7.9. Manually restarting MirrorMaker 2 connectors
  • +
  • 9.7.10. Manually restarting MirrorMaker 2 connector tasks
  • 9.8. Configuring Kafka MirrorMaker (deprecated)
  • @@ -586,24 +601,22 @@
  • 25.9.2. Performing a rolling update using a pod annotation
  • -
  • 25.10. Performing restarts of MirrorMaker 2 connectors using annotations
  • -
  • 25.11. Performing restarts of MirrorMaker 2 connector tasks using annotations
  • -
  • 25.12. Recovering a cluster from persistent volumes +
  • 25.10. Recovering a cluster from persistent volumes
  • -
  • 25.13. Uninstalling Strimzi +
  • 25.11. Uninstalling Strimzi
  • -
  • 25.14. Frequently asked questions +
  • 25.12. Frequently asked questions
  • @@ -3360,7 +3373,65 @@

    -

    5.4.2. Adding connectors

    +

    5.4.2. List of Kafka Connect cluster resources

    +
    +

    The following resources are created by the Cluster Operator in the Kubernetes cluster:

    +
    +
    +
    +
    <connect_cluster_name>-connect
    +
    +

    Name given to the following Kafka Connect resources:

    +
    +
      +
    • +

      StrimziPodSet that creates the Kafka Connect worker node pods.

      +
    • +
    • +

      Headless service that provides stable DNS names to the Kafka Connect pods.

      +
    • +
    • +

      Service account used by the Kafka Connect pods.

      +
    • +
    • +

      Pod disruption budget configured for the Kafka Connect worker nodes.

      +
    • +
    • +

      Network policy managing access to the Kafka Connect REST API.

      +
    • +
    +
    +
    +
    <connect_cluster_name>-connect-<pod_id>
    +
    +

    Pods created by the Kafka Connect StrimziPodSet.

    +
    +
    <connect_cluster_name>-connect-api
    +
    +

    Service which exposes the REST interface for managing the Kafka Connect cluster.

    +
    +
    <connect_cluster_name>-connect-config
    +
    +

    ConfigMap which contains the Kafka Connect ancillary configuration and is mounted as a volume by the Kafka Connect pods.

    +
    +
    strimzi-<namespace-name>-<connect_cluster_name>-connect-init
    +
    +

    Cluster role binding used by the Kafka Connect cluster.

    +
    +
    <connect_cluster_name>-connect-build
    +
    +

    Pod used to build a new container image with additional connector plugins (only when Kafka Connect Build feature is used).

    +
    +
    <connect_cluster_name>-connect-dockerfile
    +
    +

    ConfigMap with the Dockerfile generated to build the new container image with additional connector plugins (only when the Kafka Connect build feature is used).

    +
    +
    +
    + + +
    +

    5.5. Adding Kafka Connect connectors

    Kafka Connect uses connectors to integrate with other systems to stream data. A connector is an instance of a Kafka Connector class, which can be one of the following type:

    @@ -3415,8 +3486,8 @@

    You can also create new connector instances using these options.

    -
    -
    Building a new container image with connector plugins automatically
    +
    +

    5.5.1. Building a new container image with connector plugins automatically

    Configure Kafka Connect so that Strimzi automatically builds a new container image with additional connectors. You define the connector plugins using the .spec.build.plugins property of the KafkaConnect custom resource. @@ -3509,8 +3580,8 @@

    -
    Building a new container image with connector plugins from the Kafka Connect base image
    +
    +

    5.5.2. Building a new container image with connector plugins from the Kafka Connect base image

    Create a custom Docker image with connector plugins from the Kafka Connect base image. Add the custom image to the /opt/kafka/plugins directory.

    @@ -3654,8 +3725,8 @@
    -
    Deploying KafkaConnector resources
    +
    +

    5.5.3. Deploying KafkaConnector resources

    Deploy KafkaConnector resources to manage connectors. The KafkaConnector custom resource offers a Kubernetes-native approach to management of connectors by the Cluster Operator. @@ -3891,7 +3962,7 @@

    Source and sink connector configuration options
    +
    Source and sink connector configuration options

    The connector configuration is defined in the spec.config property of the KafkaConnector resource.

    @@ -3968,107 +4039,8 @@
    Source and sink connector confi
    -
    -
    Manually restarting connectors
    -
    -

    If you are using KafkaConnector resources to manage connectors, use the restart annotation to manually trigger a restart of a connector.

    -
    -
    -
    Prerequisites
    -
      -
    • -

      The Cluster Operator is running.

      -
    • -
    -
    -
    -
    Procedure
    -
      -
    1. -

      Find the name of the KafkaConnector custom resource that controls the Kafka connector you want to restart:

      -
      -
      -
      kubectl get KafkaConnector
      -
      -
      -
    2. -
    3. -

      Restart the connector by annotating the KafkaConnector resource in Kubernetes.

      -
      -
      -
      kubectl annotate KafkaConnector <kafka_connector_name> strimzi.io/restart=true
      -
      -
      -
      -

      The restart annotation is set to true.

      -
      -
    4. -
    5. -

      Wait for the next reconciliation to occur (every two minutes by default).

      -
      -

      The Kafka connector is restarted, as long as the annotation was detected by the reconciliation process. -When Kafka Connect accepts the restart request, the annotation is removed from the KafkaConnector custom resource.

      -
      -
    6. -
    -
    -
    -
    -
    Manually restarting Kafka connector tasks
    -
    -

    If you are using KafkaConnector resources to manage connectors, use the restart-task annotation to manually trigger a restart of a connector task.

    -
    -
    -
    Prerequisites
    -
      -
    • -

      The Cluster Operator is running.

      -
    • -
    -
    -
    -
    Procedure
    -
      -
    1. -

      Find the name of the KafkaConnector custom resource that controls the Kafka connector task you want to restart:

      -
      -
      -
      kubectl get KafkaConnector
      -
      -
      -
    2. -
    3. -

      Find the ID of the task to be restarted from the KafkaConnector custom resource. -Task IDs are non-negative integers, starting from 0:

      -
      -
      -
      kubectl describe KafkaConnector <kafka_connector_name>
      -
      -
      -
    4. -
    5. -

      Use the ID to restart the connector task by annotating the KafkaConnector resource in Kubernetes:

      -
      -
      -
      kubectl annotate KafkaConnector <kafka_connector_name> strimzi.io/restart-task=0
      -
      -
      -
      -

      In this example, task 0 is restarted.

      -
      -
    6. -
    7. -

      Wait for the next reconciliation to occur (every two minutes by default).

      -
      -

      The Kafka connector task is restarted, as long as the annotation was detected by the reconciliation process. -When Kafka Connect accepts the restart request, the annotation is removed from the KafkaConnector custom resource.

      -
      -
    8. -
    -
    -
    -
    -
    Exposing the Kafka Connect API
    +
    +

    5.5.4. Exposing the Kafka Connect API

    Use the Kafka Connect REST API as an alternative to using KafkaConnector resources to manage connectors. The Kafka Connect REST API is available as a service running on <connect_cluster_name>-connect-api:8083, where <connect_cluster_name> is the name of your Kafka Connect cluster. @@ -4204,8 +4176,8 @@

    -
    Limiting access to the Kafka Connect API
    +
    +

    5.5.5. Limiting access to the Kafka Connect API

    It is crucial to restrict access to the Kafka Connect API only to trusted users to prevent unauthorized actions and potential security issues. The Kafka Connect API provides extensive capabilities for altering connector configurations, which makes it all the more important to take security precautions. @@ -4285,8 +4257,8 @@

    -
    Switching from using the Kafka Connect API to using KafkaConnector custom resources
    +
    +

    5.5.6. Switching from using the Kafka Connect API to using KafkaConnector custom resources

    You can switch from using the Kafka Connect API to using KafkaConnector custom resources to manage your connectors. To make the switch, do the following in the order shown:

    @@ -4324,66 +4296,8 @@
    -

    5.4.3. List of Kafka Connect cluster resources

    -
    -

    The following resources are created by the Cluster Operator in the Kubernetes cluster:

    -
    -
    -
    -
    <connect_cluster_name>-connect
    -
    -

    Name given to the following Kafka Connect resources:

    -
    -
      -
    • -

      StrimziPodSet that creates the Kafka Connect worker node pods.

      -
    • -
    • -

      Headless service that provides stable DNS names to the Kafka Connect pods.

      -
    • -
    • -

      Service account used by the Kafka Connect pods.

      -
    • -
    • -

      Pod disruption budget configured for the Kafka Connect worker nodes.

      -
    • -
    • -

      Network policy managing access to the Kafka Connect REST API.

      -
    • -
    -
    -
    -
    <connect_cluster_name>-connect-<pod_id>
    -
    -

    Pods created by the Kafka Connect StrimziPodSet.

    -
    -
    <connect_cluster_name>-connect-api
    -
    -

    Service which exposes the REST interface for managing the Kafka Connect cluster.

    -
    -
    <connect_cluster_name>-connect-config
    -
    -

    ConfigMap which contains the Kafka Connect ancillary configuration and is mounted as a volume by the Kafka Connect pods.

    -
    -
    strimzi-<namespace-name>-<connect_cluster_name>-connect-init
    -
    -

    Cluster role binding used by the Kafka Connect cluster.

    -
    -
    <connect_cluster_name>-connect-build
    -
    -

    Pod used to build a new container image with additional connector plugins (only when Kafka Connect Build feature is used).

    -
    -
    <connect_cluster_name>-connect-dockerfile
    -
    -

    ConfigMap with the Dockerfile generated to build the new container image with additional connector plugins (only when the Kafka Connect build feature is used).

    -
    -
    -
    -
    -
    -

    5.5. Deploying Kafka MirrorMaker

    +

    5.6. Deploying Kafka MirrorMaker

    Kafka MirrorMaker replicates data between two or more Kafka clusters, within or across data centers. This process is called mirroring to avoid confusion with the concept of Kafka partition replication. @@ -4409,7 +4323,7 @@

    5

    -

    5.5.1. Deploying Kafka MirrorMaker to your Kubernetes cluster

    +

    5.6.1. Deploying Kafka MirrorMaker to your Kubernetes cluster

    This procedure shows how to deploy a Kafka MirrorMaker cluster to your Kubernetes cluster using the Cluster Operator.

    @@ -4531,7 +4445,7 @@

    -

    5.5.2. List of Kafka MirrorMaker 2 cluster resources

    +

    5.6.2. List of Kafka MirrorMaker 2 cluster resources

    The following resources are created by the Cluster Operator in the Kubernetes cluster:

    @@ -4580,7 +4494,7 @@

    -

    5.5.3. List of Kafka MirrorMaker cluster resources

    +

    5.6.3. List of Kafka MirrorMaker cluster resources

    The following resources are created by the Cluster Operator in the Kubernetes cluster:

    @@ -4612,12 +4526,12 @@

    -

    5.6. Deploying Kafka Bridge

    +

    5.7. Deploying Kafka Bridge

    Kafka Bridge provides an API for integrating HTTP-based clients with a Kafka cluster.

    -

    5.6.1. Deploying Kafka Bridge to your Kubernetes cluster

    +

    5.7.1. Deploying Kafka Bridge to your Kubernetes cluster

    This procedure shows how to deploy a Kafka Bridge cluster to your Kubernetes cluster using the Cluster Operator.

    @@ -4697,7 +4611,7 @@

    -

    5.6.2. Exposing the Kafka Bridge service to your local machine

    +

    5.7.2. Exposing the Kafka Bridge service to your local machine

    Use port forwarding to expose the Strimzi Kafka Bridge service to your local machine on http://localhost:8080.

    @@ -4755,7 +4669,7 @@

    -

    5.6.3. Accessing the Kafka Bridge outside of Kubernetes

    +

    5.7.3. Accessing the Kafka Bridge outside of Kubernetes

    After deployment, the Strimzi Kafka Bridge can only be accessed by applications running in the same Kubernetes cluster. These applications use the <kafka_bridge_name>-bridge-service service to access the API.

    @@ -4797,7 +4711,7 @@

    -

    5.6.4. List of Kafka Bridge cluster resources

    +

    5.7.4. List of Kafka Bridge cluster resources

    The following resources are created by the Cluster Operator in the Kubernetes cluster:

    @@ -4824,7 +4738,7 @@

    -

    5.7. Alternative standalone deployment options for Strimzi operators

    +

    5.8. Alternative standalone deployment options for Strimzi operators

    You can perform a standalone deployment of the Topic Operator and User Operator. Consider a standalone deployment of these operators if you are using a Kafka cluster that is not managed by the Cluster Operator.

    @@ -4836,7 +4750,7 @@

    -

    5.7.1. Deploying the standalone Topic Operator

    +

    5.8.1. Deploying the standalone Topic Operator

    This procedure shows how to deploy the Topic Operator as a standalone component for topic management. You can use a standalone Topic Operator with a Kafka cluster that is not managed by the Cluster Operator.

    @@ -5228,7 +5142,7 @@
    -

    5.7.2. Deploying the standalone User Operator

    +

    5.8.2. Deploying the standalone User Operator

    This procedure shows how to deploy the User Operator as a standalone component for user management. You can use a standalone User Operator with a Kafka cluster that is not managed by the Cluster Operator.

    @@ -9220,6 +9134,196 @@

    +
    +

    9.6.3. Manually stopping or pausing Kafka Connect connectors

    +
    +

    If you are using KafkaConnector resources to configure connectors, use the state configuration to either stop or pause a connector. +In contrast to the paused state, where the connector and tasks remain instantiated, stopping a connector retains only the configuration, with no active processes. +Stopping a connector from running may be more suitable for longer durations than just pausing. +While a paused connector is quicker to resume, a stopped connector has the advantages of freeing up memory and resources.

    +
    +
    + + + + + +
    +
    Note
    +
    +The state configuration replaces the (deprecated) pause configuration in the KafkaConnectorSpec schema, which allows pauses on connectors. +If you were previously using the pause configuration to pause connectors, we encourage you to transition to using the state configuration only to avoid conflicts. +
    +
    +
    +
    Prerequisites
    +
      +
    • +

      The Cluster Operator is running.

      +
    • +
    +
    +
    +
    Procedure
    +
      +
    1. +

      Find the name of the KafkaConnector custom resource that controls the connector you want to pause or stop:

      +
      +
      +
      kubectl get KafkaConnector
      +
      +
      +
    2. +
    3. +

      Edit the KafkaConnector resource to stop or pause the connector.

      +
      +
      Example configuration for stopping a Kafka Connect connector
      +
      +
      apiVersion: kafka.strimzi.io/v1beta2
      +kind: KafkaConnector
      +metadata:
      +  name: my-source-connector
      +  labels:
      +    strimzi.io/cluster: my-connect-cluster
      +spec:
      +  class: org.apache.kafka.connect.file.FileStreamSourceConnector
      +  tasksMax: 2
      +  config:
      +    file: "/opt/kafka/LICENSE"
      +    topic: my-topic
      +  state: stopped
      +  # ...
      +
      +
      +
      +

      Change the state configuration to stopped or paused. +The default state for the connector when this property is not set is running.

      +
      +
    4. +
    5. +

      Apply the changes to the KafkaConnector configuration.

      +
      +

      You can resume the connector by changing state to running or removing the configuration.

      +
      +
    6. +
    +
    +
    + + + + + +
    +
    Note
    +
    +Alternatively, you can expose the Kafka Connect API and use the stop and pause endpoints to stop a connector from running. +For example, PUT /connectors/<connector_name>/stop. +You can then use the resume endpoint to restart it. +
    +
    +
    +
    +

    9.6.4. Manually restarting Kafka Connect connectors

    +
    +

    If you are using KafkaConnector resources to manage connectors, use the strimzi.io/restart annotation to manually trigger a restart of a connector.

    +
    +
    +
    Prerequisites
    +
      +
    • +

      The Cluster Operator is running.

      +
    • +
    +
    +
    +
    Procedure
    +
      +
    1. +

      Find the name of the KafkaConnector custom resource that controls the Kafka connector you want to restart:

      +
      +
      +
      kubectl get KafkaConnector
      +
      +
      +
    2. +
    3. +

      Restart the connector by annotating the KafkaConnector resource in Kubernetes:

      +
      +
      +
      kubectl annotate KafkaConnector <kafka_connector_name> strimzi.io/restart=true
      +
      +
      +
      +

      The restart annotation is set to true.

      +
      +
    4. +
    5. +

      Wait for the next reconciliation to occur (every two minutes by default).

      +
      +

      The Kafka connector is restarted, as long as the annotation was detected by the reconciliation process. +When Kafka Connect accepts the restart request, the annotation is removed from the KafkaConnector custom resource.

      +
      +
    6. +
    +
    +
    +
    +

    9.6.5. Manually restarting Kafka Connect connector tasks

    +
    +

    If you are using KafkaConnector resources to manage connectors, use the strimzi.io/restart-task annotation to manually trigger a restart of a connector task.

    +
    +
    +
    Prerequisites
    +
      +
    • +

      The Cluster Operator is running.

      +
    • +
    +
    +
    +
    Procedure
    +
      +
    1. +

      Find the name of the KafkaConnector custom resource that controls the Kafka connector task you want to restart:

      +
      +
      +
      kubectl get KafkaConnector
      +
      +
      +
    2. +
    3. +

      Find the ID of the task to be restarted from the KafkaConnector custom resource:

      +
      +
      +
      kubectl describe KafkaConnector <kafka_connector_name>
      +
      +
      +
      +

      Task IDs are non-negative integers, starting from 0.

      +
      +
    4. +
    5. +

      Use the ID to restart the connector task by annotating the KafkaConnector resource in Kubernetes:

      +
      +
      +
      kubectl annotate KafkaConnector <kafka_connector_name> strimzi.io/restart-task=0
      +
      +
      +
      +

      In this example, task 0 is restarted.

      +
      +
    6. +
    7. +

      Wait for the next reconciliation to occur (every two minutes by default).

      +
      +

      The Kafka connector task is restarted, as long as the annotation was detected by the reconciliation process. +When Kafka Connect accepts the restart request, the annotation is removed from the KafkaConnector custom resource.

      +
      +
    8. +
    +
    +

    9.7. Configuring Kafka MirrorMaker 2

    @@ -11024,6 +11128,219 @@

    +

    9.7.8. Manually stopping or pausing MirrorMaker 2 connectors

    +
    +

    If you are using KafkaMirrorMaker2 resources to configure internal MirrorMaker connectors, use the state configuration to either stop or pause a connector. +In contrast to the paused state, where the connector and tasks remain instantiated, stopping a connector retains only the configuration, with no active processes. +Stopping a connector from running may be more suitable for longer durations than just pausing. +While a paused connector is quicker to resume, a stopped connector has the advantages of freeing up memory and resources.

    +
    +
    + + + + + +
    +
    Note
    +
    +The state configuration replaces the (deprecated) pause configuration in the KafkaMirrorMaker2ConnectorSpec schema, which allows pauses on connectors. +If you were previously using the pause configuration to pause connectors, we encourage you to transition to using the state configuration only to avoid conflicts. +
    +
    +
    +
    Prerequisites
    +
      +
    • +

      The Cluster Operator is running.

      +
    • +
    +
    +
    +
    Procedure
    +
      +
    1. +

      Find the name of the KafkaMirrorMaker2 custom resource that controls the MirrorMaker 2 connector you want to pause or stop:

      +
      +
      +
      kubectl get KafkaMirrorMaker2
      +
      +
      +
    2. +
    3. +

      Edit the KafkaMirrorMaker2 resource to stop or pause the connector.

      +
      +
      Example configuration for stopping a MirrorMaker 2 connector
      +
      +
      apiVersion: kafka.strimzi.io/v1beta2
      +kind: KafkaMirrorMaker2
      +metadata:
      +  name: my-mirror-maker2
      +spec:
      +  version: 3.6.0
      +  replicas: 3
      +  connectCluster: "my-cluster-target"
      +  clusters:
      +    # ...
      +  mirrors:
      +  - sourceCluster: "my-cluster-source"
      +    targetCluster: "my-cluster-target"
      +    sourceConnector:
      +      tasksMax: 10
      +      autoRestart:
      +        enabled: true
      +      state: stopped
      +  # ...
      +
      +
      +
      +

      Change the state configuration to stopped or paused. +The default state for the connector when this property is not set is running.

      +
      +
    4. +
    5. +

      Apply the changes to the KafkaMirrorMaker2 configuration.

      +
      +

      You can resume the connector by changing state to running or removing the configuration.

      +
      +
    6. +
    +
    +
    + + + + + +
    +
    Note
    +
    +Alternatively, you can expose the Kafka Connect API and use the stop and pause endpoints to stop a connector from running. +For example, PUT /connectors/<connector_name>/stop. +You can then use the resume endpoint to restart it. +
    +
    +

    +
    +

    9.7.9. Manually restarting MirrorMaker 2 connectors

    +
    +

    Use the strimzi.io/restart-connector annotation to manually trigger a restart of a MirrorMaker 2 connector.

    +
    +
    +
    Prerequisites
    +
      +
    • +

      The Cluster Operator is running.

      +
    • +
    +
    +
    +
    Procedure
    +
      +
    1. +

      Find the name of the KafkaMirrorMaker2 custom resource that controls the Kafka MirrorMaker 2 connector you want to restart:

      +
      +
      +
      kubectl get KafkaMirrorMaker2
      +
      +
      +
    2. +
    3. +

      Find the name of the Kafka MirrorMaker 2 connector to be restarted from the KafkaMirrorMaker2 custom resource:

      +
      +
      +
      kubectl describe KafkaMirrorMaker2 <mirrormaker_cluster_name>
      +
      +
      +
    4. +
    5. +

      Use the name of the connector to restart the connector by annotating the KafkaMirrorMaker2 resource in Kubernetes:

      +
      +
      +
      kubectl annotate KafkaMirrorMaker2 <mirrormaker_cluster_name> "strimzi.io/restart-connector=<mirrormaker_connector_name>"
      +
      +
      +
      +

      In this example, connector my-connector in the my-mirror-maker-2 cluster is restarted:

      +
      +
      +
      +
      kubectl annotate KafkaMirrorMaker2 my-mirror-maker-2 "strimzi.io/restart-connector=my-connector"
      +
      +
      +
    6. +
    7. +

      Wait for the next reconciliation to occur (every two minutes by default).

      +
      +

      The MirrorMaker 2 connector is restarted, as long as the annotation was detected by the reconciliation process. +When MirrorMaker 2 accepts the request, the annotation is removed from the KafkaMirrorMaker2 custom resource.

      +
      +
    8. +
    +
    +
    +
    +

    9.7.10. Manually restarting MirrorMaker 2 connector tasks

    +
    +

    Use the strimzi.io/restart-connector-task annotation to manually trigger a restart of a MirrorMaker 2 connector.

    +
    +
    +
    Prerequisites
    +
      +
    • +

      The Cluster Operator is running.

      +
    • +
    +
    +
    +
    Procedure
    +
      +
    1. +

      Find the name of the KafkaMirrorMaker2 custom resource that controls the MirrorMaker 2 connector task you want to restart:

      +
      +
      +
      kubectl get KafkaMirrorMaker2
      +
      +
      +
    2. +
    3. +

      Find the name of the connector and the ID of the task to be restarted from the KafkaMirrorMaker2 custom resource:

      +
      +
      +
      kubectl describe KafkaMirrorMaker2 <mirrormaker_cluster_name>
      +
      +
      +
      +

      Task IDs are non-negative integers, starting from 0.

      +
      +
    4. +
    5. +

      Use the name and ID to restart the connector task by annotating the KafkaMirrorMaker2 resource in Kubernetes:

      +
      +
      +
      kubectl annotate KafkaMirrorMaker2 <mirrormaker_cluster_name> "strimzi.io/restart-connector-task=<mirrormaker_connector_name>:<task_id>"
      +
      +
      +
      +

      In this example, task 0 for connector my-connector in the my-mirror-maker-2 cluster is restarted:

      +
      +
      +
      +
      kubectl annotate KafkaMirrorMaker2 my-mirror-maker-2 "strimzi.io/restart-connector-task=my-connector:0"
      +
      +
      +
    6. +
    7. +

      Wait for the next reconciliation to occur (every two minutes by default).

      +
      +

      The MirrorMaker 2 connector task is restarted, as long as the annotation was detected by the reconciliation process. +When MirrorMaker 2 accepts the request, the annotation is removed from the KafkaMirrorMaker2 custom resource.

      +
      +
    8. +
    +
    +
    @@ -36063,126 +36380,7 @@

    -

    25.10. Performing restarts of MirrorMaker 2 connectors using annotations

    -
    -

    This procedure describes how to manually trigger a restart of a Kafka MirrorMaker 2 connector by using a Kubernetes annotation.

    -
    -
    -
    Prerequisites
    -
      -
    • -

      The Cluster Operator is running.

      -
    • -
    -
    -
    -
    Procedure
    -
      -
    1. -

      Find the name of the KafkaMirrorMaker2 custom resource that controls the Kafka MirrorMaker 2 connector you want to restart:

      -
      -
      -
      kubectl get KafkaMirrorMaker2
      -
      -
      -
    2. -
    3. -

      Find the name of the Kafka MirrorMaker 2 connector to be restarted from the KafkaMirrorMaker2 custom resource.

      -
      -
      -
      kubectl describe KafkaMirrorMaker2 KAFKAMIRRORMAKER-2-NAME
      -
      -
      -
    4. -
    5. -

      To restart the connector, annotate the KafkaMirrorMaker2 resource in Kubernetes. -In this example, kubectl annotate restarts a connector named my-source->my-target.MirrorSourceConnector:

      -
      -
      -
      kubectl annotate KafkaMirrorMaker2 KAFKAMIRRORMAKER-2-NAME "strimzi.io/restart-connector=my-source->my-target.MirrorSourceConnector"
      -
      -
      -
    6. -
    7. -

      Wait for the next reconciliation to occur (every two minutes by default).

      -
      -

      The Kafka MirrorMaker 2 connector is restarted, as long as the annotation was detected by the reconciliation process. -When the restart request is accepted, the annotation is removed from the KafkaMirrorMaker2 custom resource.

      -
      -
    8. -
    -
    -
    -
    Additional resources
    - -
    -

    -
    -

    25.11. Performing restarts of MirrorMaker 2 connector tasks using annotations

    -
    -

    This procedure describes how to manually trigger a restart of a Kafka MirrorMaker 2 connector task by using a Kubernetes annotation.

    -
    -
    -
    Prerequisites
    -
      -
    • -

      The Cluster Operator is running.

      -
    • -
    -
    -
    -
    Procedure
    -
      -
    1. -

      Find the name of the KafkaMirrorMaker2 custom resource that controls the Kafka MirrorMaker 2 connector you want to restart:

      -
      -
      -
      kubectl get KafkaMirrorMaker2
      -
      -
      -
    2. -
    3. -

      Find the name of the Kafka MirrorMaker 2 connector and the ID of the task to be restarted from the KafkaMirrorMaker2 custom resource. -Task IDs are non-negative integers, starting from 0.

      -
      -
      -
      kubectl describe KafkaMirrorMaker2 KAFKAMIRRORMAKER-2-NAME
      -
      -
      -
    4. -
    5. -

      To restart the connector task, annotate the KafkaMirrorMaker2 resource in Kubernetes. -In this example, kubectl annotate restarts task 0 of a connector named my-source->my-target.MirrorSourceConnector:

      -
      -
      -
      kubectl annotate KafkaMirrorMaker2 KAFKAMIRRORMAKER-2-NAME "strimzi.io/restart-connector-task=my-source->my-target.MirrorSourceConnector:0"
      -
      -
      -
    6. -
    7. -

      Wait for the next reconciliation to occur (every two minutes by default).

      -
      -

      The Kafka MirrorMaker 2 connector task is restarted, as long as the annotation was detected by the reconciliation process. -When the restart task request is accepted, the annotation is removed from the KafkaMirrorMaker2 custom resource.

      -
      -
    8. -
    -
    -
    -
    Additional resources
    - -
    -
    -
    -

    25.12. Recovering a cluster from persistent volumes

    +

    25.10. Recovering a cluster from persistent volumes

    You can recover a Kafka cluster from persistent volumes (PVs) if they are still present.

    @@ -36200,7 +36398,7 @@

    25.12

    -

    25.12.1. Recovery from namespace deletion

    +

    25.10.1. Recovery from namespace deletion

    Recovery from namespace deletion is possible because of the relationship between persistent volumes and namespaces. A PersistentVolume (PV) is a storage resource that lives outside of a namespace. @@ -36278,14 +36476,14 @@

    2

    -

    25.12.2. Recovery from loss of a Kubernetes cluster

    +

    25.10.2. Recovery from loss of a Kubernetes cluster

    When a cluster is lost, you can use the data from disks/volumes to recover the cluster if they were preserved within the infrastructure. The recovery procedure is the same as with namespace deletion, assuming PVs can be recovered and they were created manually.

    -

    25.12.3. Recovering a deleted cluster from persistent volumes

    +

    25.10.3. Recovering a deleted cluster from persistent volumes

    This procedure describes how to recover a deleted cluster from persistent volumes (PVs).

    @@ -36597,7 +36795,7 @@

    -

    25.13. Uninstalling Strimzi

    +

    25.11. Uninstalling Strimzi

    You can uninstall Strimzi using the CLI or by unsubscribing from OperatorHub.io.

    @@ -36644,7 +36842,7 @@

    -

    25.13.1. Uninstalling Strimzi using the CLI

    +

    25.11.1. Uninstalling Strimzi using the CLI

    This procedure describes how to use the kubectl command-line tool to uninstall Strimzi and remove resources related to the deployment.

    @@ -36706,7 +36904,7 @@

    25.13.1. Unin

    @@ -1965,7 +1965,7 @@

    diff --git a/docs/operators/in-development/full/deploying.html b/docs/operators/in-development/full/deploying.html index bafb253aa..0c7894ab9 100644 --- a/docs/operators/in-development/full/deploying.html +++ b/docs/operators/in-development/full/deploying.html @@ -497,29 +497,38 @@

    Deploying and Managing Strimzi

  • 5.4. Deploying Kafka Connect
  • -
  • 5.5. Deploying Kafka MirrorMaker +
  • 5.5. Adding Kafka Connect connectors
  • -
  • 5.6. Deploying Kafka Bridge +
  • 5.6. Deploying Kafka MirrorMaker
  • -
  • 5.7. Alternative standalone deployment options for Strimzi operators +
  • 5.7. Deploying Kafka Bridge +
  • +
  • 5.8. Alternative standalone deployment options for Strimzi operators +
  • @@ -577,6 +586,9 @@

    Deploying and Managing Strimzi

  • 9.7. Configuring Kafka MirrorMaker 2 @@ -588,6 +600,9 @@

    Deploying and Managing Strimzi

  • 9.7.5. Specifying a maximum number of data replication tasks
  • 9.7.6. Synchronizing ACL rules for remote topics
  • 9.7.7. Securing a Kafka MirrorMaker 2 deployment
  • +
  • 9.7.8. Manually stopping or pausing MirrorMaker 2 connectors
  • +
  • 9.7.9. Manually restarting MirrorMaker 2 connectors
  • +
  • 9.7.10. Manually restarting MirrorMaker 2 connector tasks
  • 9.8. Configuring Kafka MirrorMaker (deprecated)
  • @@ -1025,24 +1040,22 @@

    Deploying and Managing Strimzi

  • 25.9.2. Performing a rolling update using a pod annotation
  • -
  • 25.10. Performing restarts of MirrorMaker 2 connectors using annotations
  • -
  • 25.11. Performing restarts of MirrorMaker 2 connector tasks using annotations
  • -
  • 25.12. Recovering a cluster from persistent volumes +
  • 25.10. Recovering a cluster from persistent volumes
  • -
  • 25.13. Uninstalling Strimzi +
  • 25.11. Uninstalling Strimzi
  • -
  • 25.14. Frequently asked questions +
  • 25.12. Frequently asked questions
  • @@ -3801,7 +3814,65 @@

    -

    5.4.2. Adding connectors

    +

    5.4.2. List of Kafka Connect cluster resources

    +
    +

    The following resources are created by the Cluster Operator in the Kubernetes cluster:

    +
    +
    +
    +
    <connect_cluster_name>-connect
    +
    +

    Name given to the following Kafka Connect resources:

    +
    +
      +
    • +

      StrimziPodSet that creates the Kafka Connect worker node pods.

      +
    • +
    • +

      Headless service that provides stable DNS names to the Kafka Connect pods.

      +
    • +
    • +

      Service account used by the Kafka Connect pods.

      +
    • +
    • +

      Pod disruption budget configured for the Kafka Connect worker nodes.

      +
    • +
    • +

      Network policy managing access to the Kafka Connect REST API.

      +
    • +
    +
    +
    +
    <connect_cluster_name>-connect-<pod_id>
    +
    +

    Pods created by the Kafka Connect StrimziPodSet.

    +
    +
    <connect_cluster_name>-connect-api
    +
    +

    Service which exposes the REST interface for managing the Kafka Connect cluster.

    +
    +
    <connect_cluster_name>-connect-config
    +
    +

    ConfigMap which contains the Kafka Connect ancillary configuration and is mounted as a volume by the Kafka Connect pods.

    +
    +
    strimzi-<namespace-name>-<connect_cluster_name>-connect-init
    +
    +

    Cluster role binding used by the Kafka Connect cluster.

    +
    +
    <connect_cluster_name>-connect-build
    +
    +

    Pod used to build a new container image with additional connector plugins (only when Kafka Connect Build feature is used).

    +
    +
    <connect_cluster_name>-connect-dockerfile
    +
    +

    ConfigMap with the Dockerfile generated to build the new container image with additional connector plugins (only when the Kafka Connect build feature is used).

    +
    +
    +
    +
    +
    +
    +

    5.5. Adding Kafka Connect connectors

    Kafka Connect uses connectors to integrate with other systems to stream data. A connector is an instance of a Kafka Connector class, which can be one of the following type:

    @@ -3856,8 +3927,8 @@

    You can also create new connector instances using these options.

    -
    -
    Building a new container image with connector plugins automatically
    +
    +

    5.5.1. Building a new container image with connector plugins automatically

    Configure Kafka Connect so that Strimzi automatically builds a new container image with additional connectors. You define the connector plugins using the .spec.build.plugins property of the KafkaConnect custom resource. @@ -3950,8 +4021,8 @@

    -
    Building a new container image with connector plugins from the Kafka Connect base image
    +
    +

    5.5.2. Building a new container image with connector plugins from the Kafka Connect base image

    Create a custom Docker image with connector plugins from the Kafka Connect base image. Add the custom image to the /opt/kafka/plugins directory.

    @@ -4095,8 +4166,8 @@
    -
    Deploying KafkaConnector resources
    +
    +

    5.5.3. Deploying KafkaConnector resources

    Deploy KafkaConnector resources to manage connectors. The KafkaConnector custom resource offers a Kubernetes-native approach to management of connectors by the Cluster Operator. @@ -4332,7 +4403,7 @@

    Source and sink connector configuration options
    +
    Source and sink connector configuration options

    The connector configuration is defined in the spec.config property of the KafkaConnector resource.

    @@ -4409,107 +4480,8 @@
    Source and sink connector confi
    -
    -
    Manually restarting connectors
    -
    -

    If you are using KafkaConnector resources to manage connectors, use the restart annotation to manually trigger a restart of a connector.

    -
    -
    -
    Prerequisites
    -
      -
    • -

      The Cluster Operator is running.

      -
    • -
    -
    -
    -
    Procedure
    -
      -
    1. -

      Find the name of the KafkaConnector custom resource that controls the Kafka connector you want to restart:

      -
      -
      -
      kubectl get KafkaConnector
      -
      -
      -
    2. -
    3. -

      Restart the connector by annotating the KafkaConnector resource in Kubernetes.

      -
      -
      -
      kubectl annotate KafkaConnector <kafka_connector_name> strimzi.io/restart=true
      -
      -
      -
      -

      The restart annotation is set to true.

      -
      -
    4. -
    5. -

      Wait for the next reconciliation to occur (every two minutes by default).

      -
      -

      The Kafka connector is restarted, as long as the annotation was detected by the reconciliation process. -When Kafka Connect accepts the restart request, the annotation is removed from the KafkaConnector custom resource.

      -
      -
    6. -
    -
    -
    -
    -
    Manually restarting Kafka connector tasks
    -
    -

    If you are using KafkaConnector resources to manage connectors, use the restart-task annotation to manually trigger a restart of a connector task.

    -
    -
    -
    Prerequisites
    -
      -
    • -

      The Cluster Operator is running.

      -
    • -
    -
    -
    -
    Procedure
    -
      -
    1. -

      Find the name of the KafkaConnector custom resource that controls the Kafka connector task you want to restart:

      -
      -
      -
      kubectl get KafkaConnector
      -
      -
      -
    2. -
    3. -

      Find the ID of the task to be restarted from the KafkaConnector custom resource. -Task IDs are non-negative integers, starting from 0:

      -
      -
      -
      kubectl describe KafkaConnector <kafka_connector_name>
      -
      -
      -
    4. -
    5. -

      Use the ID to restart the connector task by annotating the KafkaConnector resource in Kubernetes:

      -
      -
      -
      kubectl annotate KafkaConnector <kafka_connector_name> strimzi.io/restart-task=0
      -
      -
      -
      -

      In this example, task 0 is restarted.

      -
      -
    6. -
    7. -

      Wait for the next reconciliation to occur (every two minutes by default).

      -
      -

      The Kafka connector task is restarted, as long as the annotation was detected by the reconciliation process. -When Kafka Connect accepts the restart request, the annotation is removed from the KafkaConnector custom resource.

      -
      -
    8. -
    -
    -
    -
    -
    Exposing the Kafka Connect API
    +
    +

    5.5.4. Exposing the Kafka Connect API

    Use the Kafka Connect REST API as an alternative to using KafkaConnector resources to manage connectors. The Kafka Connect REST API is available as a service running on <connect_cluster_name>-connect-api:8083, where <connect_cluster_name> is the name of your Kafka Connect cluster. @@ -4645,8 +4617,8 @@

    -
    Limiting access to the Kafka Connect API
    +
    +

    5.5.5. Limiting access to the Kafka Connect API

    It is crucial to restrict access to the Kafka Connect API only to trusted users to prevent unauthorized actions and potential security issues. The Kafka Connect API provides extensive capabilities for altering connector configurations, which makes it all the more important to take security precautions. @@ -4726,8 +4698,8 @@

    -
    Switching from using the Kafka Connect API to using KafkaConnector custom resources
    +
    +

    5.5.6. Switching from using the Kafka Connect API to using KafkaConnector custom resources

    You can switch from using the Kafka Connect API to using KafkaConnector custom resources to manage your connectors. To make the switch, do the following in the order shown:

    @@ -4765,66 +4737,8 @@
    -

    5.4.3. List of Kafka Connect cluster resources

    -
    -

    The following resources are created by the Cluster Operator in the Kubernetes cluster:

    -
    -
    -
    -
    <connect_cluster_name>-connect
    -
    -

    Name given to the following Kafka Connect resources:

    -
    -
      -
    • -

      StrimziPodSet that creates the Kafka Connect worker node pods.

      -
    • -
    • -

      Headless service that provides stable DNS names to the Kafka Connect pods.

      -
    • -
    • -

      Service account used by the Kafka Connect pods.

      -
    • -
    • -

      Pod disruption budget configured for the Kafka Connect worker nodes.

      -
    • -
    • -

      Network policy managing access to the Kafka Connect REST API.

      -
    • -
    -
    -
    -
    <connect_cluster_name>-connect-<pod_id>
    -
    -

    Pods created by the Kafka Connect StrimziPodSet.

    -
    -
    <connect_cluster_name>-connect-api
    -
    -

    Service which exposes the REST interface for managing the Kafka Connect cluster.

    -
    -
    <connect_cluster_name>-connect-config
    -
    -

    ConfigMap which contains the Kafka Connect ancillary configuration and is mounted as a volume by the Kafka Connect pods.

    -
    -
    strimzi-<namespace-name>-<connect_cluster_name>-connect-init
    -
    -

    Cluster role binding used by the Kafka Connect cluster.

    -
    -
    <connect_cluster_name>-connect-build
    -
    -

    Pod used to build a new container image with additional connector plugins (only when Kafka Connect Build feature is used).

    -
    -
    <connect_cluster_name>-connect-dockerfile
    -
    -

    ConfigMap with the Dockerfile generated to build the new container image with additional connector plugins (only when the Kafka Connect build feature is used).

    -
    -
    -
    -
    -
    -

    5.5. Deploying Kafka MirrorMaker

    +

    5.6. Deploying Kafka MirrorMaker

    Kafka MirrorMaker replicates data between two or more Kafka clusters, within or across data centers. This process is called mirroring to avoid confusion with the concept of Kafka partition replication. @@ -4850,7 +4764,7 @@

    5

    -

    5.5.1. Deploying Kafka MirrorMaker to your Kubernetes cluster

    +

    5.6.1. Deploying Kafka MirrorMaker to your Kubernetes cluster

    This procedure shows how to deploy a Kafka MirrorMaker cluster to your Kubernetes cluster using the Cluster Operator.

    @@ -4972,7 +4886,7 @@

    -

    5.5.2. List of Kafka MirrorMaker 2 cluster resources

    +

    5.6.2. List of Kafka MirrorMaker 2 cluster resources

    The following resources are created by the Cluster Operator in the Kubernetes cluster:

    @@ -5021,7 +4935,7 @@

    -

    5.5.3. List of Kafka MirrorMaker cluster resources

    +

    5.6.3. List of Kafka MirrorMaker cluster resources

    The following resources are created by the Cluster Operator in the Kubernetes cluster:

    @@ -5053,12 +4967,12 @@

    -

    5.6. Deploying Kafka Bridge

    +

    5.7. Deploying Kafka Bridge

    Kafka Bridge provides an API for integrating HTTP-based clients with a Kafka cluster.

    -

    5.6.1. Deploying Kafka Bridge to your Kubernetes cluster

    +

    5.7.1. Deploying Kafka Bridge to your Kubernetes cluster

    This procedure shows how to deploy a Kafka Bridge cluster to your Kubernetes cluster using the Cluster Operator.

    @@ -5138,7 +5052,7 @@

    -

    5.6.2. Exposing the Kafka Bridge service to your local machine

    +

    5.7.2. Exposing the Kafka Bridge service to your local machine

    Use port forwarding to expose the Strimzi Kafka Bridge service to your local machine on http://localhost:8080.

    @@ -5196,7 +5110,7 @@

    -

    5.6.3. Accessing the Kafka Bridge outside of Kubernetes

    +

    5.7.3. Accessing the Kafka Bridge outside of Kubernetes

    After deployment, the Strimzi Kafka Bridge can only be accessed by applications running in the same Kubernetes cluster. These applications use the <kafka_bridge_name>-bridge-service service to access the API.

    @@ -5238,7 +5152,7 @@

    -

    5.6.4. List of Kafka Bridge cluster resources

    +

    5.7.4. List of Kafka Bridge cluster resources

    The following resources are created by the Cluster Operator in the Kubernetes cluster:

    @@ -5265,7 +5179,7 @@

    -

    5.7. Alternative standalone deployment options for Strimzi operators

    +

    5.8. Alternative standalone deployment options for Strimzi operators

    You can perform a standalone deployment of the Topic Operator and User Operator. Consider a standalone deployment of these operators if you are using a Kafka cluster that is not managed by the Cluster Operator.

    @@ -5277,7 +5191,7 @@

    -

    5.7.1. Deploying the standalone Topic Operator

    +

    5.8.1. Deploying the standalone Topic Operator

    This procedure shows how to deploy the Topic Operator as a standalone component for topic management. You can use a standalone Topic Operator with a Kafka cluster that is not managed by the Cluster Operator.

    @@ -5669,7 +5583,7 @@
    -

    5.7.2. Deploying the standalone User Operator

    +

    5.8.2. Deploying the standalone User Operator

    This procedure shows how to deploy the User Operator as a standalone component for user management. You can use a standalone User Operator with a Kafka cluster that is not managed by the Cluster Operator.

    @@ -9661,6 +9575,196 @@

    +
    +

    9.6.3. Manually stopping or pausing Kafka Connect connectors

    +
    +

    If you are using KafkaConnector resources to configure connectors, use the state configuration to either stop or pause a connector. +In contrast to the paused state, where the connector and tasks remain instantiated, stopping a connector retains only the configuration, with no active processes. +Stopping a connector from running may be more suitable for longer durations than just pausing. +While a paused connector is quicker to resume, a stopped connector has the advantages of freeing up memory and resources.

    +
    +
    + + + + + +
    +
    Note
    +
    +The state configuration replaces the (deprecated) pause configuration in the KafkaConnectorSpec schema, which allows pauses on connectors. +If you were previously using the pause configuration to pause connectors, we encourage you to transition to using the state configuration only to avoid conflicts. +
    +
    +
    +
    Prerequisites
    +
      +
    • +

      The Cluster Operator is running.

      +
    • +
    +
    +
    +
    Procedure
    +
      +
    1. +

      Find the name of the KafkaConnector custom resource that controls the connector you want to pause or stop:

      +
      +
      +
      kubectl get KafkaConnector
      +
      +
      +
    2. +
    3. +

      Edit the KafkaConnector resource to stop or pause the connector.

      +
      +
      Example configuration for stopping a Kafka Connect connector
      +
      +
      apiVersion: kafka.strimzi.io/v1beta2
      +kind: KafkaConnector
      +metadata:
      +  name: my-source-connector
      +  labels:
      +    strimzi.io/cluster: my-connect-cluster
      +spec:
      +  class: org.apache.kafka.connect.file.FileStreamSourceConnector
      +  tasksMax: 2
      +  config:
      +    file: "/opt/kafka/LICENSE"
      +    topic: my-topic
      +  state: stopped
      +  # ...
      +
      +
      +
      +

      Change the state configuration to stopped or paused. +The default state for the connector when this property is not set is running.

      +
      +
    4. +
    5. +

      Apply the changes to the KafkaConnector configuration.

      +
      +

      You can resume the connector by changing state to running or removing the configuration.

      +
      +
    6. +
    +
    +
    + + + + + +
    +
    Note
    +
    +Alternatively, you can expose the Kafka Connect API and use the stop and pause endpoints to stop a connector from running. +For example, PUT /connectors/<connector_name>/stop. +You can then use the resume endpoint to restart it. +
    +
    +
    +
    +

    9.6.4. Manually restarting Kafka Connect connectors

    +
    +

    If you are using KafkaConnector resources to manage connectors, use the strimzi.io/restart annotation to manually trigger a restart of a connector.

    +
    +
    +
    Prerequisites
    +
      +
    • +

      The Cluster Operator is running.

      +
    • +
    +
    +
    +
    Procedure
    +
      +
    1. +

      Find the name of the KafkaConnector custom resource that controls the Kafka connector you want to restart:

      +
      +
      +
      kubectl get KafkaConnector
      +
      +
      +
    2. +
    3. +

      Restart the connector by annotating the KafkaConnector resource in Kubernetes:

      +
      +
      +
      kubectl annotate KafkaConnector <kafka_connector_name> strimzi.io/restart=true
      +
      +
      +
      +

      The restart annotation is set to true.

      +
      +
    4. +
    5. +

      Wait for the next reconciliation to occur (every two minutes by default).

      +
      +

      The Kafka connector is restarted, as long as the annotation was detected by the reconciliation process. +When Kafka Connect accepts the restart request, the annotation is removed from the KafkaConnector custom resource.

      +
      +
    6. +
    +
    +
    +
    +

    9.6.5. Manually restarting Kafka Connect connector tasks

    +
    +

    If you are using KafkaConnector resources to manage connectors, use the strimzi.io/restart-task annotation to manually trigger a restart of a connector task.

    +
    +
    +
    Prerequisites
    +
      +
    • +

      The Cluster Operator is running.

      +
    • +
    +
    +
    +
    Procedure
    +
      +
    1. +

      Find the name of the KafkaConnector custom resource that controls the Kafka connector task you want to restart:

      +
      +
      +
      kubectl get KafkaConnector
      +
      +
      +
    2. +
    3. +

      Find the ID of the task to be restarted from the KafkaConnector custom resource:

      +
      +
      +
      kubectl describe KafkaConnector <kafka_connector_name>
      +
      +
      +
      +

      Task IDs are non-negative integers, starting from 0.

      +
      +
    4. +
    5. +

      Use the ID to restart the connector task by annotating the KafkaConnector resource in Kubernetes:

      +
      +
      +
      kubectl annotate KafkaConnector <kafka_connector_name> strimzi.io/restart-task=0
      +
      +
      +
      +

      In this example, task 0 is restarted.

      +
      +
    6. +
    7. +

      Wait for the next reconciliation to occur (every two minutes by default).

      +
      +

      The Kafka connector task is restarted, as long as the annotation was detected by the reconciliation process. +When Kafka Connect accepts the restart request, the annotation is removed from the KafkaConnector custom resource.

      +
      +
    8. +
    +
    +

    9.7. Configuring Kafka MirrorMaker 2

    @@ -11465,6 +11569,219 @@

    +

    9.7.8. Manually stopping or pausing MirrorMaker 2 connectors

    +
    +

    If you are using KafkaMirrorMaker2 resources to configure internal MirrorMaker connectors, use the state configuration to either stop or pause a connector. +In contrast to the paused state, where the connector and tasks remain instantiated, stopping a connector retains only the configuration, with no active processes. +Stopping a connector from running may be more suitable for longer durations than just pausing. +While a paused connector is quicker to resume, a stopped connector has the advantages of freeing up memory and resources.

    +
    +
    + + + + + +
    +
    Note
    +
    +The state configuration replaces the (deprecated) pause configuration in the KafkaMirrorMaker2ConnectorSpec schema, which allows pauses on connectors. +If you were previously using the pause configuration to pause connectors, we encourage you to transition to using the state configuration only to avoid conflicts. +
    +
    +
    +
    Prerequisites
    +
      +
    • +

      The Cluster Operator is running.

      +
    • +
    +
    +
    +
    Procedure
    +
      +
    1. +

      Find the name of the KafkaMirrorMaker2 custom resource that controls the MirrorMaker 2 connector you want to pause or stop:

      +
      +
      +
      kubectl get KafkaMirrorMaker2
      +
      +
      +
    2. +
    3. +

      Edit the KafkaMirrorMaker2 resource to stop or pause the connector.

      +
      +
      Example configuration for stopping a MirrorMaker 2 connector
      +
      +
      apiVersion: kafka.strimzi.io/v1beta2
      +kind: KafkaMirrorMaker2
      +metadata:
      +  name: my-mirror-maker2
      +spec:
      +  version: 3.6.0
      +  replicas: 3
      +  connectCluster: "my-cluster-target"
      +  clusters:
      +    # ...
      +  mirrors:
      +  - sourceCluster: "my-cluster-source"
      +    targetCluster: "my-cluster-target"
      +    sourceConnector:
      +      tasksMax: 10
      +      autoRestart:
      +        enabled: true
      +      state: stopped
      +  # ...
      +
      +
      +
      +

      Change the state configuration to stopped or paused. +The default state for the connector when this property is not set is running.

      +
      +
    4. +
    5. +

      Apply the changes to the KafkaMirrorMaker2 configuration.

      +
      +

      You can resume the connector by changing state to running or removing the configuration.

      +
      +
    6. +
    +
    +
    + + + + + +
    +
    Note
    +
    +Alternatively, you can expose the Kafka Connect API and use the stop and pause endpoints to stop a connector from running. +For example, PUT /connectors/<connector_name>/stop. +You can then use the resume endpoint to restart it. +
    +
    +

    +
    +

    9.7.9. Manually restarting MirrorMaker 2 connectors

    +
    +

    Use the strimzi.io/restart-connector annotation to manually trigger a restart of a MirrorMaker 2 connector.

    +
    +
    +
    Prerequisites
    +
      +
    • +

      The Cluster Operator is running.

      +
    • +
    +
    +
    +
    Procedure
    +
      +
    1. +

      Find the name of the KafkaMirrorMaker2 custom resource that controls the Kafka MirrorMaker 2 connector you want to restart:

      +
      +
      +
      kubectl get KafkaMirrorMaker2
      +
      +
      +
    2. +
    3. +

      Find the name of the Kafka MirrorMaker 2 connector to be restarted from the KafkaMirrorMaker2 custom resource:

      +
      +
      +
      kubectl describe KafkaMirrorMaker2 <mirrormaker_cluster_name>
      +
      +
      +
    4. +
    5. +

      Use the name of the connector to restart the connector by annotating the KafkaMirrorMaker2 resource in Kubernetes:

      +
      +
      +
      kubectl annotate KafkaMirrorMaker2 <mirrormaker_cluster_name> "strimzi.io/restart-connector=<mirrormaker_connector_name>"
      +
      +
      +
      +

      In this example, connector my-connector in the my-mirror-maker-2 cluster is restarted:

      +
      +
      +
      +
      kubectl annotate KafkaMirrorMaker2 my-mirror-maker-2 "strimzi.io/restart-connector=my-connector"
      +
      +
      +
    6. +
    7. +

      Wait for the next reconciliation to occur (every two minutes by default).

      +
      +

      The MirrorMaker 2 connector is restarted, as long as the annotation was detected by the reconciliation process. +When MirrorMaker 2 accepts the request, the annotation is removed from the KafkaMirrorMaker2 custom resource.

      +
      +
    8. +
    +
    +
    +
    +

    9.7.10. Manually restarting MirrorMaker 2 connector tasks

    +
    +

    Use the strimzi.io/restart-connector-task annotation to manually trigger a restart of a MirrorMaker 2 connector.

    +
    +
    +
    Prerequisites
    +
      +
    • +

      The Cluster Operator is running.

      +
    • +
    +
    +
    +
    Procedure
    +
      +
    1. +

      Find the name of the KafkaMirrorMaker2 custom resource that controls the MirrorMaker 2 connector task you want to restart:

      +
      +
      +
      kubectl get KafkaMirrorMaker2
      +
      +
      +
    2. +
    3. +

      Find the name of the connector and the ID of the task to be restarted from the KafkaMirrorMaker2 custom resource:

      +
      +
      +
      kubectl describe KafkaMirrorMaker2 <mirrormaker_cluster_name>
      +
      +
      +
      +

      Task IDs are non-negative integers, starting from 0.

      +
      +
    4. +
    5. +

      Use the name and ID to restart the connector task by annotating the KafkaMirrorMaker2 resource in Kubernetes:

      +
      +
      +
      kubectl annotate KafkaMirrorMaker2 <mirrormaker_cluster_name> "strimzi.io/restart-connector-task=<mirrormaker_connector_name>:<task_id>"
      +
      +
      +
      +

      In this example, task 0 for connector my-connector in the my-mirror-maker-2 cluster is restarted:

      +
      +
      +
      +
      kubectl annotate KafkaMirrorMaker2 my-mirror-maker-2 "strimzi.io/restart-connector-task=my-connector:0"
      +
      +
      +
    6. +
    7. +

      Wait for the next reconciliation to occur (every two minutes by default).

      +
      +

      The MirrorMaker 2 connector task is restarted, as long as the annotation was detected by the reconciliation process. +When MirrorMaker 2 accepts the request, the annotation is removed from the KafkaMirrorMaker2 custom resource.

      +
      +
    8. +
    +
    +
    @@ -36504,126 +36821,7 @@

    -

    25.10. Performing restarts of MirrorMaker 2 connectors using annotations

    -
    -

    This procedure describes how to manually trigger a restart of a Kafka MirrorMaker 2 connector by using a Kubernetes annotation.

    -
    -
    -
    Prerequisites
    -
      -
    • -

      The Cluster Operator is running.

      -
    • -
    -
    -
    -
    Procedure
    -
      -
    1. -

      Find the name of the KafkaMirrorMaker2 custom resource that controls the Kafka MirrorMaker 2 connector you want to restart:

      -
      -
      -
      kubectl get KafkaMirrorMaker2
      -
      -
      -
    2. -
    3. -

      Find the name of the Kafka MirrorMaker 2 connector to be restarted from the KafkaMirrorMaker2 custom resource.

      -
      -
      -
      kubectl describe KafkaMirrorMaker2 KAFKAMIRRORMAKER-2-NAME
      -
      -
      -
    4. -
    5. -

      To restart the connector, annotate the KafkaMirrorMaker2 resource in Kubernetes. -In this example, kubectl annotate restarts a connector named my-source->my-target.MirrorSourceConnector:

      -
      -
      -
      kubectl annotate KafkaMirrorMaker2 KAFKAMIRRORMAKER-2-NAME "strimzi.io/restart-connector=my-source->my-target.MirrorSourceConnector"
      -
      -
      -
    6. -
    7. -

      Wait for the next reconciliation to occur (every two minutes by default).

      -
      -

      The Kafka MirrorMaker 2 connector is restarted, as long as the annotation was detected by the reconciliation process. -When the restart request is accepted, the annotation is removed from the KafkaMirrorMaker2 custom resource.

      -
      -
    8. -
    -
    -
    -
    Additional resources
    - -
    -

    -
    -

    25.11. Performing restarts of MirrorMaker 2 connector tasks using annotations

    -
    -

    This procedure describes how to manually trigger a restart of a Kafka MirrorMaker 2 connector task by using a Kubernetes annotation.

    -
    -
    -
    Prerequisites
    -
      -
    • -

      The Cluster Operator is running.

      -
    • -
    -
    -
    -
    Procedure
    -
      -
    1. -

      Find the name of the KafkaMirrorMaker2 custom resource that controls the Kafka MirrorMaker 2 connector you want to restart:

      -
      -
      -
      kubectl get KafkaMirrorMaker2
      -
      -
      -
    2. -
    3. -

      Find the name of the Kafka MirrorMaker 2 connector and the ID of the task to be restarted from the KafkaMirrorMaker2 custom resource. -Task IDs are non-negative integers, starting from 0.

      -
      -
      -
      kubectl describe KafkaMirrorMaker2 KAFKAMIRRORMAKER-2-NAME
      -
      -
      -
    4. -
    5. -

      To restart the connector task, annotate the KafkaMirrorMaker2 resource in Kubernetes. -In this example, kubectl annotate restarts task 0 of a connector named my-source->my-target.MirrorSourceConnector:

      -
      -
      -
      kubectl annotate KafkaMirrorMaker2 KAFKAMIRRORMAKER-2-NAME "strimzi.io/restart-connector-task=my-source->my-target.MirrorSourceConnector:0"
      -
      -
      -
    6. -
    7. -

      Wait for the next reconciliation to occur (every two minutes by default).

      -
      -

      The Kafka MirrorMaker 2 connector task is restarted, as long as the annotation was detected by the reconciliation process. -When the restart task request is accepted, the annotation is removed from the KafkaMirrorMaker2 custom resource.

      -
      -
    8. -
    -
    -
    -
    Additional resources
    - -
    -
    -
    -

    25.12. Recovering a cluster from persistent volumes

    +

    25.10. Recovering a cluster from persistent volumes

    You can recover a Kafka cluster from persistent volumes (PVs) if they are still present.

    @@ -36641,7 +36839,7 @@

    25.12

    -

    25.12.1. Recovery from namespace deletion

    +

    25.10.1. Recovery from namespace deletion

    Recovery from namespace deletion is possible because of the relationship between persistent volumes and namespaces. A PersistentVolume (PV) is a storage resource that lives outside of a namespace. @@ -36719,14 +36917,14 @@

    2

    -

    25.12.2. Recovery from loss of a Kubernetes cluster

    +

    25.10.2. Recovery from loss of a Kubernetes cluster

    When a cluster is lost, you can use the data from disks/volumes to recover the cluster if they were preserved within the infrastructure. The recovery procedure is the same as with namespace deletion, assuming PVs can be recovered and they were created manually.

    -

    25.12.3. Recovering a deleted cluster from persistent volumes

    +

    25.10.3. Recovering a deleted cluster from persistent volumes

    This procedure describes how to recover a deleted cluster from persistent volumes (PVs).

    @@ -37038,7 +37236,7 @@

    -

    25.13. Uninstalling Strimzi

    +

    25.11. Uninstalling Strimzi

    You can uninstall Strimzi using the CLI or by unsubscribing from OperatorHub.io.

    @@ -37085,7 +37283,7 @@

    -

    25.13.1. Uninstalling Strimzi using the CLI

    +

    25.11.1. Uninstalling Strimzi using the CLI

    This procedure describes how to use the kubectl command-line tool to uninstall Strimzi and remove resources related to the deployment.

    @@ -37147,7 +37345,7 @@

    25.13.1. Unin

    -

    25.13.2. Uninstalling Strimzi from OperatorHub.io

    +

    25.11.2. Uninstalling Strimzi from OperatorHub.io

    This procedure describes how to uninstall Strimzi from OperatorHub.io and remove resources related to the deployment.

    @@ -37209,9 +37407,9 @@

    -

    25.14. Frequently asked questions

    +

    25.12. Frequently asked questions

    - +
    Why do I need cluster administrator privileges to install Strimzi?
    @@ -37373,7 +37571,7 @@
    diff --git a/docs/operators/in-development/full/overview.html b/docs/operators/in-development/full/overview.html index c9d36360a..5721d4d09 100644 --- a/docs/operators/in-development/full/overview.html +++ b/docs/operators/in-development/full/overview.html @@ -2826,7 +2826,7 @@