io.fabric8.kubernetes.api.model.apps.Deployment类的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(11.2k)|赞(0)|评价(0)|浏览(287)

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

Deployment介绍

暂无

代码示例

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

public void run() {
  try {
   Deployment deployment = get();
   //If the deployment is gone, we shouldn't wait.
   if (deployment == null) {
    if (count == 0) {
     queue.put(true);
     return;
    } else {
     queue.put(new IllegalStateException("Can't wait for Deployment: " + checkName(getItem()) + " in namespace: " + checkName(getItem()) + " to scale. Resource is no longer available."));
     return;
    }
   }
   replicasRef.set(deployment.getStatus().getReplicas());
   int currentReplicas = deployment.getStatus().getReplicas() != null ? deployment.getStatus().getReplicas() : 0;
   long generation = deployment.getMetadata().getGeneration() != null ? deployment.getMetadata().getGeneration() : 0;
   long observedGeneration = deployment.getStatus() != null && deployment.getStatus().getObservedGeneration() != null ? deployment.getStatus().getObservedGeneration() : -1;
   if (observedGeneration >= generation && Objects.equals(deployment.getSpec().getReplicas(), currentReplicas)) {
    queue.put(true);
   } else {
    LOG.debug("Only {}/{} pods scheduled for Deployment: {} in namespace: {} seconds so waiting...",
     deployment.getStatus().getReplicas(), deployment.getSpec().getReplicas(), deployment.getMetadata().getName(), namespace);
   }
  } catch (Throwable t) {
   LOG.error("Error while waiting for Deployment to be scaled.", t);
  }
 }
};

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

@Override
public boolean reap() {
 Deployment deployment = oper.cascading(false).edit().editSpec().withReplicas(0).endSpec().done();
 //TODO: These checks shouldn't be used as they are not realistic. We just use them to support mock/crud tests. Need to find a cleaner way to do so.
 if (deployment.getStatus() != null) {
  waitForObservedGeneration(deployment.getStatus().getObservedGeneration());
 }
 if (deployment.getSpec().getSelector() != null) {
  reapMatchingReplicaSets(deployment.getSpec().getSelector());
 }
 return false;
}

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

@Override
protected Integer currentScale(String namespace, String name) {
  Deployment deployment = get(namespace, name);
  if (deployment != null) {
    return deployment.getSpec().getReplicas();
  } else {
    return null;
  }
}

代码示例来源:origin: fabric8io/fabric8-maven-plugin

@Override
  public void adapt(KubernetesListBuilder builder) {
    super.adapt(builder);

    List<HasMetadata> items = builder.getItems();
    for (HasMetadata item : items) {
      if (item instanceof Deployment) {
        Deployment deployment = (Deployment) item;
        ObjectMeta metadata = deployment.getMetadata();
        DeploymentSpec spec = deployment.getSpec();
        if (metadata != null && spec != null) {
          PodTemplateSpec template = spec.getTemplate();
          if (template != null) {
            ObjectMeta templateMetadata = template.getMetadata();
            if (templateMetadata == null) {
              templateMetadata = new ObjectMeta();
              template.setMetadata(templateMetadata);
            }
            templateMetadata.setAnnotations(MapUtil.mergeMaps(templateMetadata.getAnnotations(), metadata.getAnnotations()));
          }
        }
      }
    }
    builder.withItems(items);
  }
}

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

log("Created deployment", deployment);
System.err.println("Scaling up:" + deployment.getMetadata().getName());
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.resource(deployment).delete();

代码示例来源:origin: fabric8io/fabric8-maven-plugin

DeploymentSpec spec1 = resource1OrCopy.getSpec();
DeploymentSpec spec2 = resource2.getSpec();
if (spec1 == null) {
  resource1OrCopy.setSpec(spec2);
} else {
  PodTemplateSpec template1 = spec1.getTemplate();

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

public void run() {
  Deployment deployment = oper.getMandatory();
  if (observedGeneration <= deployment.getStatus().getObservedGeneration()) {
   countDownLatch.countDown();
  }
 }
};

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

