Merge pull request #497 from qianjun1993/bug-fix
Update ReplicaScheduling type
This commit is contained in:
commit
ea47422461
|
@ -214,261 +214,165 @@ spec:
|
||||||
that have replicas in spec (e.g. deployments, statefulsets)
|
that have replicas in spec (e.g. deployments, statefulsets)
|
||||||
to member clusters.
|
to member clusters.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
replicaDivisionPreference:
|
||||||
description: 'APIVersion defines the versioned schema of this
|
description: ReplicaDivisionPreference determines how the
|
||||||
representation of an object. Servers should convert recognized
|
replicas is divided when ReplicaSchedulingType is "Divided".
|
||||||
schemas to the latest internal value, and may reject unrecognized
|
Valid options are Aggregated and Weighted. "Aggregated"
|
||||||
values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
divides replicas into clusters as few as possible, while
|
||||||
|
respecting clusters' resource availabilities during the
|
||||||
|
division. "Weighted" divides replicas by weight according
|
||||||
|
to WeightPreference.
|
||||||
type: string
|
type: string
|
||||||
kind:
|
replicaSchedulingType:
|
||||||
description: 'Kind is a string value representing the REST
|
description: ReplicaSchedulingType determines how the replicas
|
||||||
resource this object represents. Servers may infer this
|
is scheduled when karmada propagating a resource. Valid
|
||||||
from the endpoint the client submits requests to. Cannot
|
options are Duplicated and Divided. "Duplicated" duplicates
|
||||||
be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
the same replicas to each candidate member cluster from
|
||||||
|
resource. "Divided" divides replicas into parts according
|
||||||
|
to number of valid candidate member clusters, and exact
|
||||||
|
replicas for each cluster are determined by ReplicaDivisionPreference.
|
||||||
type: string
|
type: string
|
||||||
metadata:
|
weightPreference:
|
||||||
type: object
|
description: WeightPreference describes weight for each cluster
|
||||||
spec:
|
or for each group of cluster If ReplicaDivisionPreference
|
||||||
description: Spec represents the desired behavior of ReplicaSchedulingPolicy.
|
is set to "Weighted", and WeightPreference is not set, scheduler
|
||||||
|
will weight all clusters the same.
|
||||||
properties:
|
properties:
|
||||||
preferences:
|
staticWeightList:
|
||||||
description: Preferences describes weight for each cluster
|
description: StaticWeightList defines the static cluster
|
||||||
or for each group of cluster.
|
weight.
|
||||||
properties:
|
|
||||||
staticWeightList:
|
|
||||||
description: StaticWeightList defines the static cluster
|
|
||||||
weight.
|
|
||||||
items:
|
|
||||||
description: StaticClusterWeight defines the static
|
|
||||||
cluster weight.
|
|
||||||
properties:
|
|
||||||
targetCluster:
|
|
||||||
description: TargetCluster describes the filter
|
|
||||||
to select clusters.
|
|
||||||
properties:
|
|
||||||
clusterNames:
|
|
||||||
description: ClusterNames is the list of
|
|
||||||
clusters to be selected.
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
exclude:
|
|
||||||
description: ExcludedClusters is the list
|
|
||||||
of clusters to be ignored.
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
fieldSelector:
|
|
||||||
description: FieldSelector is a filter to
|
|
||||||
select member clusters by fields. If non-nil
|
|
||||||
and non-empty, only the clusters match
|
|
||||||
this filter will be selected.
|
|
||||||
properties:
|
|
||||||
matchExpressions:
|
|
||||||
description: A list of field selector
|
|
||||||
requirements.
|
|
||||||
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
|
|
||||||
labelSelector:
|
|
||||||
description: LabelSelector is a filter to
|
|
||||||
select member clusters by labels. If non-nil
|
|
||||||
and non-empty, only the clusters match
|
|
||||||
this filter will be selected.
|
|
||||||
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
|
|
||||||
type: object
|
|
||||||
weight:
|
|
||||||
description: Weight expressing the preference
|
|
||||||
to the cluster(s) specified by 'TargetCluster'.
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
required:
|
|
||||||
- targetCluster
|
|
||||||
- weight
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
required:
|
|
||||||
- staticWeightList
|
|
||||||
type: object
|
|
||||||
resourceSelectors:
|
|
||||||
description: ResourceSelectors used to select resources.
|
|
||||||
items:
|
items:
|
||||||
description: ResourceSelector the resources will be
|
description: StaticClusterWeight defines the static
|
||||||
selected.
|
cluster weight.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
targetCluster:
|
||||||
description: APIVersion represents the API version
|
description: TargetCluster describes the filter
|
||||||
of the target resources.
|
to select clusters.
|
||||||
type: string
|
|
||||||
kind:
|
|
||||||
description: Kind represents the Kind of the target
|
|
||||||
resources.
|
|
||||||
type: string
|
|
||||||
labelSelector:
|
|
||||||
description: A label query over a set of resources.
|
|
||||||
If name is not empty, labelSelector will be ignored.
|
|
||||||
properties:
|
properties:
|
||||||
matchExpressions:
|
clusterNames:
|
||||||
description: matchExpressions is a list of label
|
description: ClusterNames is the list of clusters
|
||||||
selector requirements. The requirements are
|
to be selected.
|
||||||
ANDed.
|
|
||||||
items:
|
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
|
type: string
|
||||||
description: matchLabels is a map of {key,value}
|
type: array
|
||||||
pairs. A single {key,value} in the matchLabels
|
exclude:
|
||||||
map is equivalent to an element of matchExpressions,
|
description: ExcludedClusters is the list of
|
||||||
whose key field is "key", the operator is
|
clusters to be ignored.
|
||||||
"In", and the values array contains only "value".
|
items:
|
||||||
The requirements are ANDed.
|
type: string
|
||||||
|
type: array
|
||||||
|
fieldSelector:
|
||||||
|
description: FieldSelector is a filter to select
|
||||||
|
member clusters by fields. If non-nil and
|
||||||
|
non-empty, only the clusters match this filter
|
||||||
|
will be selected.
|
||||||
|
properties:
|
||||||
|
matchExpressions:
|
||||||
|
description: A list of field selector requirements.
|
||||||
|
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
|
||||||
|
labelSelector:
|
||||||
|
description: LabelSelector is a filter to select
|
||||||
|
member clusters by labels. If non-nil and
|
||||||
|
non-empty, only the clusters match this filter
|
||||||
|
will be selected.
|
||||||
|
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
|
type: object
|
||||||
type: object
|
type: object
|
||||||
name:
|
weight:
|
||||||
description: Name of the target resource. Default
|
description: Weight expressing the preference to
|
||||||
is empty, which means selecting all resources.
|
the cluster(s) specified by 'TargetCluster'.
|
||||||
type: string
|
format: int64
|
||||||
namespace:
|
type: integer
|
||||||
description: Namespace of the target resource. Default
|
|
||||||
is empty, which means inherit from the parent
|
|
||||||
object scope.
|
|
||||||
type: string
|
|
||||||
required:
|
required:
|
||||||
- apiVersion
|
- targetCluster
|
||||||
- kind
|
- weight
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
totalReplicas:
|
|
||||||
description: TotalReplicas represents the total number
|
|
||||||
of replicas across member clusters. The replicas(spec.replicas)
|
|
||||||
specified for deployment template will be discarded.
|
|
||||||
format: int32
|
|
||||||
type: integer
|
|
||||||
required:
|
required:
|
||||||
- preferences
|
- staticWeightList
|
||||||
- resourceSelectors
|
|
||||||
- totalReplicas
|
|
||||||
type: object
|
type: object
|
||||||
required:
|
|
||||||
- spec
|
|
||||||
type: object
|
type: object
|
||||||
spreadConstraints:
|
spreadConstraints:
|
||||||
description: SpreadConstraints represents a list of the scheduling
|
description: SpreadConstraints represents a list of the scheduling
|
||||||
|
|
|
@ -210,261 +210,165 @@ spec:
|
||||||
that have replicas in spec (e.g. deployments, statefulsets)
|
that have replicas in spec (e.g. deployments, statefulsets)
|
||||||
to member clusters.
|
to member clusters.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
replicaDivisionPreference:
|
||||||
description: 'APIVersion defines the versioned schema of this
|
description: ReplicaDivisionPreference determines how the
|
||||||
representation of an object. Servers should convert recognized
|
replicas is divided when ReplicaSchedulingType is "Divided".
|
||||||
schemas to the latest internal value, and may reject unrecognized
|
Valid options are Aggregated and Weighted. "Aggregated"
|
||||||
values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
|
divides replicas into clusters as few as possible, while
|
||||||
|
respecting clusters' resource availabilities during the
|
||||||
|
division. "Weighted" divides replicas by weight according
|
||||||
|
to WeightPreference.
|
||||||
type: string
|
type: string
|
||||||
kind:
|
replicaSchedulingType:
|
||||||
description: 'Kind is a string value representing the REST
|
description: ReplicaSchedulingType determines how the replicas
|
||||||
resource this object represents. Servers may infer this
|
is scheduled when karmada propagating a resource. Valid
|
||||||
from the endpoint the client submits requests to. Cannot
|
options are Duplicated and Divided. "Duplicated" duplicates
|
||||||
be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
the same replicas to each candidate member cluster from
|
||||||
|
resource. "Divided" divides replicas into parts according
|
||||||
|
to number of valid candidate member clusters, and exact
|
||||||
|
replicas for each cluster are determined by ReplicaDivisionPreference.
|
||||||
type: string
|
type: string
|
||||||
metadata:
|
weightPreference:
|
||||||
type: object
|
description: WeightPreference describes weight for each cluster
|
||||||
spec:
|
or for each group of cluster If ReplicaDivisionPreference
|
||||||
description: Spec represents the desired behavior of ReplicaSchedulingPolicy.
|
is set to "Weighted", and WeightPreference is not set, scheduler
|
||||||
|
will weight all clusters the same.
|
||||||
properties:
|
properties:
|
||||||
preferences:
|
staticWeightList:
|
||||||
description: Preferences describes weight for each cluster
|
description: StaticWeightList defines the static cluster
|
||||||
or for each group of cluster.
|
weight.
|
||||||
properties:
|
|
||||||
staticWeightList:
|
|
||||||
description: StaticWeightList defines the static cluster
|
|
||||||
weight.
|
|
||||||
items:
|
|
||||||
description: StaticClusterWeight defines the static
|
|
||||||
cluster weight.
|
|
||||||
properties:
|
|
||||||
targetCluster:
|
|
||||||
description: TargetCluster describes the filter
|
|
||||||
to select clusters.
|
|
||||||
properties:
|
|
||||||
clusterNames:
|
|
||||||
description: ClusterNames is the list of
|
|
||||||
clusters to be selected.
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
exclude:
|
|
||||||
description: ExcludedClusters is the list
|
|
||||||
of clusters to be ignored.
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
type: array
|
|
||||||
fieldSelector:
|
|
||||||
description: FieldSelector is a filter to
|
|
||||||
select member clusters by fields. If non-nil
|
|
||||||
and non-empty, only the clusters match
|
|
||||||
this filter will be selected.
|
|
||||||
properties:
|
|
||||||
matchExpressions:
|
|
||||||
description: A list of field selector
|
|
||||||
requirements.
|
|
||||||
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
|
|
||||||
labelSelector:
|
|
||||||
description: LabelSelector is a filter to
|
|
||||||
select member clusters by labels. If non-nil
|
|
||||||
and non-empty, only the clusters match
|
|
||||||
this filter will be selected.
|
|
||||||
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
|
|
||||||
type: object
|
|
||||||
weight:
|
|
||||||
description: Weight expressing the preference
|
|
||||||
to the cluster(s) specified by 'TargetCluster'.
|
|
||||||
format: int64
|
|
||||||
type: integer
|
|
||||||
required:
|
|
||||||
- targetCluster
|
|
||||||
- weight
|
|
||||||
type: object
|
|
||||||
type: array
|
|
||||||
required:
|
|
||||||
- staticWeightList
|
|
||||||
type: object
|
|
||||||
resourceSelectors:
|
|
||||||
description: ResourceSelectors used to select resources.
|
|
||||||
items:
|
items:
|
||||||
description: ResourceSelector the resources will be
|
description: StaticClusterWeight defines the static
|
||||||
selected.
|
cluster weight.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
targetCluster:
|
||||||
description: APIVersion represents the API version
|
description: TargetCluster describes the filter
|
||||||
of the target resources.
|
to select clusters.
|
||||||
type: string
|
|
||||||
kind:
|
|
||||||
description: Kind represents the Kind of the target
|
|
||||||
resources.
|
|
||||||
type: string
|
|
||||||
labelSelector:
|
|
||||||
description: A label query over a set of resources.
|
|
||||||
If name is not empty, labelSelector will be ignored.
|
|
||||||
properties:
|
properties:
|
||||||
matchExpressions:
|
clusterNames:
|
||||||
description: matchExpressions is a list of label
|
description: ClusterNames is the list of clusters
|
||||||
selector requirements. The requirements are
|
to be selected.
|
||||||
ANDed.
|
|
||||||
items:
|
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
|
type: string
|
||||||
description: matchLabels is a map of {key,value}
|
type: array
|
||||||
pairs. A single {key,value} in the matchLabels
|
exclude:
|
||||||
map is equivalent to an element of matchExpressions,
|
description: ExcludedClusters is the list of
|
||||||
whose key field is "key", the operator is
|
clusters to be ignored.
|
||||||
"In", and the values array contains only "value".
|
items:
|
||||||
The requirements are ANDed.
|
type: string
|
||||||
|
type: array
|
||||||
|
fieldSelector:
|
||||||
|
description: FieldSelector is a filter to select
|
||||||
|
member clusters by fields. If non-nil and
|
||||||
|
non-empty, only the clusters match this filter
|
||||||
|
will be selected.
|
||||||
|
properties:
|
||||||
|
matchExpressions:
|
||||||
|
description: A list of field selector requirements.
|
||||||
|
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
|
||||||
|
labelSelector:
|
||||||
|
description: LabelSelector is a filter to select
|
||||||
|
member clusters by labels. If non-nil and
|
||||||
|
non-empty, only the clusters match this filter
|
||||||
|
will be selected.
|
||||||
|
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
|
type: object
|
||||||
type: object
|
type: object
|
||||||
name:
|
weight:
|
||||||
description: Name of the target resource. Default
|
description: Weight expressing the preference to
|
||||||
is empty, which means selecting all resources.
|
the cluster(s) specified by 'TargetCluster'.
|
||||||
type: string
|
format: int64
|
||||||
namespace:
|
type: integer
|
||||||
description: Namespace of the target resource. Default
|
|
||||||
is empty, which means inherit from the parent
|
|
||||||
object scope.
|
|
||||||
type: string
|
|
||||||
required:
|
required:
|
||||||
- apiVersion
|
- targetCluster
|
||||||
- kind
|
- weight
|
||||||
type: object
|
type: object
|
||||||
type: array
|
type: array
|
||||||
totalReplicas:
|
|
||||||
description: TotalReplicas represents the total number
|
|
||||||
of replicas across member clusters. The replicas(spec.replicas)
|
|
||||||
specified for deployment template will be discarded.
|
|
||||||
format: int32
|
|
||||||
type: integer
|
|
||||||
required:
|
required:
|
||||||
- preferences
|
- staticWeightList
|
||||||
- resourceSelectors
|
|
||||||
- totalReplicas
|
|
||||||
type: object
|
type: object
|
||||||
required:
|
|
||||||
- spec
|
|
||||||
type: object
|
type: object
|
||||||
spreadConstraints:
|
spreadConstraints:
|
||||||
description: SpreadConstraints represents a list of the scheduling
|
description: SpreadConstraints represents a list of the scheduling
|
||||||
|
|
|
@ -104,7 +104,7 @@ type Placement struct {
|
||||||
// ReplicaScheduling represents the scheduling policy on dealing with the number of replicas
|
// ReplicaScheduling represents the scheduling policy on dealing with the number of replicas
|
||||||
// when propagating resources that have replicas in spec (e.g. deployments, statefulsets) to member clusters.
|
// when propagating resources that have replicas in spec (e.g. deployments, statefulsets) to member clusters.
|
||||||
// +optional
|
// +optional
|
||||||
ReplicaScheduling *ReplicaSchedulingPolicy `json:"replicaScheduling,omitempty"`
|
ReplicaScheduling *ReplicaSchedulingStrategy `json:"replicaScheduling,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// SpreadFieldValue is the type to define valid values for SpreadConstraint.SpreadByField
|
// SpreadFieldValue is the type to define valid values for SpreadConstraint.SpreadByField
|
||||||
|
|
|
@ -390,7 +390,7 @@ func (in *Placement) DeepCopyInto(out *Placement) {
|
||||||
}
|
}
|
||||||
if in.ReplicaScheduling != nil {
|
if in.ReplicaScheduling != nil {
|
||||||
in, out := &in.ReplicaScheduling, &out.ReplicaScheduling
|
in, out := &in.ReplicaScheduling, &out.ReplicaScheduling
|
||||||
*out = new(ReplicaSchedulingPolicy)
|
*out = new(ReplicaSchedulingStrategy)
|
||||||
(*in).DeepCopyInto(*out)
|
(*in).DeepCopyInto(*out)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in New Issue