Camel K Operator fine tuning
Camel K Operators offers several possibility of customization. The default installation could be good in the most of the cases, but, we have a series of configuration that can be applied when you want to fine tune your Camel K operator and get the very best of it. The following settings will work for an installation via kamel
CLI, but the same configuration could be done with the other installation procedures by applying the required changes on the related configuration files.
changing some of the following configuration may affect the behavior of your Camel K Operator. Make sure to understand how to properly tune each configuration. |
Operator configuration
The operator installation can be customized by using the following parameters:
--operator-env-vars stringArray Add an environment variable to set in the operator Pod(s), as <name=value>
-x, --operator-id string Set the operator id that is used to select the resources this operator should manage (default "camel-k")
--operator-image string Set the operator Image used for the operator deployment
--operator-image-pull-policy string Set the operator ImagePullPolicy used for the operator deployment
--skip-cluster-setup Skip the cluster-setup phase
--skip-default-kamelets-setup Skip installation of the default Kamelets from catalog
--skip-operator-setup Do not install the operator in the namespace (in case there's a global one)
--skip-registry-setup Skip the registry-setup phase (may negatively impact building of integrations)
The above parameters are helpful to change the default Camel K operator configuration or to partially skip certain advanced configuration resources.
Resource management
We provide certain configuration to better "operationalize" the Camel K Operator:
--node-selector stringArray Add a NodeSelector to the operator Pod
--operator-resources stringArray Define the resources requests and limits assigned to the operator Pod as <requestType.requestResource=value> (i.e., limits.memory=256Mi)
--toleration stringArray Add a Toleration to the operator Pod
More detailed information on the resource management page.
Build configuration
We have several configuration used to influence the building of an integration:
--base-image string Set the base Image used to run integrations
--build-publish-strategy string Set the build publish strategy
--build-publish-strategy-option stringArray Add a build publish strategy option, as <name=value>
--build-strategy string Set the build strategy
--build-order-strategy string Set the build order strategy
--build-timeout string Set how long the build process can last
--max-running-pipelines int Maximum number of parallel running pipelines
A very important set of configuration you can provide is related to Maven:
--maven-ca-secret string Configure the secret key containing the Maven CA certificates (secret/key)
--maven-cli-option stringArray Add a default Maven CLI option to the list of arguments for Maven commands
--maven-extension stringArray Add a Maven build extension
--maven-local-repository string Path of the local Maven repository
--maven-property stringArray Add a Maven property
--maven-repository stringArray Add a Maven repository
--maven-settings string Configure the source of the Maven settings (configmap|secret:name[/key])
You can learn more in details in the Maven configuration page.
Publish configuration
Camel K requires a container registry where to store the applications built. These are the main configurations:
--organization string A organization on the Docker Hub that can be used to publish images
--registry string A container registry that can be used to publish images
--registry-auth-file string A container registry configuration file containing authorization tokens for pushing and pulling images
--registry-auth-password string The container registry authentication password
--registry-auth-server string The container registry authentication server
--registry-auth-username string The container registry authentication username
--registry-insecure Configure registry access in insecure mode or not (`http` vs `https`)
--registry-secret string A secret used to push/pull images to the container registry
We have a dedicated section to explain more in details how to configure a registry.
Monitoring
Camel K Operator provides certain monitoring capabilities. You can change the default settings:
--health-port int The port of the health endpoint (default 8081)
--monitoring To enable or disable the operator monitoring
--monitoring-port int The port of the metrics endpoint (default 8080)
--log-level string The level of operator logging (default - info): info or 0, debug or 1 (default "info")
You can learn more about how to monitor Camel K Operator.
Debugging
Camel K offers the possibility to execute debugging on the same operator program. Here is the list of settings available:
--debugging To enable or disable the operator debugging
--debugging-path string The path to the kamel executable file (default "/usr/local/bin/kamel")
--debugging-port int The port of the debugger (default 4040)
Installation topology
We have also certain configuration that let you control how to deploy your Camel K Operator(s):
--global Configure the operator to watch all namespaces. No integration platform is created. You can run integrations in a namespace by installing an integration platform: 'kamel install --skip-operator-setup -n my-namespace'
--operator-id string Set the operator id that is used to select the resources this operator should manage (default "camel-k")
Learn more about Camel K multi-tenancy.
OLM Specific parameters
OLM is one of the methodology and we have a few handy parameters to customize it:
--olm Try to install everything via OLM (Operator Lifecycle Manager) if available (default true)
--olm-channel string Name of the Camel K channel in the OLM source or marketplace
--olm-global-namespace string A namespace containing an OperatorGroup that defines global scope for the operator (used in combination with the --global flag)
--olm-operator-name string Name of the Camel K operator in the OLM source or marketplace
--olm-package string Name of the Camel K package in the OLM source or marketplace
--olm-source string Name of the OLM source providing the Camel K package (defaults to the standard Operator Hub source)
--olm-source-namespace string Namespace where the OLM source is available
--olm-starting-csv string Allow to install a specific version from the operator source instead of latest available from the channel
Have a look at OLM installation procedure.