blob: 1ed6019f979e491b210210f7ca82e1b82bda11f7 [file] [log] [blame]
= Kubernetes Nodes Component
:doctitle: Kubernetes Nodes
:shortname: kubernetes-nodes
:artifactid: camel-kubernetes
:description: Perform operations on Kubernetes Nodes and get notified on Node changes.
:since: 2.17
:supportlevel: Stable
:tabs-sync-option:
:component-header: Both producer and consumer are supported
//Manually maintained attributes
:group: Kubernetes
:camel-spring-boot-name: kubernetes
*Since Camel {since}*
*{component-header}*
The Kubernetes Nodes component is one of xref:kubernetes-summary.adoc[Kubernetes Components] which
provides a producer to execute Kubernetes Node operations and a consumer to consume events related to Node objects.
// component-configure options: START
// component-configure options: END
// component options: START
include::partial$component-configure-options.adoc[]
include::partial$component-endpoint-options.adoc[]
// component options: END
// endpoint options: START
// endpoint options: END
// component headers: START
include::partial$component-endpoint-headers.adoc[]
// component headers: END
== Supported producer operation
- listNodes
- listNodesByLabels
- getNode
- createNode
- updateNode
- deleteNode
== Kubernetes Nodes Producer Examples
- listNodes: this operation list the nodes on a kubernetes cluster
[source,java]
--------------------------------------------------------------------------------
from("direct:list").
toF("kubernetes-nodes:///?kubernetesClient=#kubernetesClient&operation=listNodes").
to("mock:result");
--------------------------------------------------------------------------------
This operation return a List of Nodes from your cluster
- listNodesByLabels: this operation list the nodes by labels on a kubernetes cluster
[source,java]
--------------------------------------------------------------------------------
from("direct:listByLabels").process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
Map<String, String> labels = new HashMap<>();
labels.put("key1", "value1");
labels.put("key2", "value2");
exchange.getIn().setHeader(KubernetesConstants.KUBERNETES_NODES_LABELS, labels);
}
});
toF("kubernetes-deployments:///?kubernetesClient=#kubernetesClient&operation=listNodesByLabels").
to("mock:result");
--------------------------------------------------------------------------------
This operation return a List of Nodes from your cluster, using a label selector (with key1 and key2, with value value1 and value2)
== Kubernetes Nodes Consumer Example
[source,java]
--------------------------------------------------------------------------------
fromF("kubernetes-nodes://%s?oauthToken=%s&resourceName=test", host, authToken).process(new KubernertesProcessor()).to("mock:result");
public class KubernertesProcessor implements Processor {
@Override
public void process(Exchange exchange) throws Exception {
Message in = exchange.getIn();
Node node = exchange.getIn().getBody(Node.class);
log.info("Got event with configmap name: " + node.getMetadata().getName() + " and action " + in.getHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION));
}
}
--------------------------------------------------------------------------------
This consumer will return a list of events for the node test.
include::spring-boot:partial$starter.adoc[]