60.7. Kubernetes Deployments Producer 示例
- ListDeployments:此操作列出了 kubernetes 集群上的部署。
from("direct:list").
toF("kubernetes-deployments:///?kubernetesClient=#kubernetesClient&operation=listDeployments").
to("mock:result");
此操作会返回集群中的 Deployment 列表。
- 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");
此操作使用标签选择器(带有 key1 和 key2 的值2)返回来自集群的 Deployment 列表。
60.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));
}
}
此消费者返回部署测试的命名空间 default 上的事件列表。