我喜欢 yaml 的可读性,因此我正在尝试这个(没有 json) - 你知道为什么它运行没有错误,但不更新/更改任何东西吗?
kubectl patch configmap/config-domain -n knative-serving --type merge -p '
data:
example.com:""
'
这是有效的,但我不知道为什么:
kubectl patch configmap/config-network -n knative-serving --type merge -p '
data:
autoTLS: Enabled
httpProtocol: Redirected
'
答案 0 :(得分:1)
这是一个示例cm
,带有两个键key1
和key2
,输出格式为yaml
:
k get cm my-config -o yaml
apiVersion: v1
data:
key1: config1
key2: config2
kind: ConfigMap
metadata:
creationTimestamp: "2021-06-22T14:15:07Z"
managedFields:
- apiVersion: v1
fieldsType: FieldsV1
fieldsV1:
f:data:
.: {}
f:key1: {}
f:key2: {}
manager: kubectl-create
operation: Update
time: "2021-06-22T14:15:07Z"
name: my-config
namespace: default
resourceVersion: "755842"
selfLink: /api/v1/namespaces/default/configmaps/my-config
uid: 18d87151-ae27-4aa1-8cf1-eee609c0dd7f
修补 cm
:
k patch cm my-config -p $'data:\n key1: "new_config1"'
configmap/my-config patched
这是更新后的 cm
:
k get cm my-config -o yaml
apiVersion: v1
data:
key1: new_config1 #<----------this is updated
key2: config2
kind: ConfigMap
metadata:
creationTimestamp: "2021-06-22T14:15:07Z"
managedFields:
- apiVersion: v1
fieldsType: FieldsV1
fieldsV1:
f:data:
.: {}
f:key2: {}
manager: kubectl-create
operation: Update
time: "2021-06-22T14:15:07Z"
- apiVersion: v1
fieldsType: FieldsV1
fieldsV1:
f:data:
f:key1: {}
manager: kubectl-patch
operation: Update
time: "2021-06-22T14:16:11Z"
name: my-config
namespace: default
resourceVersion: "755928"
selfLink: /api/v1/namespaces/default/configmaps/my-config
uid: 18d87151-ae27-4aa1-8cf1-eee609c0dd7f
同样,您可以在 cm
中对 json
进行 o/p,您可以在以 cm
格式打印 json
后构建查询。