Chapter 185. Kubernetes Components
Available as of Camel version 2.17
The Kubernetes components integrate your application with Kubernetes standalone or on top of Openshift.
The camel-kubernetes consists of 13 components:
In OpenShift, also:
- Kubernetes Build Config
- Kubernetes Build
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>185.1. Headers
| Name | Type | Description |
|---|---|---|
| CamelKubernetesOperation | String | The Producer operation |
| CamelKubernetesNamespaceName | String | The Namespace name |
| CamelKubernetesNamespaceLabels | Map | The Namespace Labels |
| CamelKubernetesServiceLabels | Map | The Service labels |
| CamelKubernetesServiceName | String | The Service name |
| CamelKubernetesServiceSpec | io.fabric8.kubernetes.api.model.ServiceSpec | The Spec for a Service |
| CamelKubernetesReplicationControllersLabels | Map | Replication controller labels |
| CamelKubernetesReplicationControllerName | String | Replication controller name |
| CamelKubernetesReplicationControllerSpec | io.fabric8.kubernetes.api.model.ReplicationControllerSpec | The Spec for a Replication Controller |
| CamelKubernetesReplicationControllerReplicas | Integer | The number of replicas for a Replication Controller during the Scale operation |
| CamelKubernetesPodsLabels | Map | Pod labels |
| CamelKubernetesPodName | String | Pod name |
| CamelKubernetesPodSpec | io.fabric8.kubernetes.api.model.PodSpec | The Spec for a Pod |
| CamelKubernetesPersistentVolumesLabels | Map | Persistent Volume labels |
| CamelKubernetesPersistentVolumesName | String | Persistent Volume name |
| CamelKubernetesPersistentVolumesClaimsLabels | Map | Persistent Volume Claim labels |
| CamelKubernetesPersistentVolumesClaimsName | String | Persistent Volume Claim name |
| CamelKubernetesPersistentVolumesClaimsSpec | io.fabric8.kubernetes.api.model.PersistentVolumeClaimSpec | The Spec for a Persistent Volume claim |
| CamelKubernetesSecretsLabels | Map | Secret labels |
| CamelKubernetesSecretsName | String | Secret name |
| CamelKubernetesSecret | io.fabric8.kubernetes.api.model.Secret | A Secret Object |
| CamelKubernetesResourcesQuotaLabels | Map | Resource Quota labels |
| CamelKubernetesResourcesQuotaName | String | Resource Quota name |
| CamelKubernetesResourceQuotaSpec | io.fabric8.kubernetes.api.model.ResourceQuotaSpec | The Spec for a Resource Quota |
| CamelKubernetesServiceAccountsLabels | Map | Service Account labels |
| CamelKubernetesServiceAccountName | String | Service Account name |
| CamelKubernetesServiceAccount | io.fabric8.kubernetes.api.model.ServiceAccount | A Service Account object |
| CamelKubernetesNodesLabels | Map | Node labels |
| CamelKubernetesNodeName | String | Node name |
| CamelKubernetesBuildsLabels | Map | Openshift Build labels |
| CamelKubernetesBuildName | String | Openshift Build name |
| CamelKubernetesBuildConfigsLabels | Map | Openshift Build Config labels |
| CamelKubernetesBuildConfigName | String | Openshift Build Config name |
| CamelKubernetesEventAction | io.fabric8.kubernetes.client.Watcher.Action | Action watched by the consumer |
| CamelKubernetesEventTimestamp | String | Timestamp of the action watched by the consumer |
| CamelKubernetesConfigMapName | String | ConfigMap name |
| CamelKubernetesConfigMapsLabels | Map | ConfigMap labels |
| CamelKubernetesConfigData | Map | ConfigMap Data |
185.2. Usage
185.2.1. Producer examples
Here we show some examples of producer using camel-kubernetes.
185.2.2. 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.
185.2.3. 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.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.