【问题标题】:Unable to delete Routes in Namespace using Fabric8 Api无法使用 Fabric8 Api 删除命名空间中的路由
【发布时间】:2021-09-17 01:37:58
【问题描述】:

有多种方法可以删除路线

openshiftClient.routes().inNamespace().withName("RouteName").delete(); openshiftClient.routes().inNamespace().withLabel("RouteLabel").delete();

如果我使用相同的路由 Yaml 来从 openshift 中删除路由

openshiftClient.resource(hasMetaData).delete(); openshift.load(Inputstream).delete();

这也行不通

我用过openshift 4.6+版本

【问题讨论】:

  • 嗯,你为什么不在inNamespace()方法中指定命名空间?
  • 我在写问题时忘记指定命名空间,请假设有一个命名空间字符串
  • 您使用的是哪个版本的 Fabric8 OpenShift 客户端?

标签: java kubernetes openshift fabric8


【解决方案1】:

我认为您删除Route 的方式存在一些语法错误。由于 Route 是一个命名空间资源,因此无论是 get()delete()patch() 等任何操作,都需要指定 Route 所在的命名空间:

try (OpenShiftClient openshiftClient = new DefaultOpenShiftClient()) {
    openshiftClient.routes().inNamespace("default").withName("random-generator").delete();
}

我在CRC(基于 OpenShift 4.7.11)上测试了上面的代码,它似乎工作正常。

【讨论】:

  • 我也以类似的方式将其删除,但它对我不起作用....您能否验证一下 openshift 版本 4.7.16 ....
  • 对不起,我无权访问 OpenShift 4.7.16 集群。我认为它应该像在任何 OpenShift 版本上一样工作,我们有验证 Route 已成功删除的集成测试:github.com/fabric8io/kubernetes-client/blob/master/…
  • 你能用oc delete删除路由吗?也许您缺少删除路线所需的角色?
  • 我可以通过 oc delete 删除路由
  • 奇怪,你有一些我可以尝试的复制器项目吗?您使用的是哪个版本的客户端?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-03
  • 2012-05-09
  • 2014-08-05
  • 1970-01-01
  • 2016-11-12
  • 1970-01-01
  • 2018-05-05
相关资源
最近更新 更多