Red Hat Training

A Red Hat training course is available for Red Hat Fuse

Chapter 93. Kubernetes

Kubernetes Component

Available as of Camel 2.17
The Kubernetes component is a component for integrating your application with Kubernetes standalone or on top of Openshift.
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>

URI format

kubernetes:masterUrl[?options]
You can append query options to the URI in the following format, ?option=value&option=value&...

Options

Name
Default Value
Description
masterUrl
null
Mandatory: The Kubernetes master URL
category
Mandatory: The category of producer/consumer. Possible values: namespaces, services, replicationControllers, pods, persistentVolumes, persistentVolumesClaims, secrets, resourcesQuota, serviceAccounts, nodes, builds, buildConfigs
username
The user name for login to Kubernetes cluster
password
The password for login to Kubernetes cluster
operation
Producer only: The operation that producer will do. Possible values:
listNamespaces, listNamespacesByLabels, getNamespace, createNamespace, deleteNamespace, listServices, listServicesByLabels, getService, createService, deleteService, listReplicationControllers, listReplicationControllersByLabels, getReplicationController, createReplicationController, deleteReplicationController, listPods, listPodsByLabels, getPod, createPod, deletePod, listPersistentVolumes, listPersistentVolumesByLabels, getPersistentVolume, listPersistentVolumesClaims, listPersistentVolumesClaimsByLabels, getPersistentVolumeClaim, createPersistentVolumeClaim, deletePersistentVolumeClaim, listSecrets, listSecretsByLabels, getSecret, createSecret, deleteSecret, listResourcesQuota, listResourcesQuotaByLabels, getResourceQuota, createResourceQuota, deleteResourceQuota, listServiceAccounts, listServiceAccountsByLabels, getServiceAccount, createServiceAccount, deleteServiceAccount, listNodes, listNodesByLabels, getNode, listBuilds, listBuildsByLabels, getBuild, listBuildConfigs, listBuildConfigsByLabels, getBuildConfig
apiVersion
The API Version to use
caCertFile
Path to CA cert file
caCertData
Path to CA cert data
clientCertFile
Path to client cert file
clientCertData
Path to client cert data
clientKeyAlgo
Key algorithm used by client
clientKeyFile
Path to client key file
clientKeyData
Path to client key data
clientKeyPassphrase
Client key passphrase
oauthToken
Authorization token
trustCerts
Define if the certs are trusted by default
namespaceName
Consumer only: The namespace the consumer will watch
poolSize
Consumer only: The Threadpool size for the Kubernetes consumer

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
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