从OpenShift Java REST Client重新启动Pod

时间:2018-06-12 17:57:34

标签: java openshift

我试图以编程方式重新启动Pod。首先,我通过oc命令行找到了一些方法:

  1. 删除广告连播并创建一个新的广告投放管:oc delete pod postgresql-2-wz989
  2. 启动新部署:oc rollout latest dc/postgresql
  3. 我认为第二种方式更好,因为部署配置名称是静态的,并且不会像pod的名称那样改变。

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

    提前致谢。

1 个答案:

答案 0 :(得分:1)

考虑到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();

我通过研究客户端的源代码来解决这个问题。我不知道是否有更好的方法来实现这一目标。欢迎提出任何意见。