当前位置: 首页 > 知识库问答 >
问题:

如何用java Kubernetes客户机实现`kubectl apply-f stuff.yaml'

方寒
2023-03-14

我想从java程序在Kubernetes上执行一个操作,比如kubectl apply-f stuff.yaml。我不想从我的Java程序中调用kubectl,相反,我想使用Java Kubernetes客户机。在查看了项目中的API类之后,我无法确定可以使用哪些方法来实现类似于Kubectly Apply的功能。

有人对如何实现它有什么建议吗?

共有1个答案

暴辰龙
2023-03-14

实际上,没有任何方法本身或灵丹妙药,基本上您要做的几乎是尝试用Java重写Kubectl

您应该能够使用Jackson或SnakeYAML之类的东西来解码YAML并使用Kubernetes客户机中的所有不同组件,如创建名称空间、pods、deployments等。

您还可以通过https://kube-apiserver-address:6443/api/...上的kube-apiserver执行强力方法,通过发送一个经过身份验证/授权的get/post/delete请求,该请求带有JSON有效负载,可以通过将YAML转换为JSON(也许还需要进行一些清理)获得JSON有效负载,您可以使用Apache HTTP客户机库或Jersey。

 类似资料:
  • 我试图结合2个或更多的服务,我想检查他们的状态,并返回自定义响应。例如,其中一个返回200,另一个返回500、404、400等。在这种情况下,我想返回空列表。下面的示例仅在返回200的所有服务时有效

  • gRPC客户端流媒体/双向流媒体是如何使用HTTP/2实现的 服务器流媒体是有意义的,因为它可以利用服务器推送来发送对请求的多个响应,但我不清楚它如何像通过websocket那样通过HTTP/2进行双向消息传递。

  • 我使用Retrofit为我的REST API实现了一个Java客户端。客户端是一个简单的java应用程序,而不是Android应用程序。如何为我的Java客户端编写单元测试?以下是我的服务类之一。

  • 我试图在Java项目中创建一个graphql客户机,我正在使用apollographql库。问题是,我无法使用版本不同于中央存储库的pom.xml获得依赖关系。另一件事是所有的例子都是用Gradle构建的。关于如何使用apollo库和maven项目创建一个简单的订阅客户机,您有什么示例或想法吗?我遇到的一个具体问题是,一旦下载了apollographql-runtime库,就没有“订阅”包了。我想

  • 我正在编写一个oauth2提供程序,不确定如何实现客户端注册。oauth2规范没有涵盖这方面: 客户端向授权服务器注册的方法超出了本规范的范围,但通常涉及终端用户与HTML注册表单的交互。 此外,文档对数据模型有以下说明: 通常的做法是将每个客户端与一个现有用户链接起来。无论是否将客户端和用户关联,都要确保能够保护自己免受恶意客户端的攻击。 null

  • 我一直在使用FTP客户端java实现。我所要做的就是连接到FTP服务器并将一个文件传输到服务器。 我设法与ftp服务器建立了连接(见下面的代码),之后我使用PASV命令进入了被动模式。现在我不知道下一步该做什么。我尝试在PASV命令之后制作一个新套接字并将其连接到FTP服务器端口20,但没有成功。 我的问题是建立连接时如何启动文件传输?(我的想法是与端口20建立连接并执行STOR命令,但我不知道如