@Bean public KubernetesClientServicesFunction servicesFunction(KubernetesDiscoveryProperties properties) { if (properties.getServiceLabels().isEmpty()) { return KubernetesClient::services; } return (client) -> client.services().withLabels(properties.getServiceLabels()); }
if (!subsets.isEmpty()) { final Service service = client.services().withName(serviceId).get();
@Override public MixedOperation<Service, ServiceList, DoneableService, ServiceResource<Service, DoneableService>> services() { return delegate.services(); }
@Override public List<String> getServices() { return client.services().list() .getItems() .stream().map(s -> s.getMetadata().getName()) .collect(Collectors.toList()); } }
@Override protected MixedOperation<Service, ServiceList, DoneableService, ServiceResource<Service, DoneableService>> operation() { return client.services(); }
podList.getItems().forEach((obj) -> { System.out.println(obj.getMetadata().getName()); }); Integer services = client.services().inNamespace("myproject").list(1, null).getItems().size(); System.out.println(services); } catch (KubernetesClientException e) {
public static void main(String args[]) { try (final KubernetesClient client = new DefaultKubernetesClient()) { Service service = new ServiceBuilder() .withNewMetadata() .withName("my-service") .endMetadata() .withNewSpec() .withSelector(Collections.singletonMap("app", "MyApp")) .addNewPort() .withName("test-port") .withProtocol("TCP") .withPort(80) .withTargetPort(new IntOrString(9376)) .endPort() .withType("LoadBalancer") .endSpec() .withNewStatus() .withNewLoadBalancer() .addNewIngress() .withIp("146.148.47.155") .endIngress() .endLoadBalancer() .endStatus() .build(); service = client.services().inNamespace(client.getNamespace()).create(service); log("Created service with name ", service.getMetadata().getName()); String serviceURL = client.services().inNamespace(client.getNamespace()).withName(service.getMetadata().getName()).getURL("test-port"); log("Service URL", serviceURL); } }
protected Service requireService(String serviceName) { Service answer = kubernetes.services().withName(serviceName).get(); Objects.requireNonNull(answer, "No Service found for name: " + serviceName); return answer; }
private static ServiceList getServicesByLabel(Map<String, String> labels, KubernetesClient client) throws KubernetesClientException { Objects.requireNonNull(client, "no client available"); final MixedOperation<Service, ServiceList, DoneableService, Resource<Service, DoneableService>> services = client.services(); final FilterWatchListDeletable<Service, ServiceList, Boolean, Watch, Watcher<Service>> listable = createLabelFilterQuery(labels, services); return listable.list(); }
@Override public List<String> getServices() { return client.services().list() .getItems() .stream().map(s -> s.getMetadata().getName()) .collect(Collectors.toList()); } }
@Override protected void mocker(KubernetesClient mockClient, MixedOperation op) { when(mockClient.services()).thenReturn(op); }
/*** * Delete service by name * @param namespace * @param serviceName */ public void deleteService(String namespace, String serviceName) { client.services().inNamespace(namespace).withName(serviceName).delete(); log.info("Service {} removed", serviceName); }
private static Optional<Service> findServiceEntry( JsonObject env, KubernetesClient client, String serviceName) { Objects.requireNonNull(client, "no client available"); final String resolvedServiceName = resolveProperty(env, serviceName); return Optional.ofNullable(client.services().inNamespace(client.getNamespace()).list()) .orElse(new ServiceList()) .getItems() .stream() .filter(item -> item.getMetadata().getName().equalsIgnoreCase(resolvedServiceName)) .findFirst(); }
@Override public void create(String kubeName, String namespace, Service service) throws RepositoryException { if (LOGGER.isLoggable(Level.CONFIG) ) { LOGGER.config("Creating Service: " + service.getMetadata().getName() ); } kubeRepository.getClient(kubeName).services().inNamespace(namespace).create(service); }
@Override public void delete(String kubeName, String namespace, Service service) throws RepositoryException { if (LOGGER.isLoggable(Level.CONFIG) ) { LOGGER.config("Deleting Service: " + service.getMetadata().getName() ); } kubeRepository.getClient(kubeName).services().inNamespace(namespace).delete(service); } }
@Override public Object lookup(ArquillianResource resource, Annotation... qualifiers) { KubernetesClient client = this.clientInstance.get(); Session session = sessionInstance.get(); Map<String, String> labels = getLabels(qualifiers); if( labels.isEmpty() ) { return client.services().inNamespace(session.getNamespace()).list(); } else { return client.services().inNamespace(session.getNamespace()).withLabels(labels).list(); } } }
@Override Service getCurrentResource() { return client .services() .inNamespace(getNamespace()) .withName(getName()) .get(); }
/*** * Creates service from resource * @param resources * @return endpoint of service */ public Endpoint createServiceFromResource(String namespace, Service resources) { Service serRes = client.services().inNamespace(namespace).create(resources); log.info("Service {} created", serRes.getMetadata().getName()); return getEndpoint(serRes.getMetadata().getName(), namespace, "http"); }
@Override public Object lookup(ArquillianResource resource, Annotation... qualifiers) { KubernetesClient client = this.clientInstance.get(); Session session = sessionInstance.get(); String name = getServiceName(qualifiers); return client.services().inNamespace(session.getNamespace()).withName(name).get(); } }
client.services().inNamespace("thisisatest").createNew() .withNewMetadata().withName("testservice").endMetadata() .withNewSpec() .endSpec() .done()); log("Updated service", client.services().inNamespace("thisisatest").withName("testservice").edit().editMetadata().addToLabels("test", "label").endMetadata().done()); client.replicationControllers().inNamespace("thisisatest").withField("metadata.name", "testservice").delete(); log("Deleted service by field");