diff options
| author | KubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com> | 2023-10-09 10:11:54 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-09 10:11:54 +0800 |
| commit | 3a8f9a83b628da65feae543a6017a6dc184f4b5d (patch) | |
| tree | 107e8b7442014c5375a857736bc7e87549905dac /edge | |
| parent | Merge pull request #4904 from ZhengXinwei-F/version (diff) | |
| parent | update resourcetype pod (diff) | |
| download | kubeedge-3a8f9a83b628da65feae543a6017a6dc184f4b5d.tar.gz | |
Merge pull request #4825 from luomengY/modify_mqtt_static
Add the function of supporting static pod on edge nodes.
Diffstat (limited to 'edge')
| -rw-r--r-- | edge/pkg/edged/config/config.go | 1 | ||||
| -rw-r--r-- | edge/pkg/edged/edged.go | 9 | ||||
| -rw-r--r-- | edge/pkg/edged/kubeclientbridge/typed/core/v1/pod_bridge.go | 4 | ||||
| -rw-r--r-- | edge/pkg/metamanager/client/pod.go | 14 |
4 files changed, 27 insertions, 1 deletions
diff --git a/edge/pkg/edged/config/config.go b/edge/pkg/edged/config/config.go index 52228dbad..7d217dbae 100644 --- a/edge/pkg/edged/config/config.go +++ b/edge/pkg/edged/config/config.go @@ -33,6 +33,7 @@ func InitConfigure(e *v1alpha2.Edged) { } func ConvertEdgedKubeletConfigurationToConfigKubeletConfiguration(in *v1alpha2.TailoredKubeletConfiguration, out *kubeletconfig.KubeletConfiguration, s conversion.Scope) error { + out.StaticPodPath = in.StaticPodPath out.SyncFrequency = in.SyncFrequency out.Address = in.Address out.ReadOnlyPort = in.ReadOnlyPort diff --git a/edge/pkg/edged/edged.go b/edge/pkg/edged/edged.go index 3ca218682..66e477b72 100644 --- a/edge/pkg/edged/edged.go +++ b/edge/pkg/edged/edged.go @@ -170,6 +170,15 @@ func newEdged(enable bool, nodeName, namespace string) (*edged, error) { KubeletFlags: kubeletFlags, KubeletConfiguration: kubeletConfig, } + + if kubeletConfig.StaticPodPath != "" { + if err := os.MkdirAll(kubeletConfig.StaticPodPath, os.ModePerm); err != nil { + return nil, fmt.Errorf("create %s static pod path failed: %v", kubeletConfig.StaticPodPath, err) + } + } else { + klog.ErrorS(err, "static pod path is nil!") + } + nodestatus.KubeletVersion = fmt.Sprintf("%s-kubeedge-%s", constants.CurrentSupportK8sVersion, version.Get()) // use kubeletServer to construct the default KubeletDeps kubeletDeps, err := DefaultKubeletDeps(&kubeletServer, utilfeature.DefaultFeatureGate) diff --git a/edge/pkg/edged/kubeclientbridge/typed/core/v1/pod_bridge.go b/edge/pkg/edged/kubeclientbridge/typed/core/v1/pod_bridge.go index 62095753b..821902fd9 100644 --- a/edge/pkg/edged/kubeclientbridge/typed/core/v1/pod_bridge.go +++ b/edge/pkg/edged/kubeclientbridge/typed/core/v1/pod_bridge.go @@ -47,3 +47,7 @@ func (c *PodsBridge) Patch(ctx context.Context, name string, pt types.PatchType, func (c *PodsBridge) Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error { return c.MetaClient.Pods(c.ns).Delete(name, opts) } + +func (c *PodsBridge) Create(ctx context.Context, pod *corev1.Pod, opts metav1.CreateOptions) (result *corev1.Pod, err error) { + return c.MetaClient.Pods(c.ns).Create(pod) +} diff --git a/edge/pkg/metamanager/client/pod.go b/edge/pkg/metamanager/client/pod.go index d6c9218b8..ce0c851b9 100644 --- a/edge/pkg/metamanager/client/pod.go +++ b/edge/pkg/metamanager/client/pod.go @@ -52,7 +52,19 @@ func newPods(namespace string, s SendInterface) *pods { } func (c *pods) Create(cm *corev1.Pod) (*corev1.Pod, error) { - return nil, nil + resource := fmt.Sprintf("%s/%s/%s", c.namespace, model.ResourceTypePod, cm.Name) + podMsg := message.BuildMsg(modules.MetaGroup, "", modules.EdgedModuleName, resource, model.InsertOperation, *cm) + resp, err := c.send.SendSync(podMsg) + if err != nil { + return nil, fmt.Errorf("create pod failed, err: %v", err) + } + + content, err := resp.GetContentData() + if err != nil { + return nil, fmt.Errorf("parse message to pod failed, err: %v", err) + } + + return handlePodResp(resource, content) } func (c *pods) Update(cm *corev1.Pod) error { |
