use of io.fabric8.kubernetes.api.model.apps.ReplicaSet in project devspaces-images by redhat-developer.
the class ContainerSearchTest method setup.
@BeforeMethod
public void setup() {
// These are all the object types that can be contained in a KubernetesList which can contain a
// container:
// Pod, PodTemplate, DaemonSet, Deployment, Job, ReplicaSet, ReplicationController, StatefulSet,
// CronJob, DeploymentConfig, Template
Container container1 = new ContainerBuilder().withName("container1").build();
Container container2 = new ContainerBuilder().withName("container2").build();
Container container3 = new ContainerBuilder().withName("container3").build();
Container container4 = new ContainerBuilder().withName("container4").build();
Container container5 = new ContainerBuilder().withName("container5").build();
Container container6 = new ContainerBuilder().withName("container6").build();
Container container7 = new ContainerBuilder().withName("container7").build();
Container container8 = new ContainerBuilder().withName("container8").build();
Container container9 = new ContainerBuilder().withName("container9").build();
Container container10 = new ContainerBuilder().withName("container10").build();
Container container11 = new ContainerBuilder().withName("container11").build();
Container container12 = new ContainerBuilder().withName("container12").build();
Pod podWithName = new PodBuilder().withNewMetadata().withName("podWithName").addToLabels("app", "che").endMetadata().withNewSpec().withContainers(container1).endSpec().build();
Pod podWithGenerateName = new PodBuilder().withNewMetadata().withGenerateName("podWithGenerateName").endMetadata().withNewSpec().withContainers(container2).endSpec().build();
PodTemplate podTemplate = new PodTemplateBuilder().withNewMetadata().withName("podTemplate").addToLabels("app", "che").endMetadata().withNewTemplate().withNewSpec().withContainers(container3).endSpec().endTemplate().build();
DaemonSet daemonSet = new DaemonSetBuilder().withNewMetadata().withName("daemonSet").endMetadata().withNewSpec().withNewTemplate().withNewSpec().withContainers(container4).endSpec().endTemplate().endSpec().build();
Deployment deployment = new DeploymentBuilder().withNewMetadata().withName("deployment").addToLabels("app", "che").endMetadata().withNewSpec().withNewTemplate().withNewMetadata().withName("podWithName").endMetadata().withNewSpec().withContainers(container5).endSpec().endTemplate().endSpec().build();
Job job = new JobBuilder().withNewMetadata().withName("job").endMetadata().withNewSpec().withNewTemplate().withNewSpec().withContainers(container6).endSpec().endTemplate().endSpec().build();
ReplicaSet replicaSet = new ReplicaSetBuilder().withNewMetadata().withName("replicaSet").addToLabels("app", "che").endMetadata().withNewSpec().withNewTemplate().withNewSpec().withContainers(container7).endSpec().endTemplate().endSpec().build();
ReplicationController replicationController = new ReplicationControllerBuilder().withNewMetadata().withName("replicationController").endMetadata().withNewSpec().withNewTemplate().withNewSpec().withContainers(container8).endSpec().endTemplate().endSpec().build();
StatefulSet statefulSet = new StatefulSetBuilder().withNewMetadata().withName("statefulSet").addToLabels("app", "che").endMetadata().withNewSpec().withNewTemplate().withNewSpec().withContainers(container9).endSpec().endTemplate().endSpec().build();
CronJob cronJob = new CronJobBuilder().withNewMetadata().withName("cronJob").endMetadata().withNewSpec().withNewJobTemplate().withNewSpec().withNewTemplate().withNewSpec().withContainers(container10).endSpec().endTemplate().endSpec().endJobTemplate().endSpec().build();
DeploymentConfig deploymentConfig = new DeploymentConfigBuilder().withNewMetadata().withName("deploymentConfig").addToLabels("app", "che").endMetadata().withNewSpec().withNewTemplate().withNewSpec().withContainers(container11).endSpec().endTemplate().endSpec().build();
Template template = new TemplateBuilder().addToObjects(new DeploymentBuilder().withNewMetadata().withName("deploymentWithName").endMetadata().withNewSpec().withNewTemplate().withNewMetadata().withName("podWithName").endMetadata().withNewSpec().withContainers(container12).endSpec().endTemplate().endSpec().build()).build();
// Pod, PodTemplate, DaemonSet, Deployment, Job, ReplicaSet, ReplicationController, StatefulSet,
// CronJob, DeploymentConfig, Template
testList = asList(podWithName, podWithGenerateName, podTemplate, daemonSet, deployment, job, replicaSet, replicationController, statefulSet, cronJob, deploymentConfig, template);
}
use of io.fabric8.kubernetes.api.model.apps.ReplicaSet in project Kuvel by AzisabaNetwork.
the class RedisLoadBalancerDiscovery method registerLoadBalancersForStartup.
@Override
public void registerLoadBalancersForStartup() {
if (redisConnectionLeader.isLeader()) {
try (Jedis jedis = jedisPool.getResource()) {
Map<String, String> uidAndServerNameMapInRedis = jedis.hgetAll(RedisKeys.LOAD_BALANCERS_PREFIX.getKey() + groupName);
for (Map.Entry<String, String> entry : uidAndServerNameMapInRedis.entrySet()) {
ReplicaSet replicaSet = getReplicaSetFromUid(entry.getKey());
if (replicaSet == null) {
jedis.hdel(RedisKeys.LOAD_BALANCERS_PREFIX.getKey() + groupName, entry.getKey());
continue;
}
registerOrIgnore(replicaSet, true);
}
client.apps().replicaSets().inAnyNamespace().withLabel(LabelKeys.SERVER_DISCOVERY.getKey(), "true").withLabel(LabelKeys.SERVER_NAME.getKey()).list().getItems().stream().filter(replicaSet -> !uidAndServerNameMapInRedis.containsKey(replicaSet.getMetadata().getUid())).forEach(this::registerOrIgnore);
}
} else {
try (Jedis jedis = jedisPool.getResource()) {
Map<String, String> uidAndServerNameMapInRedis = jedis.hgetAll(RedisKeys.LOAD_BALANCERS_PREFIX.getKey() + groupName);
for (Map.Entry<String, String> entry : uidAndServerNameMapInRedis.entrySet()) {
ReplicaSet replicaSet = getReplicaSetFromUid(entry.getKey());
if (replicaSet == null) {
continue;
}
registerOrIgnore(replicaSet, true);
}
}
}
}
use of io.fabric8.kubernetes.api.model.apps.ReplicaSet in project jkube by eclipse.
the class DockerImageWatcher method updateImageName.
private void updateImageName(KubernetesClient kubernetes, String namespace, HasMetadata entity, String imagePrefix, String imageName) {
String name = KubernetesHelper.getName(entity);
if (entity instanceof Deployment) {
Deployment resource = (Deployment) entity;
DeploymentSpec spec = resource.getSpec();
if (spec != null && updateImageName(entity, spec.getTemplate(), imagePrefix, imageName)) {
kubernetes.apps().deployments().inNamespace(namespace).withName(name).replace(resource);
kubernetes.apps().deployments().inNamespace(namespace).withName(name).rolling().restart();
}
} else if (entity instanceof ReplicaSet) {
ReplicaSet resource = (ReplicaSet) entity;
ReplicaSetSpec spec = resource.getSpec();
if (spec != null && updateImageName(entity, spec.getTemplate(), imagePrefix, imageName)) {
kubernetes.apps().replicaSets().inNamespace(namespace).withName(name).replace(resource);
kubernetes.apps().replicaSets().inNamespace(namespace).withName(name).rolling().restart();
}
} else if (entity instanceof ReplicationController) {
ReplicationController resource = (ReplicationController) entity;
ReplicationControllerSpec spec = resource.getSpec();
if (spec != null && updateImageName(entity, spec.getTemplate(), imagePrefix, imageName)) {
kubernetes.replicationControllers().inNamespace(namespace).withName(name).replace(resource);
kubernetes.replicationControllers().inNamespace(namespace).withName(name).rolling().restart();
}
} else if (entity instanceof DeploymentConfig) {
DeploymentConfig resource = (DeploymentConfig) entity;
DeploymentConfigSpec spec = resource.getSpec();
if (spec != null && updateImageName(entity, spec.getTemplate(), imagePrefix, imageName)) {
OpenShiftClient openshiftClient = OpenshiftHelper.asOpenShiftClient(kubernetes);
if (openshiftClient == null) {
log.warn("Ignoring DeploymentConfig %s as not connected to an OpenShift cluster", name);
} else {
openshiftClient.deploymentConfigs().inNamespace(namespace).withName(name).replace(resource);
}
}
}
}
use of io.fabric8.kubernetes.api.model.apps.ReplicaSet in project jkube by eclipse.
the class KubernetesClientUtil method resizeApp.
public static void resizeApp(KubernetesClient kubernetes, String namespace, Collection<HasMetadata> entities, int replicas, KitLogger log) {
for (HasMetadata entity : entities) {
String name = KubernetesHelper.getName(entity);
Scaleable<?> scalable = null;
if (entity instanceof Deployment) {
scalable = kubernetes.apps().deployments().inNamespace(namespace).withName(name);
} else if (entity instanceof ReplicaSet) {
scalable = kubernetes.apps().replicaSets().inNamespace(namespace).withName(name);
} else if (entity instanceof ReplicationController) {
scalable = kubernetes.replicationControllers().inNamespace(namespace).withName(name);
} else if (entity instanceof DeploymentConfig) {
OpenShiftClient openshiftClient = OpenshiftHelper.asOpenShiftClient(kubernetes);
if (openshiftClient == null) {
log.warn("Ignoring DeploymentConfig %s as not connected to an OpenShift cluster", name);
continue;
}
scalable = openshiftClient.deploymentConfigs().inNamespace(namespace).withName(name);
}
if (scalable != null) {
log.info("Scaling " + KubernetesHelper.getKind(entity) + " " + namespace + "/" + name + " to replicas: " + replicas);
scalable.scale(replicas, true);
}
}
}
use of io.fabric8.kubernetes.api.model.apps.ReplicaSet in project jkube by eclipse.
the class ApplyService method applyEntity.
/**
* Applies the given DTOs onto the Kubernetes master
*/
private void applyEntity(Object dto, String sourceName) {
if (dto instanceof Pod) {
applyPod((Pod) dto, sourceName);
} else if (dto instanceof ReplicationController) {
applyReplicationController((ReplicationController) dto, sourceName);
} else if (dto instanceof Service) {
applyService((Service) dto, sourceName);
} else if (dto instanceof Route) {
applyRoute((Route) dto, sourceName);
} else if (dto instanceof BuildConfig) {
applyBuildConfig((BuildConfig) dto, sourceName);
} else if (dto instanceof DeploymentConfig) {
DeploymentConfig resource = (DeploymentConfig) dto;
OpenShiftClient openShiftClient = getOpenShiftClient();
if (openShiftClient != null) {
applyResource(resource, sourceName, openShiftClient.deploymentConfigs());
} else {
log.warn("Not connected to OpenShift cluster so cannot apply entity %s", dto);
}
} else if (dto instanceof RoleBinding) {
applyRoleBinding((RoleBinding) dto, sourceName);
} else if (dto instanceof Role) {
applyResource((Role) dto, sourceName, kubernetesClient.rbac().roles());
} else if (dto instanceof ImageStream) {
applyImageStream((ImageStream) dto, sourceName);
} else if (dto instanceof OAuthClient) {
applyOAuthClient((OAuthClient) dto, sourceName);
} else if (dto instanceof Template) {
applyTemplate((Template) dto, sourceName);
} else if (dto instanceof ServiceAccount) {
applyServiceAccount((ServiceAccount) dto, sourceName);
} else if (dto instanceof Secret) {
applySecret((Secret) dto, sourceName);
} else if (dto instanceof ConfigMap) {
applyResource((ConfigMap) dto, sourceName, kubernetesClient.configMaps());
} else if (dto instanceof DaemonSet) {
applyResource((DaemonSet) dto, sourceName, kubernetesClient.apps().daemonSets());
} else if (dto instanceof Deployment) {
applyResource((Deployment) dto, sourceName, kubernetesClient.apps().deployments());
} else if (dto instanceof ReplicaSet) {
applyResource((ReplicaSet) dto, sourceName, kubernetesClient.apps().replicaSets());
} else if (dto instanceof StatefulSet) {
applyResource((StatefulSet) dto, sourceName, kubernetesClient.apps().statefulSets());
} else if (dto instanceof Ingress) {
applyResource((Ingress) dto, sourceName, kubernetesClient.extensions().ingresses());
} else if (dto instanceof PersistentVolumeClaim) {
applyPersistentVolumeClaim((PersistentVolumeClaim) dto, sourceName);
} else if (dto instanceof CustomResourceDefinition) {
applyCustomResourceDefinition((CustomResourceDefinition) dto, sourceName);
} else if (dto instanceof Job) {
applyJob((Job) dto, sourceName);
} else if (dto instanceof NetworkPolicy) {
applyResource((NetworkPolicy) dto, sourceName, kubernetesClient.network().networkPolicies());
} else if (dto instanceof Namespace) {
applyNamespace((Namespace) dto);
} else if (dto instanceof Project) {
applyProject((Project) dto);
} else if (dto instanceof GenericKubernetesResource) {
applyGenericKubernetesResource((GenericKubernetesResource) dto, sourceName);
} else if (dto instanceof HasMetadata) {
HasMetadata entity = (HasMetadata) dto;
try {
log.info("Applying %s %s from %s", getKind(entity), getName(entity), sourceName);
kubernetesClient.resource(entity).inNamespace(applicableNamespace((HasMetadata) dto, namespace, fallbackNamespace)).createOrReplace();
} catch (Exception e) {
onApplyError("Failed to create " + getKind(entity) + " from " + sourceName + ". " + e, e);
}
} else {
throw new IllegalArgumentException("Unknown entity type " + dto);
}
}
Aggregations