71.7. Kubernetes Deployments Producer 示例
- listDeployments:此操作列出了 kubernetes 集群上的部署。
from("direct:list").
toF("kubernetes-deployments:///?kubernetesClient=#kubernetesClient&operation=listDeployments").
to("mock:result");
此操作会从集群中返回部署列表。
- listDeploymentsByLabels:此操作根据 kubernetes 集群上的标签列出部署。
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_DEPLOYMENTS_LABELS, labels);
}
});
toF("kubernetes-deployments:///?kubernetesClient=#kubernetesClient&operation=listDeploymentsByLabels").
to("mock:result");
此操作会返回来自集群的 Deployment 列表,使用标签选择器(带有 key1 和 key2,值为 value1 和 value2)。
71.7.1. Kubernetes Deployments Consumer 示例 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
fromF("kubernetes-deployments://%s?oauthToken=%s&namespace=default&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();
Deployment dp = exchange.getIn().getBody(Deployment.class);
log.info("Got event with configmap name: " + dp.getMetadata().getName() + " and action " + in.getHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION));
}
}
此使用者返回部署测试的命名空间默认上的事件列表。