Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ADD: KubeEdge Image PrePull Feature Guide Document #552

Open
wants to merge 56 commits into
base: master
Choose a base branch
from

Conversation

hyp4293
Copy link

@hyp4293 hyp4293 commented May 25, 2024

  • Please check if the PR fulfills these requirements
  • The commit message follows our guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • [-] Docs have been added / updated (for bug fixes / features)
  • What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
    docs update

  • What is the current behavior? (You can also link to an open issue here)
    KubeEdge version 1.16 introduces a new feature of image pre-pill, allowing users to pull images on edge nodes in advance through ImagePrePullJob's Kubernetes API. This document is a guide for this feature.

  • What is the new behavior (if this is a feature change)?

  • Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

  • Other information:

@kubeedge-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please assign kevin-wangzefeng after the PR has been reviewed.
You can assign the PR to them by writing /assign @kevin-wangzefeng in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubeedge-bot kubeedge-bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label May 25, 2024
@@ -0,0 +1,157 @@
# KubeEdge Image PrePull Feature Guide Document
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Put this document under https://github.com/kubeedge/website/tree/master/docs/advanced and add header for it.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will make the required modifications and resubmit as soon as possible.


KubeEdge version 1.16 introduces a new feature called Image Pre-Pull, which allows users to load images ahead of time on edge nodes through the Kubernetes API of ImagePrePullJob. This feature supports pre-pull multiple images in batches across multiple edge nodes or node groups, helping to reduce the failure rates and inefficiencies associated with loading images during application deployment or updates, especially in large-scale scenarios.

API example for pre-pull mirror image:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
API example for pre-pull mirror image
API example for ImagePrePullJob

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will revise it.

metadata:
name: imageprepull-example
labels:
description:ImagePrePullLabel
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description:ImagePrePullLabel
description: ImagePrePullLabel

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will revise it.

Note: The following verification will use the edge node edge.kubeedge. If you refer to this article for related verification, the configuration of the edge node name in subsequent steps needs to be changed according to your actual situation.
```

**2)Ensure that the K8s apiserver has the following configuration enabled**
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

taskManager belongs to CloudCore config but not K8s apiserver config.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will change " K8s apiserver" to " CloudCore"


```
taskManager:
enable: true // 由false修改为true
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use English

Using Kubectl create secret docker-registry to generate a secret for a private image repository, modify it according to your actual situation.

```
[root@cloud ~]# kubectl create secret docker-registry my-secret \
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ref to
image

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can't find these word in branch master,so we will change the same word to here.

```


## 4. Check if the edge node image has been pre-pull successfully
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add how to get status of imageprepulljob

registry.cn-hangzhou.aliyuncs.com/jilimoxing/test:nginx application/vnd.docker.distribution.manifest.v2+json sha256:73e957703f1266530db0aeac1fd6a3f87c1e59943f4c13eb340bb8521c6041d7 67.3 MiB linux/amd64
```

## 5. Other
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove this step

cloud.kubeedge Ready control-plane,master 3d v1.27.3
edge.kubeedge Ready agent,edge 2d v1.27.7-kubeedge-v1.16.0

Note: The following verification will use the edge node edge.kubeedge. If you refer to this article for related verification, the configuration of the edge node name in subsequent steps needs to be changed according to your actual situation.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a guide for users how to use this feature, but not a verification.


```

## 2. Prepare the image and Secret for the private image repository
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prepare the Secret for the privare image.

@hyp4293 hyp4293 changed the title KubeEdge Image PrePull Feature Guide Document ADD: KubeEdge Image PrePull Feature Guide Document Jun 12, 2024
@kubeedge-bot kubeedge-bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 16, 2024
@hyp4293 hyp4293 force-pushed the IamgePrePullDoc branch 2 times, most recently from 5bee32c to 9a34137 Compare June 16, 2024 12:41
@kubeedge-bot kubeedge-bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 17, 2024
Copy link
Collaborator

@Shelley-BaoYue Shelley-BaoYue left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Friendly reminder that you should solve the DCO. These commits should be squashed, and don't use Chinese in commit name.

@@ -0,0 +1,156 @@
# KubeEdge 镜像预加载功能指导文档
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need put imageprepull as a blog.

@@ -0,0 +1,143 @@
# KubeEdge Image PrePull Feature Guide Document
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Rename the document name, such as image-prepull.md.
  2. file name should not use capital letter
  3. add a head for docs, ref to other document md.



## 2. Prepare the Secret for the privare image
Here is a private image repository prepared for demonstration purposes using Alibaba Cloud's registry URL: registry.cn-hangzhou.aliyuncs.com. The demo space used is jilimoxing, and modifications may be necessary based on actual circumstances during the actual operation.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mark ##2 as optional. The purpose of this guide is to solve user's needs, which is that the user has a private image, and needs to learn how to prepare secret in imagePrepull crds, rather than teaching the user how to push a private images.

@kubeedge-bot kubeedge-bot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Jul 6, 2024
@kubeedge-bot kubeedge-bot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Jul 6, 2024
@kubeedge-bot kubeedge-bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 6, 2024
hyp4293 and others added 28 commits July 10, 2024 23:00
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: wbc6080 <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: wbc6080 <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: Shubham Singh <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: GitHub <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: GitHub <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: GitHub <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: GitHub <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: CadenTango <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: wbc6080 <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: GitHub <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: Shelley-BaoYue <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: Archit Sharma <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: GitHub <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: GitHub <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: Archit Sharma <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: Archit Sharma <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: Shelley-BaoYue <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: Tomoya Fujita <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: Tomoya Fujita <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
Signed-off-by: Tomoya Fujita <[email protected]>
Signed-off-by: hyp4293 <[email protected]>
@kubeedge-bot kubeedge-bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 30, 2024
@kubeedge-bot
Copy link
Collaborator

@hyp4293: PR needs rebase.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants