Kubernetes

Since Camel 2.17

The Kubernetes components integrate your application with Kubernetes standalone or on top of Openshift.

Kubernetes components

See the following for usage of each component:

Kubernetes ConfigMap

Perform operations on Kubernetes ConfigMaps and get notified on ConfigMaps changes.

Kubernetes Cronjob

Perform operations on Kubernetes CronJob.

Kubernetes Custom Resources

Perform operations on Kubernetes Custom Resources and get notified on Deployment changes.

Kubernetes Deployments

Perform operations on Kubernetes Deployments and get notified on Deployment changes.

Kubernetes Event

Perform operations on Kubernetes Events and get notified on Events changes.

Kubernetes HPA

Perform operations on Kubernetes Horizontal Pod Autoscalers (HPA) and get notified on HPA changes.

Kubernetes Job

Perform operations on Kubernetes Jobs.

Kubernetes Namespaces

Perform operations on Kubernetes Namespaces and get notified on Namespace changes.

Kubernetes Nodes

Perform operations on Kubernetes Nodes and get notified on Node changes.

Kubernetes Persistent Volume

Perform operations on Kubernetes Persistent Volumes and get notified on Persistent Volume changes.

Kubernetes Persistent Volume Claim

Perform operations on Kubernetes Persistent Volumes Claims and get notified on Persistent Volumes Claim changes.

Kubernetes Pods

Perform operations on Kubernetes Pods and get notified on Pod changes.

Kubernetes Replication Controller

Perform operations on Kubernetes Replication Controllers and get notified on Replication Controllers changes.

Kubernetes Resources Quota

Perform operations on Kubernetes Resources Quotas.

Kubernetes Secrets

Perform operations on Kubernetes Secrets.

Kubernetes Service Account

Perform operations on Kubernetes Service Accounts.

Kubernetes Services

Perform operations on Kubernetes Services and get notified on Service changes.

Openshift Build Config

Perform operations on OpenShift Build Configs.

Openshift Builds

Perform operations on OpenShift Builds.

Openshift Deployment Configs

Perform operations on Openshift Deployment Configs and get notified on Deployment Config changes.

Installation

Maven users will need to add the following dependency to their pom.xml for this component:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-kubernetes</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

Usage

Producer examples

Here we show some examples of producer using camel-kubernetes.

Create a pod

from("direct:createPod")
    .toF("kubernetes-pods://%s?oauthToken=%s&operation=createPod", host, authToken);

By using the KubernetesConstants.KUBERNETES_POD_SPEC header you can specify your PodSpec and pass it to this operation.

Delete a pod

from("direct:createPod")
    .toF("kubernetes-pods://%s?oauthToken=%s&operation=deletePod", host, authToken);

By using the KubernetesConstants.KUBERNETES_POD_NAME header you can specify your Pod name and pass it to this operation.

Using Kubernetes ConfigMaps and Secrets

The camel-kubernetes component also provides Property Placeholder functions that loads the property values from Kubernetes ConfigMaps or Secrets.

For more information see Property Placeholder.