| = Kubernetes Components |
| :page-source: components/camel-kubernetes/src/main/docs/kubernetes.adoc |
| |
| *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: |
| |
| * xref:kubernetes-config-maps-component.adoc[Kubernetes ConfigMap] |
| * xref:kubernetes-namespaces-component.adoc[Kubernetes Namespace] |
| * xref:kubernetes-nodes-component.adoc[Kubernetes Node] |
| * xref:kubernetes-persistent-volumes-component.adoc[Kubernetes Persistent Volume] |
| * xref:kubernetes-persistent-volumes-claims-component.adoc[Kubernetes Persistent Volume Claim] |
| * xref:kubernetes-pods-component.adoc[Kubernetes Pod] |
| * xref:kubernetes-replication-controllers-component.adoc[Kubernetes Replication Controller] |
| * xref:kubernetes-resources-quota-component.adoc[Kubernetes Resource Quota] |
| * xref:kubernetes-secrets-component.adoc[Kubernetes Secrets] |
| * xref:kubernetes-service-accounts-component.adoc[Kubernetes Service Account] |
| * xref:kubernetes-services-component.adoc[Kubernetes Service] |
| |
| In OpenShift, also: |
| |
| * xref:openshift-build-configs-component.adoc[Kubernetes Build Config] |
| * Kubernetes Build |
| |
| |
| |
| Maven users will need to add the following dependency to |
| their `pom.xml` for this component: |
| [source,xml] |
| ------------------------------------------------------------ |
| <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> |
| ------------------------------------------------------------ |
| |
| |
| == Headers |
| |
| [width="100%",options="header"] |
| |======================================================================= |
| |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 |
| |======================================================================= |
| |
| |
| == Usage |
| |
| === Producer examples |
| |
| Here we show some examples of producer using camel-kubernetes. |
| |
| === Create a pod |
| |
| [source,java] |
| ------------------------------------------------------------- |
| 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 |
| |
| [source,java] |
| ------------------------------------------------------------- |
| 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. |