Chapter 1. Introduction to Camel K This chapter introduces the concepts, features, and cloud-native architecture provided by Red Hat Integration - Camel K: Section 1.1, "Camel K overview" Section 1.2, "Camel K features" Section 1.2.3, "Kamelets" Section 1.3, "Camel K development tooling" Section 1.4, "Camel K distributions" 1.1. Camel K overview Red Hat Integration - Camel K is a lightweight integration framework built from Apache Camel K that runs natively in the cloud on OpenShift. Camel K is specifically designed for serverless and microservice architectures. You can use Camel K to instantly run your integration code written in Camel Domain Specific Language (DSL) directly on OpenShift. Camel K is a subproject of the Apache Camel open source community: https://github.com/apache/camel-k . Camel K is implemented in the Go programming language and uses the Kubernetes Operator SDK to automatically deploy integrations in the cloud. For example, this includes automatically creating services and routes on OpenShift. This provides much faster turnaround times when deploying and redeploying integrations in the cloud, such as a few seconds or less instead of minutes. The Camel K runtime provides significant performance optimizations. The Quarkus cloud-native Java framework is enabled by default to provide faster start up times, and lower memory and CPU footprints. When running Camel K in developer mode, you can make live updates to your integration DSL and view results instantly in the cloud on OpenShift, without waiting for your integration to redeploy. Using Camel K with OpenShift Serverless and Knative Serving, containers are created only as needed and are autoscaled under load up and down to zero. This reduces cost by removing the overhead of server provisioning and maintenance and enables you to focus on application development instead. Using Camel K with OpenShift Serverless and Knative Eventing, you can manage how components in your system communicate in an event-driven architecture for serverless applications. This provides flexibility and creates efficiencies through decoupled relationships between event producers and consumers using a publish-subscribe or event-streaming model. Additional resources Apache Camel K website Getting started with OpenShift Serverless 1.2. Camel K features The Camel K includes the following main platforms and features: 1.2.1. Platform and component versions OpenShift Container Platform 4.13, 4.14 OpenShift Serverless 1.31.1 Red Hat Build of Quarkus 2.13.8.Final-redhat-00006 Red Hat Camel Extensions for Quarkus 2.13.3.redhat-00008 Apache Camel K 1.10.5.redhat-00002 Apache Camel 3.18.6.redhat-00007 OpenJDK 11 1.2.2. Camel K features Knative Serving for autoscaling and scale-to-zero Knative Eventing for event-driven architectures Performance optimizations using Quarkus runtime by default Camel integrations written in Java or YAML DSL Development tooling with Visual Studio Code Monitoring of integrations using Prometheus in OpenShift Quickstart tutorials Kamelet Catalog of connectors to external systems such as AWS, Jira, and Salesforce The following diagram shows a simplified view of the Camel K cloud-native architecture: Additional resources Apache Camel architecture 1.2.3. Kamelets Kamelets hide the complexity of connecting to external systems behind a simple interface, which contains all the information needed to instantiate them, even for users who are not familiar with Camel. Kamelets are implemented as custom resources that you can install on an OpenShift cluster and use in Camel K integrations. Kamelets are route templates that use Camel components designed to connect to external systems without requiring deep understanding of the component. Kamelets abstract the details of connecting to external systems. You can also combine Kamelets to create complex Camel integrations, just like using standard Camel components. Additional resources Integrating Applications with Kamelets 1.3. Camel K development tooling The Camel K provides development tooling extensions for Visual Studio (VS) Code, Red Hat CodeReady WorkSpaces, and Eclipse Che. The Camel-based tooling extensions include features such as automatic completion of Camel DSL code, Camel K modeline configuration, and Camel K traits. The following VS Code development tooling extensions are available: VS Code Extension Pack for Apache Camel by Red Hat Tooling for Apache Camel K extension Language Support for Apache Camel extension Debug Adapter for Apache Camel K Additional extensions for OpenShift, Java and more For details on how to set up these VS Code extensions for Camel K, see Setting up your Camel K development environment . Important The following plugin VS Code Language support for Camel - a part of the Camel extension pack provides support for content assist when editing Camel routes and application.properties . To install a supported Camel K tooling extension for VS code to create, run and operate Camel K integrations on OpenShift, see VS Code Tooling for Apache Camel K by Red Hat extension To install a supported Camel debug tool extension for VS code to debug Camel integrations written in Java, YAML or XML locally, see Debug Adapter for Apache Camel by Red Hat For details about configurations and components to use the developer tool with specific product versions, see Camel K Supported Configurations and Camel K Component Details Note: The Camel K VS Code extensions are community features. Eclipse Che also provides these features using the vscode-camelk plug-in. For more information about scope of development support, see Development Support Scope of Coverage Additional resources VS Code tooling for Apache Camel K example Eclipse Che tooling for Apache Camel K 1.4. Camel K distributions Table 1.1. Red Hat Integration - Camel K distributions Distribution Description Location Operator image Container image for the Red Hat Integration - Camel K Operator: integration/camel-k-rhel8-operator OpenShift web console under Operators OperatorHub registry.redhat.io Maven repository Maven artifacts for Red Hat Integration - Camel K Red Hat provides Maven repositories that host the content we ship with our products. These repositories are available to download from the software downloads page. For Red Hat Integration - Camel K the following repositories are required: rhi-common rhi-camel-quarkus rhi-camel-k Installation of Red Hat Integration - Camel K in a disconnected environment (offline mode) is not supported. Software downloads of Red Hat build of Apache Camel Source code Source code for Red Hat Integration - Camel K Software downloads of Red Hat build of Apache Camel Quickstarts Quick start tutorials: Basic Java integration Event streaming integration JDBC integration JMS integration Kafka integration Knative integration SaaS integration Serverless API integration Transformations integration https://github.com/openshift-integration Note You must have a subscription for Red Hat build of Apache Camel K and be logged into the Red Hat Customer Portal to access the Red Hat Integration - Camel K distributions.

Commands: