当前位置: 首页>>代码示例>>Java>>正文


Java PodBuilder类代码示例

本文整理汇总了Java中io.fabric8.kubernetes.api.model.PodBuilder的典型用法代码示例。如果您正苦于以下问题:Java PodBuilder类的具体用法?Java PodBuilder怎么用?Java PodBuilder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


PodBuilder类属于io.fabric8.kubernetes.api.model包,在下文中一共展示了PodBuilder类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: newPod

import io.fabric8.kubernetes.api.model.PodBuilder; //导入依赖的package包/类
/** Returns new instance of {@link Pod} with given name and command. */
private Pod newPod(String podName, String[] command) {
  final Container container =
      new ContainerBuilder()
          .withName(podName)
          .withImage(jobImage)
          .withImagePullPolicy(IMAGE_PULL_POLICY)
          .withCommand(command)
          .withVolumeMounts(newVolumeMount(pvcName, JOB_MOUNT_PATH, null))
          .withNewResources()
          .withLimits(singletonMap("memory", new Quantity(jobMemoryLimit)))
          .endResources()
          .build();
  return new PodBuilder()
      .withNewMetadata()
      .withName(podName)
      .endMetadata()
      .withNewSpec()
      .withContainers(container)
      .withVolumes(newVolume(pvcName, pvcName))
      .withRestartPolicy(POD_RESTART_POLICY)
      .endSpec()
      .build();
}
 
开发者ID:eclipse,项目名称:che,代码行数:25,代码来源:PVCSubPathHelper.java

示例2: setUp

import io.fabric8.kubernetes.api.model.PodBuilder; //导入依赖的package包/类
@BeforeMethod
public void setUp() throws Exception {
  container = new ContainerBuilder().withName("main").build();
  Pod pod =
      new PodBuilder()
          .withNewMetadata()
          .withName("pod")
          .endMetadata()
          .withNewSpec()
          .withContainers(container)
          .endSpec()
          .build();

  openShiftEnvironment =
      OpenShiftEnvironment.builder().setPods(ImmutableMap.of("pod", pod)).build();
  this.serverExposer = new ServerExposer(MACHINE_NAME, pod, container, openShiftEnvironment);
}
 
开发者ID:eclipse,项目名称:che,代码行数:18,代码来源:ServerExposerTest.java

示例3: setup

import io.fabric8.kubernetes.api.model.PodBuilder; //导入依赖的package包/类
@BeforeMethod
public void setup() throws Exception {
  converter = new DockerImageEnvironmentConverter();
  when(recipe.getContent()).thenReturn(RECIPE_CONTENT);
  when(recipe.getType()).thenReturn(RECIPE_TYPE);
  machines = ImmutableMap.of(MACHINE_NAME, mock(InternalMachineConfig.class));
  final Map<String, String> annotations = new HashMap<>();
  annotations.put(format(MACHINE_NAME_ANNOTATION_FMT, CONTAINER_NAME), MACHINE_NAME);
  pod =
      new PodBuilder()
          .withNewMetadata()
          .withName(POD_NAME)
          .withAnnotations(annotations)
          .endMetadata()
          .withNewSpec()
          .withContainers(
              new ContainerBuilder().withImage(RECIPE_CONTENT).withName(CONTAINER_NAME).build())
          .endSpec()
          .build();
}
 
开发者ID:eclipse,项目名称:che,代码行数:21,代码来源:DockerImageEnvironmentConverterTest.java

示例4: configureCloud

import io.fabric8.kubernetes.api.model.PodBuilder; //导入依赖的package包/类
@Before
public void configureCloud() throws Exception {
    client = setupCloud(this).connect();
    deletePods(client, getLabels(this), false);

    String image = "busybox";
    Container c = new ContainerBuilder().withName(image).withImagePullPolicy("IfNotPresent").withImage(image)
            .withCommand("cat").withTty(true).build();
    String podName = "test-command-execution-" + RandomStringUtils.random(5, "bcdfghjklmnpqrstvwxz0123456789");
    pod = client.pods().create(new PodBuilder().withNewMetadata().withName(podName).withLabels(getLabels(this))
            .endMetadata().withNewSpec().withContainers(c).endSpec().build());

    System.out.println("Created pod: " + pod.getMetadata().getName());

    decorator = new ContainerExecDecorator(client, pod.getMetadata().getName(), image, client.getNamespace());
}
 
