@Override public NonNamespaceOperation<Node, NodeList, DoneableNode, Resource<Node, DoneableNode>> nodes() { return delegate.nodes(); }
public String getURL(Service service, String portName, String namespace, KubernetesClient client) { ServicePort port = URLFromServiceUtil.getServicePortByName(service, portName); String serviceProto = port.getProtocol(); NodePortUrlComponents urlComponents = null; Integer nodePort = port.getNodePort(); if(nodePort != null) { try { NodeList nodeList = client.nodes().list(); if(nodeList != null && nodeList.getItems() != null) { for(Node item : nodeList.getItems()) { urlComponents = getUrlComponentsFromNodeList(item.getStatus(), nodePort); if(urlComponents != null) { break; } } } } catch (KubernetesClientException exception) { logger.warn("Could not find a node! " + exception); } } return urlComponents != null ? (serviceProto + "://" + urlComponents.getClusterIP() + ":" + urlComponents.getPortNumber()).toLowerCase() : null; }
@Override public NonNamespaceOperation<Node, NodeList, DoneableNode, Resource<Node, DoneableNode>> nodes() { return delegate.nodes(); }
protected void doListNodesByLabels(Exchange exchange, String operation) throws Exception { NodeList nodeList = null; Map<String, String> labels = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NODES_LABELS, Map.class); NonNamespaceOperation<Node, NodeList, DoneableNode, Resource<Node, DoneableNode>> nodes = getEndpoint().getKubernetesClient().nodes(); for (Map.Entry<String, String> entry : labels.entrySet()) { nodes.withLabel(entry.getKey(), entry.getValue()); } nodeList = nodes.list(); MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(nodeList.getItems()); }
protected void doGetNode(Exchange exchange, String operation) throws Exception { Node node = null; String pvName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NODE_NAME, String.class); if (ObjectHelper.isEmpty(pvName)) { LOG.error("Get a specific Node require specify a Node name"); throw new IllegalArgumentException("Get a specific Node require specify a Node name"); } node = getEndpoint().getKubernetesClient().nodes().withName(pvName).get(); MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(node); } }
protected void doList(Exchange exchange, String operation) throws Exception { NodeList nodeList = getEndpoint().getKubernetesClient().nodes().list(); MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true); exchange.getOut().setBody(nodeList.getItems()); }
/** * Write the external address of this node * * @return if the operation was executed successfully */ public boolean writeExternalAddress() { List<NodeAddress> addresses = client.nodes().withName(config.getNodeName()).get().getStatus().getAddresses(); log.info("NodeLabels = {}", addresses); String externalAddress = findAddress(addresses); if (externalAddress == null) { log.error("External address nto found"); return false; } else { log.info("External address found {}", externalAddress); } return write(FILE_EXTERNAL_ADDRESS, externalAddress); }
/** * Write the rack-id * * @return if the operation was executed successfully */ public boolean writeRack() { Map<String, String> nodeLabels = client.nodes().withName(config.getNodeName()).get().getMetadata().getLabels(); log.info("NodeLabels = {}", nodeLabels); String rackId = nodeLabels.get(config.getRackTopologyKey()); log.info("Rack: {} = {}", config.getRackTopologyKey(), rackId); if (rackId == null) { log.error("Node {} doesn't have the label {} for getting the rackid", config.getNodeName(), config.getRackTopologyKey()); return false; } return write(FILE_RACK_ID, rackId); }
private Node getNodeOfPod(String podName) { Node node; if (Utils.isNullOrEmpty(podName)) { LOGGER.warning("Failed to find the current pod name."); return null; } Pod pod = client.pods().withName(podName).get(); if (pod == null) { LOGGER.warning("Failed to find pod with name:" + podName + " in namespace:" + client.getNamespace() + "."); node = null; } else { String nodeName = pod.getSpec().getNodeName(); node = client.nodes().withName(nodeName).get(); } if (node == null) { LOGGER.warning("Failed to find pod with name:" + podName + "."); return null; } else { return node; } }
public void scanNodes() { ScannerContext sc = new ScannerContext(); sc.withName("KubeNode").exec(ctx -> { getKubernetesClient().nodes().list().getItems().forEach(it -> { scanNode(it); }); }); /* getNeoRxClient().execCypher( "match (n:KubeNode {clusterId:{clusterId}}),(ns:KubeNamespace {clusterId:{clusterId}}) " + "where n.namespace=ns.name " + " merge (ns)-[c:CONTAINS]->(n) on create set c.createTs=timestamp() set c.updateTs=timestamp()", "clusterId", clusterId); */ getNeoRxClient().execCypher( "match (n:KubeNode {clusterId:{clusterId}}),(c:KubeCluster {clusterId:{clusterId}}) " + " merge (c)-[x:CONTAINS]->(n) on create set c.createTs=timestamp() set c.updateTs=timestamp()", "clusterId", clusterId); }
Integer nodePort = port.getNodePort(); if (nodePort != null) { NodeList nodeList = client.nodes().list(); if (nodeList != null) { List<Node> items = nodeList.getItems();
@Override public void run() { NonNamespaceOperation<Node, NodeList, DoneableNode, Resource<Node, DoneableNode>> w = getEndpoint().getKubernetesClient().nodes(); if (ObjectHelper.isNotEmpty(getEndpoint().getKubernetesConfiguration().getLabelKey()) && ObjectHelper.isNotEmpty(getEndpoint().getKubernetesConfiguration().getLabelValue())) {