Chapter 186. 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>
186.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 |
186.2. Usage
186.2.1. Producer examples
Here we show some examples of producer using camel-kubernetes.
186.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.
186.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.