用于配置映射的Kubernetes API



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

kubectl create configmap configmap2 --from-file foldername

其中foldername包含具有密钥和值的文件

现在,我想使用Java创建一个具有相同文件夹的K8s配置映射。我不想使用任何图书馆。我有什么办法做到这一点吗?

是的,你可以做到,但这并不容易——你必须:

  • 列出所有文件(可以使用java.nio.file.Files(
  • 创建文件的base64表示形式(为此使用java.util.Base64(
  • 创建一个表示文件和元数据的JSON(为此必须使用字符串连接(。JSON应该看起来像的输出

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

使用Kubernetes Java客户端会更容易(例如:fabric8io客户端,Kubernete官方客户端(。

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

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

数据必须是此处指定的ConfigMap JSON对象。

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

提示:

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

相关内容

  • 没有找到相关文章

最新更新