// Module included in the following assemblies:
//
// deploying/assembly_deploy-options.adoc

[id='deploy-options-scope-{context}']
= Configuring a deployment

[role="_abstract"]
The deployment procedures in this guide are designed to help you set up the initial structure of your deployment.
After setting up the structure, you can use custom resources to configure the deployment to your precise needs.
The deployment procedures use the example installation files provided with Strimzi.
The procedures highlight any important configuration considerations, but they do not describe all the configuration options available.

You might want to review the configuration options available for Kafka components before you deploy Strimzi.
For more information on the configuration options, see link:{BookURLUsing}[_Configuring Strimzi_^].

== Securing Kafka

On deployment, the Cluster Operator automatically sets up TLS certificates for data encryption and authentication within your cluster.

Strimzi provides additional configuration options for _encryption_, _authentication_ and _authorization_:

* Secure data exchange between the Kafka cluster and clients by link:{BookURLUsing}#assembly-securing-access-str[Managing secure access to Kafka^].
* Configure your deployment to use an authorization server to provide link:{BookURLUsing}#assembly-oauth-authentication_str[OAuth 2.0 authentication^] and link:{BookURLUsing}#assembly-oauth-authorization_str[OAuth 2.0 authorization^].
* link:{BookURLUsing}#security-str[Secure Kafka using your own certificates^].

== Monitoring a deployment

Strimzi supports additional deployment options to monitor your deployment.

* Extract metrics and monitor Kafka components by xref:assembly-metrics-setup-str[deploying Prometheus and Grafana with your Kafka cluster].
* Extract additional metrics, particularly related to monitoring consumer lag, by xref:proc-metrics-kafka-deploy-options-{context}[deploying Kafka Exporter with your Kafka cluster].
* Track messages end-to-end by link:{BookURLUsing}#assembly-distributed-tracing-str[setting up distributed tracing^].

== CPU and memory resource limits and requests

By default, the Strimzi Cluster Operator does not specify requests and limits for CPU and memory resources for any operands it deploys.

Having sufficient resources is important for applications like Kafka to be stable and deliver good performance.

The right amount of resources you should use depends on the specific requirements and use-cases.

You should consider configuring the CPU and memory resources.
You can set resource requests and limits for each container in the link:{BookURLUsing}#con-common-configuration-resources-reference[Strimzi custom resources].
