环境
kubernetes 1.20.6
Spring Boot 2.5.0-M3
目标
学习获取和修改 cm 中数据的方式。
示例
获取 cm 中的全部数据
[root@master ~]# kubectl describe cm configmap4
Name: configmap4
Namespace: default
Labels: <none>
Annotations: <none>
Data
====
test.json:
----
{
"name": "jiangbo",
"age": 44
}
test.properties:
----
name=jiangbo
age=44
Events: <none>
[root@master ~]# kubectl get cm configmap4 -o jsonpath='{.data.test.json}'
{
"name": "jiangbo",
"age": 44
}
[root@master ~]# kubectl get cm configmap4 -o jsonpath='{.data.test.properties}'
name=jiangbo
age=44
[root@master ~]#
获取 cm 中的单个数据
[root@master ~]# kubectl get cm configmap4 -o jsonpath='{.data.test.json}' | jq -r .name
jiangbo
[root@master ~]# source <(kubectl get cm configmap4 -o jsonpath='{.data.test.properties}');echo $name
jiangbo
修改 cm 中的数据 1
[root@master ~]# sed -i 's/age=44/age=4444/g' config/test.properties
[root@master ~]# kubectl create cm configmap4 --from-file=config -o yaml --dry-run=client | kubectl apply -f -
configmap/configmap4 configured
[root@master ~]# kubectl describe cm configmap4
Name: configmap4
Namespace: default
Labels: <none>
Annotations: <none>
Data
====
test.json:
----
{
"name": "jiangbo",
"age": 44
}
test.properties:
----
name=jiangbo
age=4444
Events: <none>
修改 cm 中的数据 2
[root@master ~]# kubectl get cm configmap4 -o yaml |sed 's/age=44/age=4444/g' | kubectl apply -f -
configmap/configmap4 configured
[root@master ~]# kubectl describe cm configmap4
Name: configmap4
Namespace: default
Labels: <none>
Annotations: <none>
Data
====
test.json:
----
{
"name": "jiangbo",
"age": 44
}
test.properties:
----
name=jiangbo
age=4444
Events: <none>
总结
介绍了获取和修改 cm 的方式。