/** * Returns the Jolokia client for the first container in the pod which exposes the jolokia port */ public J4pClient clientForPod(Pod pod) { String host = KubernetesHelper.getHost(pod); List<Container> containers = KubernetesHelper.getContainers(pod); for (Container container : containers) { J4pClient jolokia = clientForContainer(host, container, pod); if (jolokia != null) { return jolokia; } } return null; }
public static int findHostPortForService(Pod pod, int serviceContainerPort) { List<Container> containers = KubernetesHelper.getContainers(pod); for (Container container : containers) { List<ContainerPort> ports = container.getPorts(); if (ports != null) { for (ContainerPort port : ports) { Integer containerPort = port.getContainerPort(); Integer hostPort = port.getHostPort(); if (containerPort != null && containerPort == serviceContainerPort) { if (hostPort != null) { return hostPort; } } } } } LOG.warn("Could not find host port for service port: {} pod: {}", serviceContainerPort, pod); return serviceContainerPort; }
@Override public String call() throws Exception { System.out.println("Updating pod " + pod); PodSpec desiredState = pod.getSpec(); Objects.notNull(desiredState, "desiredState"); PodStatus currentState = NodeHelper.getOrCreatetStatus(pod); List<Container> containers = KubernetesHelper.getContainers(pod); model.updatePod(podId, pod); return NodeHelper.createMissingContainers(processManager, model, pod, currentState, containers); } });
public void pollBrokers() { try { Map<String, Pod> podMap = KubernetesHelper.getSelectedPodMap(kubernetes, getBrokerSelector()); Collection<Pod> pods = podMap.values(); LOG.info("Checking " + getBrokerSelector() + ": groupSize = " + pods.size()); for (Pod pod : pods) { String host = KubernetesHelper.getHost(pod); List<Container> containers = KubernetesHelper.getContainers(pod); for (Container container : containers) { try { LOG.info("Checking pod " + getName(pod) + " container: " + container.getName() + " image: " + container.getImage()); J4pClient client = clients.clientForContainer(host, container, pod); populateBrokerStatistics(pod, client); } catch (Throwable e) { LOG.error("Failed to get broker statistics for pod: " + getName(pod)); } } } } catch (Throwable e) { LOG.error("Failed to pollBrokers ", e); } }
public void pollBrokers() { try { Map<String, Pod> podMap = KubernetesHelper.getSelectedPodMap(kubernetes,namespace, getBrokerSelector()); Collection<Pod> pods = podMap.values(); LOG.debug("Checking " + getBrokerSelector() + ": groupSize = " + pods.size()); for (Pod pod : pods) { if (KubernetesHelper.isPodRunning(pod)) { String host = KubernetesHelper.getHost(pod); List<Container> containers = KubernetesHelper.getContainers(pod); for (Container container : containers) { try { LOG.debug("Checking pod " + getName(pod) + " container: " + container.getName() + " image: " + container.getImage()); J4pClient client = clients.clientForContainer(host, container, pod); populateBrokerStatistics(pod, container, client); } catch (Throwable e) { LOG.error("Failed to get broker statistics for pod: " + getName(pod)); } } } } } catch (Throwable e) { LOG.error("Failed to pollBrokers ", e); } }
@Override public void updatePod(String id, Pod pod) { String namespace = defaultNamespace(KubernetesHelper.getNamespace(pod)); id = getOrCreateId(id, NodeHelper.KIND_POD); // lets make sure that for each container we have a current container created List<Container> containers = KubernetesHelper.getContainers(pod); for (Container container : containers) { String name = getOrCreateId(container.getName(), NodeHelper.KIND_POD); ContainerState containerState = NodeHelper.getOrCreateContainerState(pod, name); } getInternalPodMap(namespace).put(id, pod); }
public List<PhysicalAddress> findKubernetesHosts() { List<PhysicalAddress> addresses = new ArrayList<>(); Map<String, String> labels = Collections.singletonMap(Constants.JGROUPS_CLUSTER_NAME, cluster_name); for (Pod pod : client.pods().withLabels(labels).list().getItems()) { List<Container> containers = KubernetesHelper.getContainers(pod); for (Container container : containers) { for (ContainerPort port : container.getPorts()) { if (Constants.JGROUPS_TCP_PORT.equals(port.getName())) { try { String ip = pod.getStatus().getPodIP(); if (ip != null) { addresses.add(new IpAddress(ip, port.getContainerPort())); } } catch (Exception ex) { LOGGER.warn("Failed to create Address {}.", pod.getStatus().getPodIP()); } } } } } return addresses; }
brokerView.setBrokerName(brokerName.toString()); brokerView.setBrokerId(brokerId.toString()); List<Container> containers = KubernetesHelper.getContainers(pod);
final List<Container> containers = KubernetesHelper.getContainers(pod);
list.add(pod); List<Container> containers = KubernetesHelper.getContainers(podTemplateSpec); for (Container container : containers) { String containerName = getName(pod) + "-" + container.getName();