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
Create a pod
-
Java
-
XML
-
YAML
from("direct:createPod")
.to("kubernetes-pods://{{kubernetes-host}}?oauthToken={{kubernetes-token}}&operation=createPod"); <route>
<from uri="direct:createPod"/>
<to uri="kubernetes-pods://{{kubernetes-host}}?oauthToken={{kubernetes-token}}&operation=createPod"/>
</route> - route:
from:
uri: direct:createPod
steps:
- to:
uri: kubernetes-pods://{{kubernetes-host}}
parameters:
oauthToken: "{{kubernetes-token}}"
operation: createPod By using the CamelKubernetesPodSpec header, you can specify your PodSpec and pass it to this operation.
Delete a pod
-
Java
-
XML
-
YAML
from("direct:deletePod")
.to("kubernetes-pods://{{kubernetes-host}}?oauthToken={{kubernetes-token}}&operation=deletePod"); <route>
<from uri="direct:deletePod"/>
<to uri="kubernetes-pods://{{kubernetes-host}}?oauthToken={{kubernetes-token}}&operation=deletePod"/>
</route> - route:
from:
uri: direct:deletePod
steps:
- to:
uri: kubernetes-pods://{{kubernetes-host}}
parameters:
oauthToken: "{{kubernetes-token}}"
operation: deletePod By using the CamelKubernetesPodName 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 load the property values from Kubernetes ConfigMaps or Secrets.
For more information, see Property Placeholder.