private int getDeploymentCaCertGeneration(Deployment dep, Ca ca) {
  int caCertGeneration = 0;
  if (dep != null) {
    caCertGeneration =
        Annotations.intAnnotation(
            dep.getSpec().getTemplate(), getCaCertAnnotation(ca), 0);
  }
  return caCertGeneration;
}

代码示例来源:origin: fabric8io/fabric8-maven-plugin

Deployment resource = (Deployment) item;
DeploymentConfigBuilder builder = new DeploymentConfigBuilder();
builder.withMetadata(resource.getMetadata());
DeploymentSpec spec = resource.getSpec();
if (spec != null) {
  DeploymentConfigFluent.SpecNested<DeploymentConfigBuilder> specBuilder = builder.withNewSpec();

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

public static boolean isDeploymentReady(Deployment d) {
 Utils.checkNotNull(d, "Deployment can't be null.");
 DeploymentSpec spec = d.getSpec();
 DeploymentStatus status = d.getStatus();
 if (status == null || status.getReplicas() == null || status.getAvailableReplicas() == null) {
  return false;
 }
 //Can be true in testing, so handle it to make test writing easier.
 if (spec == null || spec.getReplicas() == null) {
  return false;
 }
 return spec.getReplicas().intValue() == status.getReplicas() &&
  spec.getReplicas().intValue() <= status.getAvailableReplicas();
}

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

/***
 * Check if deployment exists
 * @param namespace kuberntes namespace name
 * @param appName name of deployment
 * @return true if deployment exists
 */
public boolean deploymentExists(String namespace, String appName) {
  return client.apps().deployments().inNamespace(namespace).list().getItems().stream()
      .map(deployment -> deployment.getMetadata().getName()).collect(Collectors.toList()).contains(appName);
}

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

private static boolean isReady(Deployment deployment) {
  // TODO: Assuming at least one replica is ok
  Integer readyReplicas = deployment.getStatus().getReadyReplicas();
  return readyReplicas != null && readyReplicas >= 1;
}

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

private int findReplicas(List<HasMetadata> items) {
  for (HasMetadata item : items) {
    if (item instanceof StatefulSet) {
      return ((StatefulSet)item).getSpec().getReplicas();
    } else if (item instanceof Deployment) {
      return ((Deployment)item).getSpec().getReplicas();
    }
  }
  return 0;
}

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

private void checkDeploymentsReady(AddressSpace addressSpace, List<HasMetadata> requiredResources) {
  Set<String> readyDeployments = kubernetes.getReadyDeployments(addressSpace).stream()
      .map(deployment -> deployment.getMetadata().getName())
      .collect(Collectors.toSet());
  Set<String> requiredDeployments = requiredResources.stream()
      .filter(KubernetesHelper::isDeployment)
      .map(item -> item.getMetadata().getName())
      .collect(Collectors.toSet());
  boolean isReady = readyDeployments.containsAll(requiredDeployments);
  if (!isReady) {
    Set<String> missing = new HashSet<>(requiredDeployments);
    missing.removeAll(readyDeployments);
    addressSpace.getStatus().setReady(false);
    addressSpace.getStatus().appendMessage("The following deployments are not ready: " + missing);
  }
}

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

private int findReadyReplicas(List<HasMetadata> items) {
  for (HasMetadata item : items) {
    if (item instanceof StatefulSet) {
      return Optional.ofNullable(((StatefulSet)item).getStatus()).map(StatefulSetStatus::getReadyReplicas).orElse(0);
    } else if (item instanceof Deployment) {
      return Optional.ofNullable(((Deployment)item).getStatus()).map(DeploymentStatus::getReadyReplicas).orElse(0);
    }
  }
  return 0;
}

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

this.toDeployment = topicOperator.generateDeployment(isOpenShift);
this.toMetricsAndLogsConfigMap = logAndMetricsConfigMap;
Annotations.annotations(this.toDeployment.getSpec().getTemplate()).put(
    ANNO_STRIMZI_IO_LOGGING,
    this.toMetricsAndLogsConfigMap.getData().get("log4j2.properties"));

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

/***
 * Creates application from resources
 * @param namespace
 * @param resources
 * @return String name of application
 * @throws Exception
 */
public String createDeploymentFromResource(String namespace, Deployment resources) throws Exception {
  Deployment depRes = client.apps().deployments().inNamespace(namespace).create(resources);
  Deployment result = client.apps().deployments().inNamespace(namespace)
      .withName(depRes.getMetadata().getName()).waitUntilReady(2, TimeUnit.MINUTES);
  log.info("Deployment {} created", result.getMetadata().getName());
  return result.getMetadata().getName();
}

代码示例来源:origin: org.apache.camel/camel-kubernetes

protected void doScaleDeployment(Exchange exchange, String operation) throws Exception {
    String deploymentName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_NAME, String.class);
    String namespaceName = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, String.class);
    Integer replicasNumber = exchange.getIn().getHeader(KubernetesConstants.KUBERNETES_DEPLOYMENT_REPLICAS, Integer.class);
    if (ObjectHelper.isEmpty(deploymentName)) {
      LOG.error("Scale a specific deployment require specify a deployment name");
      throw new IllegalArgumentException("Scale a specific deployment require specify a deployment name");
    }
    if (ObjectHelper.isEmpty(namespaceName)) {
      LOG.error("Scale a specific deployment require specify a namespace name");
      throw new IllegalArgumentException("Scale a specific deployment require specify a namespace name");
    }
    if (ObjectHelper.isEmpty(replicasNumber)) {
      LOG.error("Scale a specific deployment require specify a replicas number");
      throw new IllegalArgumentException("Scale a specific deployment require specify a replicas number");
    }
    Deployment deploymentScaled = getEndpoint().getKubernetesClient().apps().deployments().inNamespace(namespaceName).withName(deploymentName).scale(replicasNumber, false);

    MessageHelper.copyHeaders(exchange.getIn(), exchange.getOut(), true);
    exchange.getOut().setBody(deploymentScaled.getStatus().getReplicas());
  }
}

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

