使用“应用”时,“已创建”与“未更改”与“已配置”

时间:2019-04-25 13:27:07

标签: kubernetes

在创建配置映射时,“ apply -f”将返回“已创建”,“配置”或“未更改”,但是在创建空配置映射时(即data:部分为空),则它似乎总是返回“ configured” '。任何人都可以解释这些回答,因为我似乎在文档中找不到它们

(使用数据创建配置映射会产生预期的结果:“创建”为首次,根据更新对其进行“配置” /“不变”)

示例空配置图:

apiVersion: v1
kind: ConfigMap
metadata:
  name: test-config
  namespace: test
  labels:
    app: test
data:

1 个答案:

答案 0 :(得分:0)

使用kubectl create -f时,您会注意到:已创建,已经存在

使用kubectl apply -f时,您会注意到:已创建,已配置,是在创建此第一项操作期间注释:kubectl.kubernetes.io/last-applied-configuration < / strong>。

请运行kubectl get cm <your ConfigMap> -n <namespace> -o yaml并验证您的 ConfigMap

根据有关“ 声明式对象配置here的文档:

  

注意:声明式对象配置保留其他编写者所做的更改,即使这些更改没有合并回到对象配置文件中。通过使用补丁API操作仅写入观察到的差异,而不是使用replace API操作来替换整个对象配置,这是可能的。

请使用: kubectl diff -f <your configmap yaml file>来查看您的配置实时配置之间的差异,以及将被 patch API操作取代的内容。

这还取决于“ 如何合并不同类型的字段”,您可以找到详细信息here

希望获得帮助。