io.fabric8.kubernetes.client.dsl.Resource类的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(14.7k)|赞(0)|评价(0)|浏览(177)

本文整理了Java中io.fabric8.kubernetes.client.dsl.Resource类的一些代码示例,展示了Resource类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Resource类的具体详情如下:
包路径:io.fabric8.kubernetes.client.dsl.Resource
类名称:Resource

Resource介绍

[英]Interface that describes the operation that can be done on a Kubernetes resource (e.g. Pod, Service etc). This is intended to act as the common denominator of resource operations. To accomodate resources with more specialized operations, this interface should be used as a base.
[中]描述可在Kubernetes资源(例如Pod、服务等)上执行的操作的接口。这是作为资源运营的共同点。为了让资源具有更专业的操作,应该将此接口用作基础。

代码示例

代码示例来源:origin: spring-cloud/spring-cloud-kubernetes

private static Map<String, String> getData(KubernetesClient client, String name,
  String namespace, String[] profiles) {
  try {
    ConfigMap map = StringUtils.isEmpty(namespace)
      ? client.configMaps().withName(name).get()
      : client.configMaps().inNamespace(namespace).withName(name).get();
    if (map != null) {
      return processAllEntries(map.getData(), profiles);
    }
  }
  catch (Exception e) {
    LOG.warn("Can't read configMap with name: [" + name + "] in namespace:["
      + namespace + "]. Ignoring");
  }
  return new HashMap<>();
}

代码示例来源:origin: fabric8io/kubernetes-client

public static void main(String[] args) {
 String master = "https://localhost:8443/";
 if (args.length == 1) {
  master = args[0];
 }
 Config config = new ConfigBuilder().withMasterUrl(master).build();
 KubernetesClient client = new DefaultKubernetesClient(config);
 try {
  log("Create namespace:", client.namespaces().create(new NamespaceBuilder().withNewMetadata().withName("thisisatest").endMetadata().build()));
  log("Deleted namespace:", client.namespaces().withName("test").delete());
  log("Deleted testPod:", client.pods().inNamespace("thisisatest").withName("testpod").delete());
  log("Deleted pod by label:", client.pods().withLabel("this", "works").delete());
 } catch (KubernetesClientException e) {
  logger.error(e.getMessage(), e);
 } finally {
  client.namespaces().withName("thisisatest").delete();
  client.close();
 }
}

代码示例来源:origin: spring-cloud/spring-cloud-kubernetes

