有人知道API openshift restclient java是否可以重新启动POD吗

有人知道API openshift restclient java是否可以重新启动POD吗,openshift,Openshift,我正在尝试以编程方式重新启动openshift中的POD?我可以使用这个客户端API进行连接和查询 如果有,是否可以提供任何示例代码或链接 我使用此方法重新启动pod。我张贴这个答案,以防有人有同样的任务 def restartPod(podName: String, nameSpace: String): Boolean = { val serviceList: Seq[IResource] = openshiftClient.list[IResource](ResourceKind.DE

我正在尝试以编程方式重新启动openshift中的POD?我可以使用这个客户端API进行连接和查询


如果有,是否可以提供任何示例代码或链接

我使用此方法重新启动pod。我张贴这个答案,以防有人有同样的任务

def restartPod(podName: String, nameSpace: String): Boolean =  {

val serviceList: Seq[IResource] = openshiftClient.list[IResource](ResourceKind.DEPLOYMENT_CONFIG, nameSpace).filter(service => service.getName.startsWith(podName)).toList
serviceList match {
  case service :: _ => {
    scaleTo(service, 0) match {
      case None => println(s"Pod ${podName} successfully stopped.")
      case Some(ex) => {
        println(s"Error stopping pod ${podName} reason: ${ex.getMessage}")
      }
    }
    scaleTo(service, 1) match {
      case None => {
        val message = s"Pod ${podName} successfully started."
        println(message)
        (true)
      }
      case Some(ex) => {
        val message = s"Error starting pod ${podName} reason: ${ex.getMessage}"
        logger.error(message)
        (false)
      }
    }
  }
  case _ => {
    val message = s"Pod ${podName} could not be restarted because it was not found with that name."
    logger.error(message)
    (false)
  }
}
}
您将需要以下库:

    <dependency>
        <groupId>com.openshift</groupId>
        <artifactId>openshift-restclient-java</artifactId>
        <version>1.0.1.6</version>
    </dependency>

我目前正在第一次使用opensfhit restclient java,并按照下面的代码片段所示完成了您的任务

代码的作用是:

将服务实例缩放为0 等到豆荚真的不见了 将服务实例缩放回1 等待服务实例真正启动 当服务实例启动时,需要执行的任何操作 实施:

正如我已经写过的,这些是我使用openshift restclient java的第一步

OC3.6需要以下依赖项+

        <dependency>
        <groupId>com.openshift</groupId>
        <artifactId>openshift-restclient-java</artifactId>
        <version>6.1.2.Final</version>
    </dependency>

RESTAPI端点/API/v1/namespaces/{namespace}/pods允许您查询pods。使用DELETE HTTP谓词,您还应该能够删除pod,这将具有重新启动pod的效果。感谢您指出此方法。我没有机会尝试,但看起来可能会。
        <dependency>
        <groupId>com.openshift</groupId>
        <artifactId>openshift-restclient-java</artifactId>
        <version>6.1.2.Final</version>
    </dependency>