diff options
| author | Shelley-BaoYue <baoyue2@huawei.com> | 2024-01-03 10:43:50 +0800 |
|---|---|---|
| committer | Shelley-BaoYue <baoyue2@huawei.com> | 2024-01-03 10:49:45 +0800 |
| commit | bb82335741d90047fafe23a3aecb9e09729ac035 (patch) | |
| tree | 1e035de9404c6445a561b916894679beaeba5f16 /build | |
| parent | Merge pull request #5326 from wbc6080/upgrade-mapper (diff) | |
| download | kubeedge-bb82335741d90047fafe23a3aecb9e09729ac035.tar.gz | |
add image prepull api
Signed-off-by: Shelley-BaoYue <baoyue2@huawei.com>
Diffstat (limited to 'build')
| -rw-r--r-- | build/admission/clusterrole.yaml | 2 | ||||
| -rw-r--r-- | build/cloud/03-clusterrole.yaml | 2 | ||||
| -rw-r--r-- | build/crd-samples/operations/imageprepulljob.yaml | 14 | ||||
| -rw-r--r-- | build/crd-samples/operations/nodeupgradejob.yaml (renamed from build/crd-samples/nodeupgradejob.yaml) | 0 | ||||
| -rw-r--r-- | build/crds/operations/operations_v1alpha1_imageprepulljob.yaml | 204 |
5 files changed, 220 insertions, 2 deletions
diff --git a/build/admission/clusterrole.yaml b/build/admission/clusterrole.yaml index 0f3519949..92d13bf9e 100644 --- a/build/admission/clusterrole.yaml +++ b/build/admission/clusterrole.yaml @@ -26,5 +26,5 @@ rules: resources: ["rules", "ruleendpoints"] verbs: ["get", "list"] - apiGroups: ["operations.kubeedge.io"] - resources: ["nodeupgradejobs"] + resources: ["nodeupgradejobs", "imageprepulljobs"] verbs: ["get", "list"] diff --git a/build/cloud/03-clusterrole.yaml b/build/cloud/03-clusterrole.yaml index 2bb3ac7df..19978bcdb 100644 --- a/build/cloud/03-clusterrole.yaml +++ b/build/cloud/03-clusterrole.yaml @@ -37,5 +37,5 @@ rules: resources: ["*"] verbs: ["get", "list", "watch"] - apiGroups: ["operations.kubeedge.io"] - resources: ["nodeupgradejobs", "nodeupgradejobs/status"] + resources: ["nodeupgradejobs", "nodeupgradejobs/status", "imageprepulljobs", "imageprepulljobs/status"] verbs: ["get", "list", "watch", "update", "patch"] diff --git a/build/crd-samples/operations/imageprepulljob.yaml b/build/crd-samples/operations/imageprepulljob.yaml new file mode 100644 index 000000000..cebfbe27f --- /dev/null +++ b/build/crd-samples/operations/imageprepulljob.yaml @@ -0,0 +1,14 @@ +apiVersion: operations.kubeedge.io/v1alpha1 +kind: ImagePrePullJob +metadata: + name: imageprepull-example + labels: + description: ImagePrePullLabel +spec: + imagePrePullTemplate: + images: + - busybox:latest + nodes: + - edgenode1 # Need to replaced with your own node name + timeoutSecondsOnEachNode: 300 + retryTimesOnEachNode: 1
\ No newline at end of file diff --git a/build/crd-samples/nodeupgradejob.yaml b/build/crd-samples/operations/nodeupgradejob.yaml index 5b97287d7..5b97287d7 100644 --- a/build/crd-samples/nodeupgradejob.yaml +++ b/build/crd-samples/operations/nodeupgradejob.yaml diff --git a/build/crds/operations/operations_v1alpha1_imageprepulljob.yaml b/build/crds/operations/operations_v1alpha1_imageprepulljob.yaml new file mode 100644 index 000000000..cdc4ac603 --- /dev/null +++ b/build/crds/operations/operations_v1alpha1_imageprepulljob.yaml @@ -0,0 +1,204 @@ + +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.6.2 + creationTimestamp: null + name: imageprepulljobs.operations.kubeedge.io +spec: + group: operations.kubeedge.io + names: + kind: ImagePrePullJob + listKind: ImagePrePullJobList + plural: imageprepulljobs + singular: imageprepulljob + scope: Cluster + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: ImagePrePullJob is used to prepull images on edge node. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec represents the specification of the desired behavior + of ImagePrePullJob. + properties: + imagePrePullTemplate: + description: ImagePrepullTemplate represents original templates of + imagePrePull + properties: + checkItems: + description: CheckItems specifies the items need to be checked + before the task is executed. The default CheckItems value is + disk. + items: + type: string + type: array + imageSecrets: + description: ImageSecret specifies the secret for image pull if + private registry used. Use {namespace}/{secretName} in format. + type: string + images: + description: Images is the image list to be prepull + items: + type: string + type: array + labelSelector: + description: LabelSelector is a filter to select member clusters + by labels. It must match a node's labels for the NodeUpgradeJob + to be operated on that node. Please note that sets of NodeNames + and LabelSelector are ORed. Users must set one and can only + set one. + properties: + matchExpressions: + description: matchExpressions is a list of label selector + requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector + that contains values, a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key that the selector + applies to. + type: string + operator: + description: operator represents a key's relationship + to a set of values. Valid operators are In, NotIn, + Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If + the operator is In or NotIn, the values array must + be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced + during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A + single {key,value} in the matchLabels map is equivalent + to an element of matchExpressions, whose key field is "key", + the operator is "In", and the values array contains only + "value". The requirements are ANDed. + type: object + type: object + nodeNames: + description: NodeNames is a request to select some specific nodes. + If it is non-empty, the upgrade job simply select these edge + nodes to do upgrade operation. Please note that sets of NodeNames + and LabelSelector are ORed. Users must set one and can only + set one. + items: + type: string + type: array + retryTimesOnEachNode: + description: RetryTimesOnEachNode specifies the retry times if + image pull failed on each edgenode. Default to 0 + format: int32 + type: integer + timeoutSecondsOnEachNode: + description: TimeoutSecondsOnEachNode limits the duration of the + image prepull job on each edgenode. Default to 360. If set to + 0, we'll use the default value 300. + format: int32 + type: integer + type: object + type: object + status: + description: Status represents the status of ImagePrePullJob. + properties: + state: + description: 'State represents for the state phase of the ImagePrePullJob. + There are four possible state values: "", prechecking, prepulling, + successful, failed.' + enum: + - prepulling + - successful + - failed + type: string + status: + description: Status contains image prepull status for each edge node. + items: + description: ImagePrePullStatus stores image prepull status for + each edge node. + properties: + imageStatus: + description: ImageStatus represents the prepull status for each + image + items: + description: ImageStatus stores the prepull status for each + image. + properties: + image: + description: Image is the name of the image + type: string + reason: + description: Reason represents the fail reason if image + pull failed + type: string + state: + description: 'State represents for the state phase of + this image pull on the edge node There are two possible + state values: successful, failed.' + enum: + - prepulling + - successful + - failed + type: string + type: object + type: array + nodeName: + description: NodeName is the name of edge node. + type: string + reason: + description: Message represents the fail reason if images prepull + failed on the edge node + type: string + state: + description: 'State represents for the state phase of the ImagePrepullJob + on the edge node. There are five possible state values: "", + prepulling, successful, failed.' + enum: + - prepulling + - successful + - failed + type: string + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] |
