k8s之patch
1、JsonPatch创建数组imagePullPolicy4 := "44"patch := []byte(fmt.Sprintf(`[{"op": "add","path": "/spec/sysctlInit/command","value": ["%s"]}]`, imagePullPolicy4))if err := kubeCli.Patch(context.Background(),
·
1、JsonPatch创建数组
imagePullPolicy4 := "44"
patch := []byte(fmt.Sprintf(`
[
{
"op": "add",
"path": "/spec/sysctlInit/command",
"value": ["%s"]
}
]
`, imagePullPolicy4))
if err := kubeCli.Patch(context.Background(), &v1alpha1.MyReconciler{
ObjectMeta: metav1.ObjectMeta{
Namespace: namespace,
Name: name,
}}, client.RawPatch(ctypes.JSONPatchType, patch)); err != nil {
return err
}
2、JsonPatch为数组添加元素
imagePullPolicy5 := "55"
patch := []byte(fmt.Sprintf(`
[
{
"op": "add",
"path": "/spec/sysctlInit/command/-",
"value": "%s"
}
]
`, imagePullPolicy5))
if err := kubeCli.Patch(context.Background(), &v1alpha1.MyReconciler{
ObjectMeta: metav1.ObjectMeta{
Namespace: namespace,
Name: name,
}}, client.RawPatch(ctypes.JSONPatchType, patch)); err != nil {
return err
}
3、JsonPacth创建对象
imagePullPolicy := "44"
patch := []byte(fmt.Sprintf(`
[
{
"op": "add",
"path": "/spec/sysctlInit",
"value": {
"imagePullPolicy": "%s",
"enabled": true
}
}
]
`, imagePullPolicy))
if err := kubeCli.Patch(context.Background(), &v1alpha1.MyReconciler{
ObjectMeta: metav1.ObjectMeta{
Namespace: namespace,
Name: name,
}}, client.RawPatch(ctypes.JSONPatchType, patch)); err != nil {
return err
}
4、StrategicPatch
notCrpatch := []byte(`{"metadata":{"annotations":{"version": "v2"}}}`)
if err := kubeCli.Patch(context.Background(), &v1alpha1.MyReconciler{
ObjectMeta: metav1.ObjectMeta{
Namespace: namespace,
Name: name,
}}, client.RawPatch(ctypes.StrategicMergePatchType, notCrpatch)); err != nil {
return err
}
5、kubectl进行json patch
# 修改terminationGracePeriodSeconds:
kubectl patch app lt81-05-jyd0725app2-dev-dev2 -n lt81-05-dev --type json -p '[{"op":"replace","path":"/spec/components/0/properties/terminationGracePeriodSeconds","value":33}]'
# 新增系统环境变量:
kubectl patch app lt81-05-jyd0725app2-dev-dev2 -n lt81-05-dev --type json -p '[{"op":"add","path":"/spec/components/0/properties/env/-","value":{"name":"aaa","value":"bbb"}}]'
更多推荐
已为社区贡献34条内容
所有评论(0)