@Override public Deployment scale(int count, boolean wait) { Deployment res = cascading(false).edit().editSpec().withReplicas(count).endSpec().done(); if (wait) { waitUntilDeploymentIsScaled(count); res = getMandatory(); } return res; }
public void restartAllPods(Service service, Optional<String> groupName) throws ApolloKubernetesException, ApolloNotFoundException { try { io.fabric8.kubernetes.api.model.extensions.Deployment deployment = getKubernetesDeployment(service, groupName); if (deployment == null) { throw new ApolloNotFoundException("Deployment not found!"); } // There's no option to force kubernetes deployment to restart all pods gradually, so we have to edit an innocuous field of the deployment kubernetesClient .extensions() .deployments() .inNamespace(environment.getKubernetesNamespace()) .withName(deployment.getMetadata().getName()) .edit() .editSpec() .editTemplate() .editMetadata() .addToLabels("date", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd_HH-mm-ss"))) .endMetadata() .endTemplate() .endSpec() .done(); } catch (KubernetesClientException e) { throw new ApolloKubernetesException(); } }
@Override public boolean reap() { Deployment deployment = oper.cascading(false).edit().editSpec().withReplicas(0).endSpec().done(); waitForObservedGeneration(deployment.getStatus().getObservedGeneration()); reapMatchingReplicaSets(deployment.getSpec().getSelector()); return false; }
@Override Deployment applyResource(Deployment original, Deployment current) { return client .extensions() .deployments() .inNamespace(getNamespace()) .withName(current.getMetadata().getName()) .edit() .withMetadata(current.getMetadata()) .withSpec(current.getSpec()) .done(); }
.endTemplate() .endSpec() .done();
.endTemplate() .endSpec() .done();