public List<Server> getUpdatedListOfServers() {
  Endpoints endpoints = namespace != null
      ? client.endpoints().inNamespace(namespace).withName(serviceId).get()
      : client.endpoints().withName(serviceId).get();

代码示例来源:origin: fabric8io/kubernetes-client

@Override
public String getURL(Service service, String portName, String namespace, KubernetesClient client) {
 String serviceName = service.getMetadata().getName();
 ServicePort port = URLFromServiceUtil.getServicePortByName(service, portName);
 if(port != null && port.getName() != null && isOpenShift(client)) {
  try {
   String serviceProtocol = port.getProtocol();
   OpenShiftClient openShiftClient = client.adapt(OpenShiftClient.class);
   Route route = openShiftClient.routes().inNamespace(namespace).withName(service.getMetadata().getName()).get();
   if (route != null) {
    return (serviceProtocol + "://" + route.getSpec().getHost()).toLowerCase();
   }
  } catch (KubernetesClientException e) {
   if(e.getCode() == HttpURLConnection.HTTP_FORBIDDEN) {
    logger.warn("Could not lookup route:" + serviceName + " in namespace:"+ namespace +", due to: " + e.getMessage());
   }
  }
 }
 return null;
}

代码示例来源:origin: fabric8io/kubernetes-client

try (Watch watch = client.replicationControllers().inNamespace("thisisatest").withResourceVersion("0").watch(new Watcher<ReplicationController>() {
  @Override
  public void eventReceived(Action action, ReplicationController resource) {
  log("Created namespace", client.namespaces().create(ns));
  log("Get namespace by name", client.namespaces().withName("thisisatest").get());
  log("Get namespace by label", client.namespaces().withLabel("this", "rocks").list());
  log("Create resource quota", client.resourceQuotas().inNamespace("thisisatest").create(quota));
   log("Get jobs in namespace", client.batch().jobs().inNamespace("thisisatest").list());
  } catch (APIGroupNotAvailableException e) {
   log("Skipping jobs example - extensions API group not available");
  client.namespaces().withName("thisisatest").delete();
  log("Deleted namespace");

代码示例来源:origin: spring-cloud/spring-cloud-kubernetes

secret = client.secrets().withName(name).get();
secret = client.secrets().inNamespace(namespace).withName(name).get();
  client.secrets().withLabels(config.getLabels()).list().getItems()
    .forEach(s -> putAll(s, result));
  client.secrets().inNamespace(namespace)
    .withLabels(config.getLabels()).list().getItems()
    .forEach(s -> putAll(s, result));

代码示例来源:origin: EnMasseProject/enmasse

@Override
public Secret getCertSecret(String name) {
  return client.secrets().inNamespace(namespace).withName(name).get();
}

代码示例来源:origin: org.guvnor/guvnor-ala-openshift-provider

private OpenShiftRuntimeState getRuntimeState(OpenShiftRuntimeId runtimeId) {
  String prjName = runtimeId.project();
  String svcName = runtimeId.service();
  String state;
  String startedAt;
  Service service = delegate.services().inNamespace(prjName).withName(svcName).get();
  if (service != null) {
    Integer replicas = getReplicas(service);
    if (replicas != null && replicas.intValue() > 0) {
      state = OpenShiftRuntimeState.RUNNING;
    } else {
      state = OpenShiftRuntimeState.READY;
    }
    startedAt = service.getMetadata().getCreationTimestamp();
  } else {
    state = OpenShiftRuntimeState.UNKNOWN;
    startedAt = new Date().toString();
  }
  return new OpenShiftRuntimeState(state, startedAt);
}

代码示例来源:origin: strimzi/strimzi-kafka-operator

PodDisruptionBudget resource = resource();
Resource mockResource = mock(resourceType());
when(mockResource.get()).thenReturn(resource);
when(mockResource.cascading(cascade)).thenReturn(mockResource);
when(mockNameable.withName(matches(resource.getMetadata().getName()))).thenReturn(mockResource);
when(mockCms.inNamespace(matches(resource.getMetadata().getNamespace()))).thenReturn(mockNameable);
  verify(mockResource).get();
  verify(mockResource).delete();
  verify(mockResource).create(any());
  verify(mockResource, never()).patch(any());
  verify(mockResource, never()).createNew();
  verify(mockResource, never()).createOrReplace(any());
  async.complete();
});

代码示例来源:origin: io.fabric8/fabric8-arquillian

OpenShiftClient openShiftClient = new Controller(client).getOpenShiftClientOrNull();
if (openShiftClient != null) {
  try {
    openShiftClient.deploymentConfigs().inNamespace(sessionNamespace).delete();
  } catch (KubernetesClientException e) {
    errors.add(e);
    openShiftClient.routes().inNamespace(sessionNamespace).delete();
  } catch (KubernetesClientException e) {
    errors.add(e);
  client.extensions().deployments().inNamespace(sessionNamespace).delete();
} catch (KubernetesClientException e) {
  errors.add(e);
  client.extensions().replicaSets().inNamespace(sessionNamespace).delete();
} catch (KubernetesClientException e) {
  errors.add(e);
  client.replicationControllers().inNamespace(sessionNamespace).delete();
} catch (KubernetesClientException e) {
  errors.add(e);
  client.securityContextConstraints().withName(sessionNamespace).delete();
} catch (KubernetesClientException e) {
  errors.add(e);

代码示例来源:origin: org.microbean/microbean-helm

serviceName = normalizeServiceName(serviceName);
final Resource<Deployment, DoneableDeployment> resource = this.kubernetesClient.extensions()
 .deployments()
 .inNamespace(namespace)
 .withName(normalizeDeploymentName(deploymentName));
assert resource != null;
 final String serverTillerImage = resource.get().getSpec().getTemplate().getSpec().getContainers().get(0).getImage();
 assert serverTillerImage != null;
resource.edit()
 .editSpec()
 .editTemplate()
final Service service = this.kubernetesClient.services()
 .inNamespace(namespace)
 .withName(serviceName)
 .get();
if (service == null) {
 this.createService(namespace, serviceName, normalizeLabels(labels));

代码示例来源:origin: fabric8io/kubernetes-client

public static void main(String[] args) throws InterruptedException {
 String namespace = "myproject";
 String master = "CLUSTER_URL";
 Config config = new ConfigBuilder().withMasterUrl(master).build();
 OpenShiftClient client = new DefaultOpenShiftClient(config);
 try {
  ImageStreamTag istag = new ImageStreamTagBuilder().withNewMetadata().withName("bar1:1.0.12").endMetadata()
   .withNewTag().withNewFrom().withKind("DockerImage").withName("openshift/wildfly-81-centos7:latest").endFrom().endTag()
   .build();
  log("Created istag", client.imageStreamTags().inNamespace(namespace).create(istag));
  
  Thread.sleep(30000);
 }finally {
  log("ImageStreamTags are :");
  log(client.imageStreamTags().inNamespace(namespace).withName("bar1:1.0.12").get().toString());
  log("ImageStreamTags using list are :");
  log(client.imageStreamTags().list().getItems().get(0).toString());
  log("Deleted istag",client.imageStreamTags().withName("bar1:1.0.12").delete());
  client.close();
 }
}

代码示例来源:origin: io.fabric8.pipeline/kubernetes-pipeline-devops-steps

private String loadKubernetesExposeControllerCommandLine(KubernetesClient kubernetes, String commands) throws Exception {
  String namespace = System.getenv("KUBERNETES_NAMESPACE");
  if (Strings.isNullOrBlank(namespace)) {
    namespace = KubernetesHelper.getNamespace(kubernetes);
  }
  ConfigMap configMap = kubernetes.configMaps().inNamespace(namespace).withName("exposecontroller").get();
  if (configMap == null) {
    listener.getLogger().println("WARNING: no ConfigMap in namespace " + namespace + " called: exposecontroller so cannot run exposecontroller to expose Service URLs");
    return null;
  }
  String configYaml = null;
  Map<String, String> data = configMap.getData();
  if (data != null) {
    configYaml = data.get("config.yml");
  }
  if (Strings.isNullOrBlank(configYaml)) {
    throw new Exception("ConfigMap " + namespace + "/exposecontroller does not have a `config.yml` data entry");
  }
  Map map;
  try {
    map = KubernetesHelper.loadYaml(configYaml, Map.class);
  } catch (IOException e) {
    throw new Exception("Could not parse YAML in ConfigMap " + namespace + "/exposecontroller entry `config.yml`: " + e, e);
  }
  StringBuilder builder = new StringBuilder(commands);
  appendCliArgument(builder, "--http", map.get("http"));
  appendCliArgument(builder, "--exposer", map.get("exposer"));
  appendCliArgument(builder, "--domain", map.get("domain"));
  return builder.toString();
}

代码示例来源:origin: fabric8io/kubernetes-client

log("Created namespace", client.namespaces().createOrReplace(ns));
client.serviceAccounts().inNamespace("thisisatest").createOrReplace(fabric8);
for (int i = 0; i < 2; i++) {
 System.err.println("Iteration:" + (i+1));
 deployment = client.apps().deployments().inNamespace("thisisatest").create(deployment);
 log("Created deployment", deployment);
 client.apps().deployments().inNamespace("thisisatest").withName("nginx").scale(2, true);
 log("Created replica sets:", client.apps().replicaSets().inNamespace("thisisatest").list().getItems());
 System.err.println("Deleting:" + deployment.getMetadata().getName());
client.namespaces().withName("thisisatest").delete();
client.close();

代码示例来源:origin: org.guvnor/guvnor-ala-openshift-provider

private void addServiceAccountRole(String prjName, String name, String role) {
  Resource<PolicyBinding, DoneablePolicyBinding> bindingResource =
      delegate.policyBindings().inNamespace(prjName).withName(":default");
  DoneablePolicyBinding binding;
  if (bindingResource.get() == null) {
    binding = bindingResource.createNew();
  } else {
    binding = bindingResource.edit();

代码示例来源:origin: io.fabric8/fabric8-maven-enricher-api

try {
  KubernetesClient kubernetes = getKubernetes();
  String ns = kubernetes.getNamespace();
  if (Strings.isNullOrBlank(ns)) {
    ns = getNamespace();
  Service service = kubernetes.services().inNamespace(ns).withName(serviceName).get();
  return service != null ?
    KubernetesHelper.getServiceURL(kubernetes, serviceName, ns, protocol, true) :
    null;
} catch (Throwable e) {

代码示例来源:origin: fabric8io/kubernetes-client

public static void main(String[] args) throws InterruptedException {
 Config config = new ConfigBuilder().build();
 KubernetesClient kubernetesClient = new DefaultKubernetesClient(config);
 OpenShiftClient client = kubernetesClient.adapt(OpenShiftClient.class);
  log("Created namespace", client.namespaces().create(ns));
  client.serviceAccounts().inNamespace("thisisatest").create(fabric8);
  log("Created image stream", client.imageStreams().inNamespace("thisisatest").createNew()
   .withNewMetadata()
   .withName("example-camel-cdi")
   .done());
  log("Created image stream", client.imageStreams().inNamespace("thisisatest").createNew()
   .withNewMetadata()
   .withName("java-sti")
  client.namespaces().withName("thisisatest").delete();
  client.close();

代码示例来源:origin: fabric8io/kubernetes-client

try (KubernetesClient client = new DefaultKubernetesClient(config)) {
 try {
  log("Create namespace:", client.namespaces().create(new NamespaceBuilder().withNewMetadata().withName("thisisatest").endMetadata().build()));
  Pod createdPod = client.pods().inNamespace("thisisatest").createNew()
   .withNewMetadata()
   .withName("testpod")
  log("Created testPod:", createdPod);
  Pod updatedPod = client.pods().inNamespace("thisisatest").withName("testpod").edit()
   .editMetadata()
   .addToLabels("server2", "nginx2")
  logger.error(e.getMessage(), e);
 } finally {
  client.namespaces().withName("thisisatest").delete();

代码示例来源:origin: fabric8io/kubernetes-client

.build();
log("Created ImageStream", client.imageStreams().inNamespace(namespace).create(imageStream));
log("First Tag is " + client.imageStreams().inNamespace(namespace).withName("slave-jenkins").get().getSpec().getTags().get(0).getName());
log("Second Tag is " + client.imageStreams().inNamespace(namespace).withName("slave-jenkins").get().getSpec().getTags().get(1).getName());
client.imageStreams().inNamespace(namespace).withName("slave-jenkins").delete();
client.close();

代码示例来源:origin: io.fabric8/fabric8-arquillian

boolean isOpenshift = client.isAdaptable(OpenShiftClient.class);
String namespace = session.getNamespace();
String routeDomain = null;
      generateServiceAccount(client, session, secrets, serviceAccountName);
      if (route != null) {
        log.status("Applying route for:" + serviceName);
        controller.applyRoute(route, "route for " + serviceName);
        extraEntities.add(route);
    log.status("Applying replication controller:" + getName(replicationController));
    Set<Secret> secrets = generateSecrets(client, session, replicationController.getSpec().getTemplate().getMetadata());
    String serviceAccountName = replicationController.getSpec().getTemplate().getSpec().getServiceAccountName();
    String name = metadata.getName();
    if (isOpenshift) {
      OpenShiftClient openShiftClient = client.adapt(OpenShiftClient.class);
      OAuthClient current = openShiftClient.oAuthClients().withName(name).get();
      boolean create = false;
      if (current == null) {
        openShiftClient.oAuthClients().create(current);
      } else {
        if (updated) {
          openShiftClient.oAuthClients().withName(name).delete();

相关文章