Kubernetes Kubectl使用文件更新ConfigMap

Kubernetes Kubectl使用文件更新ConfigMap,kubernetes,Kubernetes,我有一个用于K8s的工具,它使用四个配置文件: falco-config/falco.yaml falco-config/falco_rules.local.yaml falco-config/falco_rules.yaml falco-config/k8s_audit_rules.yaml 在部署时,我使用以下命令创建此工具的配置映射: kubectl create configmap falco-config --from-file=..../f

我有一个用于K8s的工具,它使用四个配置文件:

falco-config/falco.yaml             
falco-config/falco_rules.local.yaml 
falco-config/falco_rules.yaml       
falco-config/k8s_audit_rules.yaml
在部署时,我使用以下命令创建此工具的配置映射:

kubectl create configmap falco-config --from-file=..../falco-config/
它使用这四个文件创建一个ConfigMap。现在假设我只想更新
falco_rules.yaml
,但由于不同的原因,我没有其他文件。哪个kubectl命令可以帮我做到这一点?我在K8s文档和Stackoverflow上寻找解决方案,但运气不佳

另一个问题是,有没有一个例子可以通过Javascript中的K8SAPI实现同样的功能

注意: 我看过这个问题:
但是它没有解决通过API进行修改的问题,以及我只需要更新一个文件,而整个配置由4个文件组成的事实。

不幸的是,无法一次性更新ConfigMap的特定字段。假设已创建ConfigMap资源,您可以按如下方式解决此问题:

  • 获取ConfigMap资源:
    kubectl get ConfigMap--export-o yaml>config.yaml
    在本地获取ConfigMap资源
  • 更新
    config.yaml
    中的字段,以便正确注入
    falco_rules.yaml
    的值。这可以通过编程实现
  • kubectl apply-f config.yaml
    重新配置现有ConfigMap资源

  • 这回答了你的问题吗?不。请看我上面的笔记。您好,请阅读更好的问题。它们非常相似。该问题讨论的是只有一个配置文件的ConfigMap,其中只需要更改一个参数。在我的例子中,我的ConfigMap由4个文件组成,我只需要更新一个文件。从答案来看,似乎没有解决这两个问题的方法,除非您不以编程方式操作ConfigMap。如果你认为这个问题是重复的,我没有异议,对此我很抱歉。在提交之前我做了一个搜索,我认为我的问题是不同的,因为我认为一个文件是可以更改的。是的,我想象了一个这样的解决方案。但你有我的问题。我希望避免以编程方式操作文件,并有一个更优雅的解决方案。