java - 从 OpenShift Java REST 客户端重新启动 Pod

标签 java openshift

我正在尝试以编程方式重新启动 Pod。首先,我找到了一些通过 oc 命令行执行此操作的方法:

  1. 删除 pod,将创建一个新的 Pod:oc delete pod postgresql-2-wz989
  2. 启动新部署:oc rolloutlatest dc/postgresql

我认为第二种方法更好,因为部署配置名称是静态的,不会像 Pod 名称那样发生变化。

我的问题是如何使用 Java Rest 客户端执行此操作?我不太清楚如何使用这个客户端 API。

提前致谢。

最佳答案

考虑到 Graham Dumpleton 关于使用 --loglevel=9 的提示,我找到了使用 java 客户端的解决方案:

IClient client = new ClientBuilder("https://10.0.75.2:8443")
                    .withUserName("developer")
                    .withPassword("developer")
                    .build();
IProject project = client.getResourceFactory().stub(ResourceKind.PROJECT, "prj4testing");
IDeploymentConfig deploymentConfig = client.getResourceFactory().stub(ResourceKind.DEPLOYMENT_CONFIG, "postgresql", project.getName());
IDeploymentTriggerable capability = deploymentConfig.getCapability(IDeploymentTriggerable.class);
capability.setForce(true);
capability.setLatest(true);
capability.trigger();

我通过研究客户端的源代码找到了这个解决方案。我不知道是否有更好的方法来实现这一目标。欢迎大家提出意见。

关于java - 从 OpenShift Java REST 客户端重新启动 Pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50823125/

相关文章:

java - 无法将数据从 AppCompatDialogFragment 传递到 Fragment (NullPointerException)

java - 如何创建使用 XStream 的 Arquillian 测试?

Java Arrays.copyOf

tomcat - OPENSHIFT DIY Tomcat 墨盒 setenv.sh 脚本没有获取 OPENSHIFT 变量

java - Openshift pre_start Hook 在应用程序重新启动时不起作用

java - 为什么 redshift 连接中的连接时间错误?

java - 在 Java 中对 Eithers 列表进行分区

c# - 在 openshift 上连接 mysql 服务器时出错

mysql - 如何在 OpenShift 上使用 Hibernate 连接到 MySQL 数据库

kubernetes - Openshift “oc apply”是覆盖整个配置还是仅覆盖所包含的参数?