开发者ID:carlossg,项目名称:jenkins-kubernetes-plugin,代码行数:17,代码来源:ContainerExecDecoratorTest.java

示例5: doCreatePod

import io.fabric8.kubernetes.api.model.PodBuilder; //导入依赖的package包/类
protected void doCreatePod(Exchange exchange, String operation)
        throws Exception {
    Pod pod = null;
    String podName = exchange.getIn().getHeader(
            KubernetesConstants.KUBERNETES_POD_NAME, String.class);
    String namespaceName = exchange.getIn().getHeader(
            KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
    PodSpec podSpec = exchange.getIn().getHeader(
            KubernetesConstants.KUBERNETES_POD_SPEC, PodSpec.class);
    if (ObjectHelper.isEmpty(podName)) {
        LOG.error("Create a specific pod require specify a pod name");
        throw new IllegalArgumentException(
                "Create a specific pod require specify a pod name");
    }
    if (ObjectHelper.isEmpty(namespaceName)) {
        LOG.error("Create a specific pod require specify a namespace name");
        throw new IllegalArgumentException(
                "Create a specific pod require specify a namespace name");
    }
    if (ObjectHelper.isEmpty(podSpec)) {
        LOG.error("Create a specific pod require specify a pod spec bean");
        throw new IllegalArgumentException(
                "Create a specific pod require specify a pod spec bean");
    }
    Map<String, String> labels = exchange.getIn().getHeader(
            KubernetesConstants.KUBERNETES_PODS_LABELS, Map.class);
    EditablePod podCreating = new PodBuilder().withNewMetadata()
            .withName(podName).withLabels(labels).endMetadata()
            .withSpec(podSpec).build();
    pod = getEndpoint().getKubernetesClient().pods()
            .inNamespace(namespaceName).create(podCreating);
    exchange.getOut().setBody(pod);
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:34,代码来源:KubernetesPodsProducer.java

示例6: convert

import io.fabric8.kubernetes.api.model.PodBuilder; //导入依赖的package包/类
public OpenShiftEnvironment convert(DockerImageEnvironment environment)
    throws InfrastructureException {
  final Iterator<String> iterator = environment.getMachines().keySet().iterator();
  if (!iterator.hasNext()) {
    throw new InternalInfrastructureException(
        "DockerImage environment must contain at least one machine configuration");
  }
  final String machineName = iterator.next();
  final String dockerImage = environment.getRecipe().getContent();
  final Map<String, String> annotations = new HashMap<>();
  annotations.put(format(MACHINE_NAME_ANNOTATION_FMT, CONTAINER_NAME), machineName);

  final Pod pod =
      new PodBuilder()
          .withNewMetadata()
          .withName(POD_NAME)
          .withAnnotations(annotations)
          .endMetadata()
          .withNewSpec()
          .withContainers(
              new ContainerBuilder().withImage(dockerImage).withName(CONTAINER_NAME).build())
          .endSpec()
          .build();
  return OpenShiftEnvironment.builder()
      .setMachines(environment.getMachines())
      .setInternalRecipe(environment.getRecipe())
      .setWarnings(environment.getWarnings())
      .setPods(ImmutableMap.of(POD_NAME, pod))
      .build();
}
 
开发者ID:eclipse,项目名称:che,代码行数:31,代码来源:DockerImageEnvironmentConverter.java

示例7: createPod

import io.fabric8.kubernetes.api.model.PodBuilder; //导入依赖的package包/类
private Pod createPod(String name, String... containers) {
  return new PodBuilder()
      .withNewMetadata()
      .withName(name)
      .endMetadata()
      .withNewSpec()
      .withContainers(
          Arrays.stream(containers).map(this::createContainer).collect(Collectors.toList()))
      .endSpec()
      .build();
}
 
开发者ID:eclipse,项目名称:che,代码行数:12,代码来源:OpenShiftEnvironmentValidatorTest.java

示例8: getPodTemplate

import io.fabric8.kubernetes.api.model.PodBuilder; //导入依赖的package包/类
@NotNull
@Override
public Pod getPodTemplate(@NotNull CloudInstanceUserData cloudInstanceUserData, @NotNull KubeCloudImage kubeCloudImage, @NotNull KubeCloudClientParameters clientParameters) {
    String agentNameProvided = cloudInstanceUserData.getAgentName();
    final String agentName = StringUtil.isEmpty(agentNameProvided) ? UUID.randomUUID().toString() : agentNameProvided;

    ImagePullPolicy imagePullPolicy = kubeCloudImage.getImagePullPolicy();
    String serverAddress = cloudInstanceUserData.getServerAddress();
    String serverUUID = myServerSettings.getServerUUID();
    String cloudProfileId = cloudInstanceUserData.getProfileId();

    ContainerBuilder containerBuilder = new ContainerBuilder()
            .withName(agentName)
            .withImage(kubeCloudImage.getDockerImage())
            .withImagePullPolicy(imagePullPolicy == null ? ImagePullPolicy.IfNotPresent.getName() : imagePullPolicy.getName())
            .withEnv(new EnvVar(KubeContainerEnvironment.AGENT_NAME, agentName, null),
                     new EnvVar(KubeContainerEnvironment.SERVER_URL, serverAddress, null),
                     new EnvVar(KubeContainerEnvironment.SERVER_UUID, serverUUID, null),
                     new EnvVar(KubeContainerEnvironment.OFFICIAL_IMAGE_SERVER_URL, serverAddress, null),
                     new EnvVar(KubeContainerEnvironment.IMAGE_ID, kubeCloudImage.getId(), null),
                     new EnvVar(KubeContainerEnvironment.PROFILE_ID, cloudProfileId, null),
                     new EnvVar(KubeContainerEnvironment.INSTANCE_NAME, agentName, null));
    String dockerCommand = kubeCloudImage.getDockerCommand();
    if(!StringUtil.isEmpty(dockerCommand)) containerBuilder = containerBuilder.withCommand(dockerCommand);
    String dockerArguments = kubeCloudImage.getDockerArguments();
    if(!StringUtil.isEmpty(dockerArguments)) containerBuilder = containerBuilder.withArgs(dockerArguments);

    return new PodBuilder()
            .withNewMetadata()
            .withName(agentName)
            .withNamespace(clientParameters.getNamespace())
            .withLabels(CollectionsUtil.asMap(
                    KubeTeamCityLabels.TEAMCITY_AGENT_LABEL, "",
                    KubeTeamCityLabels.TEAMCITY_SERVER_UUID, serverUUID,
                    KubeTeamCityLabels.TEAMCITY_CLOUD_PROFILE, cloudProfileId,
                    KubeTeamCityLabels.TEAMCITY_CLOUD_IMAGE, kubeCloudImage.getId()))
            .endMetadata()
            .withNewSpec()
            .withContainers(Collections.singletonList(containerBuilder.build()))
            .withRestartPolicy(KubeApiConnector.NEVER_RESTART_POLICY)
            .endSpec()
            .build();
}
 
开发者ID:JetBrains,项目名称:teamcity-kubernetes-plugin,代码行数:44,代码来源:SimpleRunContainerBuildAgentPodTemplateProvider.java

示例9: createPod

import io.fabric8.kubernetes.api.model.PodBuilder; //导入依赖的package包/类
@VisibleForTesting
static Pod createPod(WorkflowInstance workflowInstance, RunSpec runSpec, KubernetesSecretSpec secretSpec) {
  final String imageWithTag = runSpec.imageName().contains(":")
      ? runSpec.imageName()
      : runSpec.imageName() + ":latest";

  final PodBuilder podBuilder = new PodBuilder()
      .withNewMetadata()
      .withName(runSpec.executionId())
      .addToAnnotations(STYX_WORKFLOW_INSTANCE_ANNOTATION, workflowInstance.toKey())
      .addToAnnotations(DOCKER_TERMINATION_LOGGING_ANNOTATION,
                        String.valueOf(runSpec.terminationLogging()))
      .endMetadata();

  final PodSpecBuilder specBuilder = new PodSpecBuilder()
      .withRestartPolicy("Never");

  final ResourceRequirementsBuilder resourceRequirements = new ResourceRequirementsBuilder();
  runSpec.memRequest().ifPresent(s -> resourceRequirements.addToRequests("memory", new Quantity(s)));
  runSpec.memLimit().ifPresent(s -> resourceRequirements.addToLimits("memory", new Quantity(s)));

  final ContainerBuilder containerBuilder = new ContainerBuilder()
      .withName(STYX_RUN)
      .withImage(imageWithTag)
      .withArgs(runSpec.args())
      .withEnv(buildEnv(workflowInstance, runSpec))
      .withResources(resourceRequirements.build());

  secretSpec.serviceAccountSecret().ifPresent(serviceAccountSecret -> {
    final SecretVolumeSource saVolumeSource = new SecretVolumeSourceBuilder()
        .withSecretName(serviceAccountSecret)
        .build();
    final Volume saVolume = new VolumeBuilder()
        .withName(STYX_WORKFLOW_SA_SECRET_NAME)
        .withSecret(saVolumeSource)
        .build();
    specBuilder.addToVolumes(saVolume);

    final VolumeMount saMount = new VolumeMountBuilder()
        .withMountPath(STYX_WORKFLOW_SA_SECRET_MOUNT_PATH)
        .withName(saVolume.getName())
        .withReadOnly(true)
        .build();
    containerBuilder.addToVolumeMounts(saMount);
    containerBuilder.addToEnv(envVar(STYX_WORKFLOW_SA_ENV_VARIABLE,
                                     saMount.getMountPath() + STYX_WORKFLOW_SA_JSON_KEY));
  });

  secretSpec.customSecret().ifPresent(secret -> {
    final SecretVolumeSource secretVolumeSource = new SecretVolumeSourceBuilder()
        .withSecretName(secret.name())
        .build();
    final Volume secretVolume = new VolumeBuilder()
        .withName(secret.name())
        .withSecret(secretVolumeSource)
        .build();
    specBuilder.addToVolumes(secretVolume);

    final VolumeMount secretMount = new VolumeMountBuilder()
        .withMountPath(secret.mountPath())
        .withName(secretVolume.getName())
        .withReadOnly(true)
        .build();
    containerBuilder.addToVolumeMounts(secretMount);
  });

  specBuilder.addToContainers(containerBuilder.build());
  podBuilder.withSpec(specBuilder.build());

  return podBuilder.build();
}
 
开发者ID:spotify,项目名称:styx,代码行数:72,代码来源:KubernetesDockerRunner.java

示例10: newPod

import io.fabric8.kubernetes.api.model.PodBuilder; //导入依赖的package包/类
private static Pod newPod(String podName, String restartPolicy, Container... containers) {
  final ObjectMeta podMetadata = new ObjectMetaBuilder().withName(podName).build();
  final PodSpec podSpec =
      new PodSpecBuilder().withRestartPolicy(restartPolicy).withContainers(containers).build();
  return new PodBuilder().withMetadata(podMetadata).withSpec(podSpec).build();
}
 
开发者ID:eclipse,项目名称:che,代码行数:7,代码来源:RestartPolicyRewriterTest.java

示例11: newPod

import io.fabric8.kubernetes.api.model.PodBuilder; //导入依赖的package包/类
private static Pod newPod() {
  return new PodBuilder()
      .withMetadata(new ObjectMetaBuilder().withName(POD_NAME).build())
      .build();
}
 
开发者ID:eclipse,项目名称:che,代码行数:6,代码来源:UniqueNamesProvisionerTest.java


注:本文中的io.fabric8.kubernetes.api.model.PodBuilder类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。