【问题标题】:Kubernetes API for configmap用于配置图的 Kubernetes API
【发布时间】:2020-06-21 03:50:59
【问题描述】:

我可以让 kubectl 使用以下命令使用一组文件创建 configmap

kubectl create configmap configmap2 --from-file foldername

其中文件夹名称包含带有键和值的文件

现在我想使用 Java 创建一个具有相同文件夹的 K8s 配置映射。我不想使用任何库。有什么办法可以实现吗?

【问题讨论】:

    标签: java kubernetes kubectl creation configmap


    【解决方案1】:

    是的,您可以这样做,但这并不容易 - 您必须:

    • 列出所有文件(可以使用java.nio.file.Files
    • 创建文件的 base64 表示(为此使用 java.util.Base64
    • 创建一个表示文件和元数据的 JSON(您必须为此使用字符串连接)。 JSON 应该类似于以下内容的输出:

      kubectl create configmap configmap2 --from-file foldername --dry-run -o json
      
    • 使用正确的身份验证将其发布到 Kubernetes API 服务器(使用新的 HTTP client

    使用 Kubernetes Java 客户端会更容易(例如:fabric8io clientofficial Kubernetes client)。

    【讨论】:

    • 使用了 k8s 客户端。谢谢
    【解决方案2】:

    这是您必须向 Kubernetes API 服务器发出的 API 请求以创建 ConfigMap:

    POST /api/v1/namespaces/{namespace}/configmaps

    数据必须是指定的 ConfigMap JSON 对象here

    如果您不使用库,还必须在请求中包含正确的凭据,通常是令牌 (Authorization: Bearer <token>) 或证书。

    提示:

    您可以使用 kubectl create configmap -v 10 configmap2 --from-file foldername(注意 -v 10)查看 kubectl 向 API 服务器发出的确切 HTTP 请求。

    【讨论】:

      猜你喜欢
      • 2015-12-25
      • 1970-01-01
      • 2015-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-18
      • 2020-09-01
      • 1970-01-01
      相关资源
      最近更新 更多