本文整理汇总了Java中io.fabric8.kubernetes.client.dsl.PodResource类的典型用法代码示例。如果您正苦于以下问题:Java PodResource类的具体用法?Java PodResource怎么用?Java PodResource使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PodResource类属于io.fabric8.kubernetes.client.dsl包,在下文中一共展示了PodResource类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getState
import io.fabric8.kubernetes.client.dsl.PodResource; //导入依赖的package包/类
@Override
public State getState(String id) throws FrameworkException {
PodResource<Pod, DoneablePod> podResource = client.pods().inNamespace(KUBERNETES_NAMESPACE).withName(id);
String exitCode = Optional.ofNullable(podResource.get().getStatus().getContainerStatuses().get(0).getState().getTerminated())
.map(stateTerminated -> stateTerminated.getExitCode().toString())
.orElse("");
String log = podResource.getLog();
State state = new State();
state.setCode(String.valueOf(exitCode));
state.setDescription(podResource.get().getMetadata().toString());
state.setId(id);
state.setStderr(log);
state.setStdout(log);
return state;
}
示例2: doDelete
import io.fabric8.kubernetes.client.dsl.PodResource; //导入依赖的package包/类
private CompletableFuture<Void> doDelete(String name) throws InfrastructureException {
try {
final PodResource<Pod, DoneablePod> podResource =
clientFactory.create().pods().inNamespace(namespace).withName(name);
final CompletableFuture<Void> deleteFuture = new CompletableFuture<>();
final Watch watch = podResource.watch(new DeleteWatcher(deleteFuture));
podResource.delete();
return deleteFuture.whenComplete(
(v, e) -> {
if (e != null) {
LOG.warn("Failed to remove pod {} cause {}", name, e.getMessage());
}
watch.close();
});
} catch (KubernetesClientException ex) {
throw new InfrastructureException(ex.getMessage(), ex);
}
}
示例3: withDefaultUserPod
import io.fabric8.kubernetes.client.dsl.PodResource; //导入依赖的package包/类
private PodResource<Pod, DoneablePod> withDefaultUserPod(Pod pod) {
if (pod.getMetadata().getNamespace() != null) {
return withDefaultUser(c -> c.pods().inNamespace(pod.getMetadata().getNamespace()).withName(pod.getMetadata().getName()));
} else {
return withDefaultUser(c -> c.pods().withName(pod.getMetadata().getName()));
}
}
示例4: mockPodsByName
import io.fabric8.kubernetes.client.dsl.PodResource; //导入依赖的package包/类
private void mockPodsByName(String namespace, String name, Pod pod) {
when(this.mixedOperationMock.inNamespace(namespace)).thenReturn(this.nonNamespaceOperationMock);
@SuppressWarnings("unchecked")
PodResource<Pod, DoneablePod> podResource = Mockito.mock(PodResource.class);
when(podResource.get()).thenReturn(pod);
when(this.nonNamespaceOperationMock.withName(name)).thenReturn(podResource);
}
示例5: withDefaultUserPod
import io.fabric8.kubernetes.client.dsl.PodResource; //导入依赖的package包/类
private PodResource<Pod, DoneablePod> withDefaultUserPod(Pod pod) {
if (pod.getMetadata().getNamespace() != null) {
return withDefaultUser(c -> c.pods().inNamespace(pod.getMetadata().getNamespace()).withName(pod.getMetadata().getName()));
}
else {
return withDefaultUser(c -> c.pods().withName(pod.getMetadata().getName()));
}
}
示例6: blockUntilComplete
import io.fabric8.kubernetes.client.dsl.PodResource; //导入依赖的package包/类
private Optional<URI> blockUntilComplete(final String podName) throws InterruptedException {
LOG.debug("Checking running statuses");
boolean nodeAssigned = false;
while (true) {
final PodResource<Pod, DoneablePod> pod = client.pods().withName(podName);
final PodStatus status = pod.get().getStatus();
if (!nodeAssigned && pod.get().getSpec().getNodeName() != null) {
LOG.info("Pod {} assigned to node {}", podName, pod.get().getSpec().getNodeName());
nodeAssigned = true;
}
switch (status.getPhase()) {
case "Succeeded":
LOG.info("Kubernetes pod {} exited with status {}", podName, status.getPhase());
final Optional<ContainerStatus> containerStatus = status.getContainerStatuses().stream()
.filter(c -> HYPE_RUN.equals(c.getName()))
.findFirst();
final Optional<String> terminated = containerStatus
.flatMap(s -> Optional.ofNullable(s.getState().getTerminated()))
.flatMap(t -> Optional.ofNullable(t.getMessage()));
if (terminated.isPresent()) {
String message = terminated.get();
LOG.info("Got termination message: {}", message);
return Optional.of(URI.create(message));
}
break;
case "Failed":
LOG.info("Kubernetes pod {} failed with status {}", podName, status);
return Optional.empty();
default:
break;
}
Thread.sleep(TimeUnit.SECONDS.toMillis(POLL_PODS_INTERVAL_SECONDS));
}
}