【问题标题】:How do I read a file from deployment's pods using fabric8 kubernetes java client?如何使用fabric8 kubernetes java客户端从部署的pod中读取文件?
【发布时间】:2022-01-04 05:54:23
【问题描述】:

如何从部署的 pod 中读取文件?更具体地说,我希望 fabric8 的 kubernetes java 客户端等效于以下命令:

kubectl exec --stdin --tty deployment/otel-collector -n logcollection -- cat /otel-output/json-out.json

PS:您可以忽略 --stdin--tty 标志。

【问题讨论】:

    标签: java kubernetes kubectl fabric8 kubernetes-deployment


    【解决方案1】:

    Pod 读取文件相当简单,您可以使用以下语法(另见fabric8 documentation):

    try (InputStream is = client.pods().inNamespace(currentNamespace).withName(pod1.getMetadata().getName()).file("/msg").read())  {
      String result = new BufferedReader(new InputStreamReader(is)).lines().collect(Collectors.joining("\n"));
    }
    

    【讨论】:

    • 我想知道是否可以不使用 pod 名称。我正在尝试仅通过部署获取文件。
    • 嗯,这可能很难实现,因为一个部署可能会管理更大的 Pod 集,所以在这种情况下,您希望在哪些 Pod 中cat您的文件?
    猜你喜欢
    • 1970-01-01
    • 2023-02-16
    • 1970-01-01
    • 2020-09-26
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-14
    相关资源
    最近更新 更多