From 5ad1657f32aa9fd8ced5e1687d434bd795c2105e Mon Sep 17 00:00:00 2001 From: cheyang Date: Tue, 28 May 2024 11:21:44 +0800 Subject: [PATCH] Add helm-chart-fluid-1.0.1-alpha.3, To #54583165 Signed-off-by: cheyang --- charts/fluid/Chart.yaml | 4 +- .../crds/data.fluid.io_alluxioruntimes.yaml | 4 - .../fluid/crds/data.fluid.io_databackups.yaml | 231 ++++++++++++++++++ .../fluid/crds/data.fluid.io_dataloads.yaml | 231 ++++++++++++++++++ .../crds/data.fluid.io_datamigrates.yaml | 231 ++++++++++++++++++ .../crds/data.fluid.io_dataprocesses.yaml | 231 ++++++++++++++++++ .../crds/data.fluid.io_goosefsruntimes.yaml | 4 - .../crds/data.fluid.io_jindoruntimes.yaml | 4 - .../crds/data.fluid.io_juicefsruntimes.yaml | 4 - .../crds/data.fluid.io_thinruntimes.yaml | 43 ++++ .../crds/data.fluid.io_vineyardruntimes.yaml | 26 ++ charts/fluid/templates/_helpers.tpl | 18 ++ .../controller/dataset_controller.yaml | 1 + charts/fluid/templates/role/dataset/rbac.yaml | 10 + charts/fluid/values.yaml | 29 +-- 15 files changed, 1039 insertions(+), 32 deletions(-) diff --git a/charts/fluid/Chart.yaml b/charts/fluid/Chart.yaml index a40dce5..be1474a 100644 --- a/charts/fluid/Chart.yaml +++ b/charts/fluid/Chart.yaml @@ -14,11 +14,11 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. -version: 1.0.1-alpha.2 +version: 1.0.1-alpha.3 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. -appVersion: 1.0.1-7abdf87 +appVersion: 1.0.1-a3c7b09 home: https://github.com/fluid-cloudnative/fluid keywords: - category:data diff --git a/charts/fluid/crds/data.fluid.io_alluxioruntimes.yaml b/charts/fluid/crds/data.fluid.io_alluxioruntimes.yaml index f306c37..f218f09 100644 --- a/charts/fluid/crds/data.fluid.io_alluxioruntimes.yaml +++ b/charts/fluid/crds/data.fluid.io_alluxioruntimes.yaml @@ -290,10 +290,6 @@ spec: description: Environment variables that will be used by Alluxio Fuse type: object - global: - description: If the fuse client should be deployed in global mode, - otherwise the affinity should be considered - type: boolean image: description: Image for Alluxio Fuse(e.g. alluxio/alluxio-fuse) type: string diff --git a/charts/fluid/crds/data.fluid.io_databackups.yaml b/charts/fluid/crds/data.fluid.io_databackups.yaml index f2e8804..43ad761 100644 --- a/charts/fluid/crds/data.fluid.io_databackups.yaml +++ b/charts/fluid/crds/data.fluid.io_databackups.yaml @@ -67,6 +67,40 @@ spec: runAfter: description: Specifies that the preceding operation in a workflow properties: + affinityStrategy: + description: AffinityStrategy specifies the pod affinity strategy + with the referent operation. + properties: + policy: + description: 'Policy one of: "", "Require", "Prefer"' + type: string + prefers: + items: + description: Prefer defines the label key and weight for + generating a PreferredSchedulingTerm. + properties: + name: + type: string + weight: + format: int32 + type: integer + required: + - name + - weight + type: object + type: array + requires: + items: + description: Require defines the label key for generating + a NodeSelectorTerm. + properties: + name: + type: string + required: + - name + type: object + type: array + type: object apiVersion: description: API version of the referent operation type: string @@ -174,6 +208,203 @@ spec: successfully completed format: date-time type: string + nodeAffinity: + description: NodeAffinity records the node affinity for operation + pods + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods to nodes + that satisfy the affinity expressions specified by this field, + but it may choose a node that violates one or more of the expressions. + The node that is most preferred is the one with the greatest + sum of weights, i.e. for each node that meets all of the scheduling + requirements (resource request, requiredDuringScheduling affinity + expressions, etc.), compute a sum by iterating through the elements + of this field and adding "weight" to the sum if the node matches + the corresponding matchExpressions; the node(s) with the highest + sum are the most preferred. + items: + description: An empty preferred scheduling term matches all + objects with implicit weight 0 (i.e. it's a no-op). A null + preferred scheduling term matches no objects (i.e. is also + a no-op). + properties: + preference: + description: A node selector term, associated with the corresponding + weight. + properties: + matchExpressions: + description: A list of node selector requirements by + node's labels. + items: + description: A node selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: The label key that the selector applies + to. + type: string + operator: + description: Represents a key's relationship to + a set of values. Valid operators are In, NotIn, + Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: 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. If the operator + is Gt or Lt, the values array must have a single + element, which will be interpreted as an integer. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements by + node's fields. + items: + description: A node selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: The label key that the selector applies + to. + type: string + operator: + description: Represents a key's relationship to + a set of values. Valid operators are In, NotIn, + Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: 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. If the operator + is Gt or Lt, the values array must have a single + element, which will be interpreted as an integer. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + weight: + description: Weight associated with matching the corresponding + nodeSelectorTerm, in the range 1-100. + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the affinity requirements specified by this field + are not met at scheduling time, the pod will not be scheduled + onto the node. If the affinity requirements specified by this + field cease to be met at some point during pod execution (e.g. + due to an update), the system may or may not try to eventually + evict the pod from its node. + properties: + nodeSelectorTerms: + description: Required. A list of node selector terms. The + terms are ORed. + items: + description: A null or empty node selector term matches + no objects. The requirements of them are ANDed. The TopologySelectorTerm + type implements a subset of the NodeSelectorTerm. + properties: + matchExpressions: + description: A list of node selector requirements by + node's labels. + items: + description: A node selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: The label key that the selector applies + to. + type: string + operator: + description: Represents a key's relationship to + a set of values. Valid operators are In, NotIn, + Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: 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. If the operator + is Gt or Lt, the values array must have a single + element, which will be interpreted as an integer. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements by + node's fields. + items: + description: A node selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: The label key that the selector applies + to. + type: string + operator: + description: Represents a key's relationship to + a set of values. Valid operators are In, NotIn, + Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: 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. If the operator + is Gt or Lt, the values array must have a single + element, which will be interpreted as an integer. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + type: array + required: + - nodeSelectorTerms + type: object + x-kubernetes-map-type: atomic + type: object phase: description: Phase describes current phase of operation type: string diff --git a/charts/fluid/crds/data.fluid.io_dataloads.yaml b/charts/fluid/crds/data.fluid.io_dataloads.yaml index 626fbc5..a3b80ec 100644 --- a/charts/fluid/crds/data.fluid.io_dataloads.yaml +++ b/charts/fluid/crds/data.fluid.io_dataloads.yaml @@ -979,6 +979,40 @@ spec: runAfter: description: Specifies that the preceding operation in a workflow properties: + affinityStrategy: + description: AffinityStrategy specifies the pod affinity strategy + with the referent operation. + properties: + policy: + description: 'Policy one of: "", "Require", "Prefer"' + type: string + prefers: + items: + description: Prefer defines the label key and weight for + generating a PreferredSchedulingTerm. + properties: + name: + type: string + weight: + format: int32 + type: integer + required: + - name + - weight + type: object + type: array + requires: + items: + description: Require defines the label key for generating + a NodeSelectorTerm. + properties: + name: + type: string + required: + - name + type: object + type: array + type: object apiVersion: description: API version of the referent operation type: string @@ -1127,6 +1161,203 @@ spec: successfully completed format: date-time type: string + nodeAffinity: + description: NodeAffinity records the node affinity for operation + pods + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods to nodes + that satisfy the affinity expressions specified by this field, + but it may choose a node that violates one or more of the expressions. + The node that is most preferred is the one with the greatest + sum of weights, i.e. for each node that meets all of the scheduling + requirements (resource request, requiredDuringScheduling affinity + expressions, etc.), compute a sum by iterating through the elements + of this field and adding "weight" to the sum if the node matches + the corresponding matchExpressions; the node(s) with the highest + sum are the most preferred. + items: + description: An empty preferred scheduling term matches all + objects with implicit weight 0 (i.e. it's a no-op). A null + preferred scheduling term matches no objects (i.e. is also + a no-op). + properties: + preference: + description: A node selector term, associated with the corresponding + weight. + properties: + matchExpressions: + description: A list of node selector requirements by + node's labels. + items: + description: A node selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: The label key that the selector applies + to. + type: string + operator: + description: Represents a key's relationship to + a set of values. Valid operators are In, NotIn, + Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: 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. If the operator + is Gt or Lt, the values array must have a single + element, which will be interpreted as an integer. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements by + node's fields. + items: + description: A node selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: The label key that the selector applies + to. + type: string + operator: + description: Represents a key's relationship to + a set of values. Valid operators are In, NotIn, + Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: 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. If the operator + is Gt or Lt, the values array must have a single + element, which will be interpreted as an integer. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + weight: + description: Weight associated with matching the corresponding + nodeSelectorTerm, in the range 1-100. + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the affinity requirements specified by this field + are not met at scheduling time, the pod will not be scheduled + onto the node. If the affinity requirements specified by this + field cease to be met at some point during pod execution (e.g. + due to an update), the system may or may not try to eventually + evict the pod from its node. + properties: + nodeSelectorTerms: + description: Required. A list of node selector terms. The + terms are ORed. + items: + description: A null or empty node selector term matches + no objects. The requirements of them are ANDed. The TopologySelectorTerm + type implements a subset of the NodeSelectorTerm. + properties: + matchExpressions: + description: A list of node selector requirements by + node's labels. + items: + description: A node selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: The label key that the selector applies + to. + type: string + operator: + description: Represents a key's relationship to + a set of values. Valid operators are In, NotIn, + Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: 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. If the operator + is Gt or Lt, the values array must have a single + element, which will be interpreted as an integer. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements by + node's fields. + items: + description: A node selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: The label key that the selector applies + to. + type: string + operator: + description: Represents a key's relationship to + a set of values. Valid operators are In, NotIn, + Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: 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. If the operator + is Gt or Lt, the values array must have a single + element, which will be interpreted as an integer. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + type: array + required: + - nodeSelectorTerms + type: object + x-kubernetes-map-type: atomic + type: object phase: description: Phase describes current phase of operation type: string diff --git a/charts/fluid/crds/data.fluid.io_datamigrates.yaml b/charts/fluid/crds/data.fluid.io_datamigrates.yaml index 6f3ed5b..73b83fc 100644 --- a/charts/fluid/crds/data.fluid.io_datamigrates.yaml +++ b/charts/fluid/crds/data.fluid.io_datamigrates.yaml @@ -1045,6 +1045,40 @@ spec: runAfter: description: Specifies that the preceding operation in a workflow properties: + affinityStrategy: + description: AffinityStrategy specifies the pod affinity strategy + with the referent operation. + properties: + policy: + description: 'Policy one of: "", "Require", "Prefer"' + type: string + prefers: + items: + description: Prefer defines the label key and weight for + generating a PreferredSchedulingTerm. + properties: + name: + type: string + weight: + format: int32 + type: integer + required: + - name + - weight + type: object + type: array + requires: + items: + description: Require defines the label key for generating + a NodeSelectorTerm. + properties: + name: + type: string + required: + - name + type: object + type: array + type: object apiVersion: description: API version of the referent operation type: string @@ -1242,6 +1276,203 @@ spec: successfully completed format: date-time type: string + nodeAffinity: + description: NodeAffinity records the node affinity for operation + pods + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods to nodes + that satisfy the affinity expressions specified by this field, + but it may choose a node that violates one or more of the expressions. + The node that is most preferred is the one with the greatest + sum of weights, i.e. for each node that meets all of the scheduling + requirements (resource request, requiredDuringScheduling affinity + expressions, etc.), compute a sum by iterating through the elements + of this field and adding "weight" to the sum if the node matches + the corresponding matchExpressions; the node(s) with the highest + sum are the most preferred. + items: + description: An empty preferred scheduling term matches all + objects with implicit weight 0 (i.e. it's a no-op). A null + preferred scheduling term matches no objects (i.e. is also + a no-op). + properties: + preference: + description: A node selector term, associated with the corresponding + weight. + properties: + matchExpressions: + description: A list of node selector requirements by + node's labels. + items: + description: A node selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: The label key that the selector applies + to. + type: string + operator: + description: Represents a key's relationship to + a set of values. Valid operators are In, NotIn, + Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: 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. If the operator + is Gt or Lt, the values array must have a single + element, which will be interpreted as an integer. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements by + node's fields. + items: + description: A node selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: The label key that the selector applies + to. + type: string + operator: + description: Represents a key's relationship to + a set of values. Valid operators are In, NotIn, + Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: 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. If the operator + is Gt or Lt, the values array must have a single + element, which will be interpreted as an integer. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + weight: + description: Weight associated with matching the corresponding + nodeSelectorTerm, in the range 1-100. + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the affinity requirements specified by this field + are not met at scheduling time, the pod will not be scheduled + onto the node. If the affinity requirements specified by this + field cease to be met at some point during pod execution (e.g. + due to an update), the system may or may not try to eventually + evict the pod from its node. + properties: + nodeSelectorTerms: + description: Required. A list of node selector terms. The + terms are ORed. + items: + description: A null or empty node selector term matches + no objects. The requirements of them are ANDed. The TopologySelectorTerm + type implements a subset of the NodeSelectorTerm. + properties: + matchExpressions: + description: A list of node selector requirements by + node's labels. + items: + description: A node selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: The label key that the selector applies + to. + type: string + operator: + description: Represents a key's relationship to + a set of values. Valid operators are In, NotIn, + Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: 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. If the operator + is Gt or Lt, the values array must have a single + element, which will be interpreted as an integer. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements by + node's fields. + items: + description: A node selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: The label key that the selector applies + to. + type: string + operator: + description: Represents a key's relationship to + a set of values. Valid operators are In, NotIn, + Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: 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. If the operator + is Gt or Lt, the values array must have a single + element, which will be interpreted as an integer. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + type: array + required: + - nodeSelectorTerms + type: object + x-kubernetes-map-type: atomic + type: object phase: description: Phase describes current phase of operation type: string diff --git a/charts/fluid/crds/data.fluid.io_dataprocesses.yaml b/charts/fluid/crds/data.fluid.io_dataprocesses.yaml index a60ba0e..e7494d6 100644 --- a/charts/fluid/crds/data.fluid.io_dataprocesses.yaml +++ b/charts/fluid/crds/data.fluid.io_dataprocesses.yaml @@ -9821,6 +9821,40 @@ spec: runAfter: description: Specifies that the preceding operation in a workflow properties: + affinityStrategy: + description: AffinityStrategy specifies the pod affinity strategy + with the referent operation. + properties: + policy: + description: 'Policy one of: "", "Require", "Prefer"' + type: string + prefers: + items: + description: Prefer defines the label key and weight for + generating a PreferredSchedulingTerm. + properties: + name: + type: string + weight: + format: int32 + type: integer + required: + - name + - weight + type: object + type: array + requires: + items: + description: Require defines the label key for generating + a NodeSelectorTerm. + properties: + name: + type: string + required: + - name + type: object + type: array + type: object apiVersion: description: API version of the referent operation type: string @@ -9908,6 +9942,203 @@ spec: successfully completed format: date-time type: string + nodeAffinity: + description: NodeAffinity records the node affinity for operation + pods + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods to nodes + that satisfy the affinity expressions specified by this field, + but it may choose a node that violates one or more of the expressions. + The node that is most preferred is the one with the greatest + sum of weights, i.e. for each node that meets all of the scheduling + requirements (resource request, requiredDuringScheduling affinity + expressions, etc.), compute a sum by iterating through the elements + of this field and adding "weight" to the sum if the node matches + the corresponding matchExpressions; the node(s) with the highest + sum are the most preferred. + items: + description: An empty preferred scheduling term matches all + objects with implicit weight 0 (i.e. it's a no-op). A null + preferred scheduling term matches no objects (i.e. is also + a no-op). + properties: + preference: + description: A node selector term, associated with the corresponding + weight. + properties: + matchExpressions: + description: A list of node selector requirements by + node's labels. + items: + description: A node selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: The label key that the selector applies + to. + type: string + operator: + description: Represents a key's relationship to + a set of values. Valid operators are In, NotIn, + Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: 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. If the operator + is Gt or Lt, the values array must have a single + element, which will be interpreted as an integer. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements by + node's fields. + items: + description: A node selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: The label key that the selector applies + to. + type: string + operator: + description: Represents a key's relationship to + a set of values. Valid operators are In, NotIn, + Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: 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. If the operator + is Gt or Lt, the values array must have a single + element, which will be interpreted as an integer. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + weight: + description: Weight associated with matching the corresponding + nodeSelectorTerm, in the range 1-100. + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the affinity requirements specified by this field + are not met at scheduling time, the pod will not be scheduled + onto the node. If the affinity requirements specified by this + field cease to be met at some point during pod execution (e.g. + due to an update), the system may or may not try to eventually + evict the pod from its node. + properties: + nodeSelectorTerms: + description: Required. A list of node selector terms. The + terms are ORed. + items: + description: A null or empty node selector term matches + no objects. The requirements of them are ANDed. The TopologySelectorTerm + type implements a subset of the NodeSelectorTerm. + properties: + matchExpressions: + description: A list of node selector requirements by + node's labels. + items: + description: A node selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: The label key that the selector applies + to. + type: string + operator: + description: Represents a key's relationship to + a set of values. Valid operators are In, NotIn, + Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: 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. If the operator + is Gt or Lt, the values array must have a single + element, which will be interpreted as an integer. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements by + node's fields. + items: + description: A node selector requirement is a selector + that contains values, a key, and an operator that + relates the key and values. + properties: + key: + description: The label key that the selector applies + to. + type: string + operator: + description: Represents a key's relationship to + a set of values. Valid operators are In, NotIn, + Exists, DoesNotExist. Gt, and Lt. + type: string + values: + description: 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. If the operator + is Gt or Lt, the values array must have a single + element, which will be interpreted as an integer. + This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + type: array + required: + - nodeSelectorTerms + type: object + x-kubernetes-map-type: atomic + type: object phase: description: Phase describes current phase of operation type: string diff --git a/charts/fluid/crds/data.fluid.io_goosefsruntimes.yaml b/charts/fluid/crds/data.fluid.io_goosefsruntimes.yaml index b9f08ee..f186d47 100644 --- a/charts/fluid/crds/data.fluid.io_goosefsruntimes.yaml +++ b/charts/fluid/crds/data.fluid.io_goosefsruntimes.yaml @@ -255,10 +255,6 @@ spec: description: Environment variables that will be used by GooseFS Fuse type: object - global: - description: If the fuse client should be deployed in global mode, - otherwise the affinity should be considered - type: boolean image: description: Image for GooseFS Fuse(e.g. goosefs/goosefs-fuse) type: string diff --git a/charts/fluid/crds/data.fluid.io_jindoruntimes.yaml b/charts/fluid/crds/data.fluid.io_jindoruntimes.yaml index 3d4455d..87acbdd 100644 --- a/charts/fluid/crds/data.fluid.io_jindoruntimes.yaml +++ b/charts/fluid/crds/data.fluid.io_jindoruntimes.yaml @@ -126,10 +126,6 @@ spec: description: Environment variables that will be used by Jindo Fuse type: object - global: - description: If the fuse client should be deployed in global mode, - otherwise the affinity should be considered - type: boolean image: description: Image for Jindo Fuse(e.g. jindo/jindo-fuse) type: string diff --git a/charts/fluid/crds/data.fluid.io_juicefsruntimes.yaml b/charts/fluid/crds/data.fluid.io_juicefsruntimes.yaml index 83ba105..3f5a5d5 100644 --- a/charts/fluid/crds/data.fluid.io_juicefsruntimes.yaml +++ b/charts/fluid/crds/data.fluid.io_juicefsruntimes.yaml @@ -225,10 +225,6 @@ spec: - name type: object type: array - global: - description: If the fuse client should be deployed in global mode, - otherwise the affinity should be considered - type: boolean image: description: Image for JuiceFS fuse type: string diff --git a/charts/fluid/crds/data.fluid.io_thinruntimes.yaml b/charts/fluid/crds/data.fluid.io_thinruntimes.yaml index 9498870..834f375 100644 --- a/charts/fluid/crds/data.fluid.io_thinruntimes.yaml +++ b/charts/fluid/crds/data.fluid.io_thinruntimes.yaml @@ -630,6 +630,49 @@ spec: type: object type: array type: object + management: + description: RuntimeManagement defines policies when managing the + runtime + properties: + cleanCachePolicy: + description: CleanCachePolicy defines the policy of cleaning cache + when shutting down the runtime + properties: + gracePeriodSeconds: + default: 60 + description: Optional duration in seconds the cache needs + to clean gracefully. May be decreased in delete runtime + request. Value must be non-negative integer. The value zero + indicates clean immediately via the timeout command (no + opportunity to shut down). If this value is nil, the default + grace period will be used instead. The grace period is the + duration in seconds after the processes running in the pod + are sent a termination signal and the time when the processes + are forcibly halted with timeout command. Set this value + longer than the expected cleanup time for your process. + format: int32 + type: integer + maxRetryAttempts: + default: 3 + description: Optional max retry Attempts when cleanCache function + returns an error after execution, runtime attempts to run + it three more times by default. With Maximum Retry Attempts, + you can customize the maximum number of retries. This gives + you the option to continue processing retries. + format: int32 + type: integer + type: object + metadataSyncPolicy: + description: MetadataSyncPolicy defines the policy of syncing + metadata when setting up the runtime. If not set, + properties: + autoSync: + default: true + description: AutoSync enables automatic metadata sync when + setting up a runtime. If not set, it defaults to true. + type: boolean + type: object + type: object profileName: description: The specific runtime profile name, empty value is used for handling datasets which mount another dataset diff --git a/charts/fluid/crds/data.fluid.io_vineyardruntimes.yaml b/charts/fluid/crds/data.fluid.io_vineyardruntimes.yaml index 07dc305..c724b36 100644 --- a/charts/fluid/crds/data.fluid.io_vineyardruntimes.yaml +++ b/charts/fluid/crds/data.fluid.io_vineyardruntimes.yaml @@ -122,6 +122,32 @@ spec: - "" - ContainerNetwork type: string + options: + additionalProperties: + type: string + description: 'Options for configuring vineyardd parameters. Supported + options are as follows. reserve_memory: (Bool) Whether to reserving + enough physical memory pages for vineyardd. Default is true. + allocator: (String) The allocator used by vineyardd, could be + "dlmalloc" or "mimalloc". Default is "dlmalloc". compression: + (Bool) Compress before migration or spilling. Default is true. + coredump: (Bool) Enable coredump core dump when been aborted. + Default is false. meta_timeout: (Int) Timeout period before + waiting the metadata service to be ready, in seconds Default + is 60. etcd_endpoint: (String) The endpoint of etcd. Default + is same as the etcd endpoint of vineyard worker. etcd_prefix: + (String) Metadata path prefix in etcd. Default is "/vineyard". + size: (String) shared memory size for vineyardd. 1024M, 1024000, + 1G, or 1Gi. Default is "0", which means no cache. When the size + is not set to "0", it should be greater than the 2048 bytes(2K). + spill_path: (String) Path to spill temporary files, if not set, + spilling will be disabled. Default is "". spill_lower_rate: + (Double) The lower rate of memory usage to trigger spilling. + Default is 0.3. spill_upper_rate: (Double) The upper rate of + memory usage to stop spilling. Default is 0.8. Default is as + follows. fuse: options: size: "0" etcd_endpoint: "http://{{Name}}-master-0.{{Name}}-master.{{Namespace}}:{{EtcdClientPort}}" + etcd_prefix: "/vineyard"' + type: object podMetadata: description: PodMetadata defines labels and annotations that will be propagated to Vineyard's pods. diff --git a/charts/fluid/templates/_helpers.tpl b/charts/fluid/templates/_helpers.tpl index fe5531c..7ac641e 100644 --- a/charts/fluid/templates/_helpers.tpl +++ b/charts/fluid/templates/_helpers.tpl @@ -93,3 +93,21 @@ Create the name of the service account to use - delete {{- end -}} {{- end -}} + + +{{/* +Check if feature gate DataflowAffinity is enabled in the featureGates. +*/}} +{{- define "fluid.dataflowAffinity.enabled" -}} +{{- $featureGates := splitList "," .Values.dataset.featureGates }} +{{- $found := false -}} +{{- range $idx, $featureGate := $featureGates }} + {{- $featureGateKV := splitList "=" $featureGate }} + {{- $key := trim (index $featureGateKV 0) }} + {{- $value := trim (index $featureGateKV 1) }} + {{- if and (eq $key "DataflowAffinity") (eq $value "true") -}} + {{- $found = true -}} + {{- end -}} +{{- end -}} +{{- $found -}} +{{- end -}} diff --git a/charts/fluid/templates/controller/dataset_controller.yaml b/charts/fluid/templates/controller/dataset_controller.yaml index 4071fb2..ceacd8b 100644 --- a/charts/fluid/templates/controller/dataset_controller.yaml +++ b/charts/fluid/templates/controller/dataset_controller.yaml @@ -50,6 +50,7 @@ spec: - --pprof-addr=:6060 - --enable-leader-election - --leader-election-namespace={{ include "fluid.namespace" . }} + - --feature-gates={{ .Values.dataset.featureGates }} env: {{- if .Values.workdir }} - name: FLUID_WORKDIR diff --git a/charts/fluid/templates/role/dataset/rbac.yaml b/charts/fluid/templates/role/dataset/rbac.yaml index 3d12ec5..df1f70f 100644 --- a/charts/fluid/templates/role/dataset/rbac.yaml +++ b/charts/fluid/templates/role/dataset/rbac.yaml @@ -13,6 +13,16 @@ rules: - get - list - watch + {{- if eq (include "fluid.dataflowAffinity.enabled" . ) "true" }} + - apiGroups: + - "" + resources: + - nodes + verbs: + - get + - list + - watch + {{- end }} - apiGroups: - "" resources: diff --git a/charts/fluid/values.yaml b/charts/fluid/values.yaml index 24a8aaa..ca0ea36 100644 --- a/charts/fluid/values.yaml +++ b/charts/fluid/values.yaml @@ -12,7 +12,7 @@ crdUpgrade: enabled: true # This sets the time-to-live (TTL) for crd-upgrade jobs. Default is 259200 seconds (3 days). ttlSecondsAfterFinished: 259200 - image: fluidcloudnative/fluid-crd-upgrader:v1.0.1-7abdf87 + image: fluidcloudnative/fluid-crd-upgrader:v1.0.1-a3c7b09 ## if unspecified, will use built-in variable `.Release.Namespace`. namespace: fluid-system @@ -25,7 +25,8 @@ dataset: tolerations: - operator: Exists controller: - image: fluidcloudnative/dataset-controller:v1.0.1-7abdf87 + image: fluidcloudnative/dataset-controller:v1.0.1-a3c7b09 + featureGates: "DataflowAffinity=false" csi: tolerations: @@ -36,7 +37,7 @@ csi: registrar: image: fluidcloudnative/csi-node-driver-registrar:v2.3.0 plugins: - image: fluidcloudnative/fluid-csi:v1.0.1-7abdf87 + image: fluidcloudnative/fluid-csi:v1.0.1-a3c7b09 kubelet: kubeConfigFile: /etc/kubernetes/kubelet.conf certDir: /var/lib/kubelet/pki @@ -63,7 +64,7 @@ runtime: init: image: fluidcloudnative/init-users:v0.9.0 controller: - image: fluidcloudnative/alluxioruntime-controller:v1.0.1-7abdf87 + image: fluidcloudnative/alluxioruntime-controller:v1.0.1-a3c7b09 runtime: image: alluxio/alluxio-dev:2.9.0 fuse: @@ -80,11 +81,11 @@ runtime: engine: jindocache queryUfsTotal: true smartdata: - image: registry.cn-shanghai.aliyuncs.com/jindofs/smartdata:6.2.0 + image: registry.cn-shanghai.aliyuncs.com/jindofs/smartdata:6.4.0 fuse: - image: registry.cn-shanghai.aliyuncs.com/jindofs/jindo-fuse:6.2.0 + image: registry.cn-shanghai.aliyuncs.com/jindofs/jindo-fuse:6.4.0 controller: - image: fluidcloudnative/jindoruntime-controller:v1.0.1-7abdf87 + image: fluidcloudnative/jindoruntime-controller:v1.0.1-a3c7b09 init: portCheck: enabled: false @@ -100,7 +101,7 @@ runtime: init: image: fluidcloudnative/init-users:v0.9.0 controller: - image: fluidcloudnative/goosefsruntime-controller:v1.0.1-7abdf87 + image: fluidcloudnative/goosefsruntime-controller:v1.0.1-a3c7b09 runtime: image: ccr.ccs.tencentyun.com/qcloud/goosefs:v1.2.0 fuse: @@ -112,7 +113,7 @@ runtime: enabled: false runtimeWorkers: 3 controller: - image: fluidcloudnative/juicefsruntime-controller:v1.0.1-7abdf87 + image: fluidcloudnative/juicefsruntime-controller:v1.0.1-a3c7b09 fuse: ceimage: juicedata/juicefs-fuse:ce-v1.1.0-rc1 eeimage: juicedata/juicefs-fuse:ee-4.9.16 @@ -122,7 +123,7 @@ runtime: - operator: Exists enabled: false controller: - image: fluidcloudnative/thinruntime-controller:v1.0.1-7abdf87 + image: fluidcloudnative/thinruntime-controller:v1.0.1-a3c7b09 fuse: configStorage: configmap efc: @@ -131,7 +132,7 @@ runtime: - operator: Exists enabled: false controller: - image: fluidcloudnative/efcruntime-controller:v1.0.1-7abdf87 + image: fluidcloudnative/efcruntime-controller:v1.0.1-a3c7b09 imagePullPolicy: Always init: image: registry.cn-zhangjiakou.aliyuncs.com/nascache/init-alifuse:v1.2.2-19dcee9 @@ -148,7 +149,7 @@ runtime: - operator: Exists enabled: false controller: - image: fluidcloudnative/vineyardruntime-controller:v1.0.1-7abdf87 + image: fluidcloudnative/vineyardruntime-controller:v1.0.1-a3c7b09 imagePullPolicy: Always master: image: bitnami/etcd:3.5.10 @@ -159,7 +160,7 @@ runtime: webhook: enabled: true - image: fluidcloudnative/fluid-webhook:v1.0.1-7abdf87 + image: fluidcloudnative/fluid-webhook:v1.0.1-a3c7b09 replicas: 1 timeoutSeconds: 15 reinvocationPolicy: IfNeeded @@ -209,4 +210,4 @@ fluidapp: tolerations: - operator: Exists controller: - image: fluidcloudnative/application-controller:v1.0.1-7abdf87 + image: fluidcloudnative/application-controller:v1.0.1-a3c7b09