From b0a45cd204dcdc1b86b0ca83f3616a134ce9cf90 Mon Sep 17 00:00:00 2001 From: GZmichaelcheung Date: Thu, 12 Oct 2023 16:23:04 +0800 Subject: [PATCH 1/2] fix: strategic merge patch kubernetes --- pkg/resource/node_resource_manager.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkg/resource/node_resource_manager.go b/pkg/resource/node_resource_manager.go index a60dcc4cc..130b3a5cb 100644 --- a/pkg/resource/node_resource_manager.go +++ b/pkg/resource/node_resource_manager.go @@ -10,7 +10,7 @@ import ( v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/resource" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/json" coreinformers "k8s.io/client-go/informers/core/v1" clientset "k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes/scheme" @@ -153,9 +153,13 @@ func (o *NodeResourceManager) UpdateNodeResource() { resourcesFrom := o.BuildNodeStatus(nodeCopy) if !equality.Semantic.DeepEqual(&node.Status, &nodeCopy.Status) { - // Update Node status extend-resource info - // TODO fix: strategic merge patch kubernetes - if _, err := o.client.CoreV1().Nodes().UpdateStatus(context.TODO(), nodeCopy, metav1.UpdateOptions{}); err != nil { + nodeCopyBytes, err := json.Marshal(nodeCopy) + if err != nil { + klog.Errorf("Failed to marshal node %s extended resource, %v", nodeCopy.Name, err) + return + } + + if _, err = o.client.CoreV1().Nodes().PatchStatus(context.TODO(), node.Name, nodeCopyBytes); err != nil { klog.Errorf("Failed to update node %s extended resource, %v", nodeCopy.Name, err) return } From b7ed564951a83a3529df5ee78d7daa7a8f050f4e Mon Sep 17 00:00:00 2001 From: michaelcheungdk Date: Fri, 13 Oct 2023 14:15:55 +0800 Subject: [PATCH 2/2] fix tutorials typo --- .../docs/Tutorials/Recommendation/recommendation-framework.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/content/zh/docs/Tutorials/Recommendation/recommendation-framework.md b/site/content/zh/docs/Tutorials/Recommendation/recommendation-framework.md index c21d88b7f..6413f2e50 100644 --- a/site/content/zh/docs/Tutorials/Recommendation/recommendation-framework.md +++ b/site/content/zh/docs/Tutorials/Recommendation/recommendation-framework.md @@ -9,7 +9,7 @@ weight: 10 ## 推荐概览 Crane 的推荐模块定期的检测发现集群资源配置的问题,并给出优化建议。智能推荐提供了多种 Recommender 来实现面向不同资源的优化推荐。 -如何你想了解 Crane 如何做智能推荐的,或者你想要尝试实现一个自定义的 Recommender,或者修改一个已有的 Recommender 的推荐规则,这篇文章将帮助你了解智能推荐。 +如果你想了解 Crane 如何做智能推荐的,或者你想要尝试实现一个自定义的 Recommender,或者修改一个已有的 Recommender 的推荐规则,这篇文章将帮助你了解智能推荐。 ## 用例