これを行うには2通りの方法があります。 json patchまたはマージパッチを使用します。ここにあなたがマージパッチのために、あなたがマージされるいくつかの変更を必要とするすべてのオブジェクトツリーを(状態から始まる)を含む辞書を作成する必要が見ることができ、今
[[email protected] ~]$ cat patch.json
{
"status": {
"loadBalancer": {
"ingress": [
{"ip": "8.3.2.1"}
]
}
}
}
:ここでは後者を行う方法です。何かを置き換えたい場合は、jsonパッチ戦略を使用する必要があります。
我々は要求を送信し、すべてがうまくいけば、我々はすでに適用され、マージしてオブジェクトに成る応答を受信します。このファイルを持っていたら:
[[email protected] ~]$ curl --request PATCH --data "$(cat patch.json)" -H "Content-Type:application/merge-patch+json" http://localhost:8080/api/v1/namespaces/default/services/kubernetes/status{
"kind": "Service",
"apiVersion": "v1",
"metadata": {
"name": "kubernetes",
"namespace": "default",
"selfLink": "/api/v1/namespaces/default/services/kubernetes/status",
"uid": "b8ece320-76c1-11e7-b468-fa163ea3fb09",
"resourceVersion": "2142242",
"creationTimestamp": "2017-08-01T14:00:06Z",
"labels": {
"component": "apiserver",
"provider": "kubernetes"
}
},
"spec": {
"ports": [
{
"name": "https",
"protocol": "TCP",
"port": 443,
"targetPort": 6443
}
],
"clusterIP": "10.0.0.129",
"type": "ClusterIP",
"sessionAffinity": "ClientIP"
},
"status": {
"loadBalancer": {
"ingress": [
{
"ip": "8.3.2.1"
}
]
}
}
を