下面列出了io.fabric8.kubernetes.api.model.ResourceRequirements#getLimits ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Returns the RAM limit in bytes, if it is present in given container otherwise 0 will be
* returned.
*/
public static long getRamLimit(Container container) {
final ResourceRequirements resources = container.getResources();
final Quantity quantity;
if (resources != null
&& resources.getLimits() != null
&& (quantity = resources.getLimits().get("memory")) != null
&& quantity.getAmount() != null) {
return Quantity.getAmountInBytes(quantity).longValue();
}
return 0;
}
/**
* Returns the CPU limit in cores, if it is present in given container otherwise 0 will be
* returned.
*/
public static float getCpuLimit(Container container) {
final ResourceRequirements resources = container.getResources();
final Quantity quantity;
if (resources != null
&& resources.getLimits() != null
&& (quantity = resources.getLimits().get("cpu")) != null
&& quantity.getAmount() != null) {
return KubernetesSize.toCores(quantity.getAmount());
}
return 0;
}
@Test
public void testMainContainerResourceRequirements() {
final ResourceRequirements resourceRequirements = this.resultMainContainer.getResources();
final Map<String, Quantity> requests = resourceRequirements.getRequests();
assertEquals(Double.toString(TASK_MANAGER_CPU), requests.get("cpu").getAmount());
assertEquals(String.valueOf(TOTAL_PROCESS_MEMORY), requests.get("memory").getAmount());
final Map<String, Quantity> limits = resourceRequirements.getLimits();
assertEquals(Double.toString(TASK_MANAGER_CPU), limits.get("cpu").getAmount());
assertEquals(String.valueOf(TOTAL_PROCESS_MEMORY), limits.get("memory").getAmount());
}
@Test
public void testExternalResourceInResourceRequirements() {
final ResourceRequirements resourceRequirements = this.resultMainContainer.getResources();
final Map<String, Quantity> requests = resourceRequirements.getRequests();
assertEquals(Long.toString(RESOURCE_AMOUNT), requests.get(RESOURCE_CONFIG_KEY).getAmount());
final Map<String, Quantity> limits = resourceRequirements.getLimits();
assertEquals(Long.toString(RESOURCE_AMOUNT), limits.get(RESOURCE_CONFIG_KEY).getAmount());
}
@Test
public void testMainContainerResourceRequirements() {
final ResourceRequirements resourceRequirements = this.resultMainContainer.getResources();
final Map<String, Quantity> requests = resourceRequirements.getRequests();
assertEquals(Double.toString(JOB_MANAGER_CPU), requests.get("cpu").getAmount());
assertEquals(String.valueOf(JOB_MANAGER_MEMORY), requests.get("memory").getAmount());
final Map<String, Quantity> limits = resourceRequirements.getLimits();
assertEquals(Double.toString(JOB_MANAGER_CPU), limits.get("cpu").getAmount());
assertEquals(String.valueOf(JOB_MANAGER_MEMORY), limits.get("memory").getAmount());
}