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(), &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 }總結
- 上一篇: 2019沙雕失误瞬间!哈哈哈哈笑出猪叫.
- 下一篇: 你还在代码里做读写分离么,试试这个中间件