Future<ReconciliationState> entityOperatorDeployment(Supplier<Date> dateSupplier) {
  if (this.entityOperator != null) {
    Future<Deployment> future = deploymentOperations.getAsync(namespace, this.entityOperator.getName());
    if (future != null) {
      return future.compose(dep -> {
        // getting the current cluster CA generation from the current deployment, if exists
        int clusterCaCertGeneration = getDeploymentCaCertGeneration(dep, this.clusterCa);
        int clientsCaCertGeneration = getDeploymentCaCertGeneration(dep, this.clientsCa);
        // if maintenance windows are satisfied, the cluster CA generation could be changed
        // and EO needs a rolling update updating the related annotation
        boolean isSatisfiedBy = isMaintenanceTimeWindowsSatisfied(dateSupplier);
        if (isSatisfiedBy) {
          clusterCaCertGeneration = getCaCertGeneration(this.clusterCa);
          clientsCaCertGeneration = getCaCertGeneration(this.clientsCa);
        }
        Annotations.annotations(eoDeployment.getSpec().getTemplate()).put(
            Ca.ANNO_STRIMZI_IO_CLUSTER_CA_CERT_GENERATION, String.valueOf(clusterCaCertGeneration));
        Annotations.annotations(eoDeployment.getSpec().getTemplate()).put(
            Ca.ANNO_STRIMZI_IO_CLIENTS_CA_CERT_GENERATION, String.valueOf(clientsCaCertGeneration));
        return withVoid(deploymentOperations.reconcile(namespace, EntityOperator.entityOperatorName(name), eoDeployment));
      }).map(i -> this);
    }
  }
  return Future.succeededFuture(this);
}

代码示例来源:origin: org.eclipse.che.infrastructure/infrastructure-openshift

} else if (object instanceof Deployment) {
 Deployment deployment = (Deployment) object;
 deployments.put(deployment.getMetadata().getName(), deployment);
} else if (object instanceof Service) {
 Service service = (Service) object;

相关文章