5102 lines
354 KiB
YAML
5102 lines
354 KiB
YAML
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.9.0
|
|
creationTimestamp: null
|
|
name: xstores.polardbx.aliyun.com
|
|
spec:
|
|
group: polardbx.aliyun.com
|
|
names:
|
|
kind: XStore
|
|
listKind: XStoreList
|
|
plural: xstores
|
|
shortNames:
|
|
- xs
|
|
singular: xstore
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .spec.engine
|
|
name: ENGINE
|
|
priority: 1
|
|
type: string
|
|
- jsonPath: .status.leaderPod
|
|
name: LEADER
|
|
type: string
|
|
- jsonPath: .status.readyStatus
|
|
name: READY
|
|
type: string
|
|
- jsonPath: .status.phase
|
|
name: PHASE
|
|
type: string
|
|
- jsonPath: .status.stage
|
|
name: STAGE
|
|
priority: 1
|
|
type: string
|
|
- jsonPath: .status.totalDataDirSize
|
|
name: DISK
|
|
type: string
|
|
- jsonPath: .status.engineVersion
|
|
name: VERSION
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: AGE
|
|
type: date
|
|
name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: XStore is the schema for the xstore.
|
|
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:
|
|
properties:
|
|
config:
|
|
description: Config is the config of the xstore.
|
|
properties:
|
|
controller:
|
|
properties:
|
|
RPCProtocolVersion:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
default: 1
|
|
enum:
|
|
- 1
|
|
- 2
|
|
- "1"
|
|
- "2"
|
|
- ""
|
|
x-kubernetes-int-or-string: true
|
|
diskQuota:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: DiskQuota is the limit of data current node can
|
|
use. This is a soft limit.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
logDataSeparation:
|
|
type: boolean
|
|
logPurgeInterval:
|
|
type: string
|
|
type: object
|
|
engine:
|
|
properties:
|
|
override:
|
|
description: Value defines a value.
|
|
properties:
|
|
value:
|
|
description: Value is the raw string value.
|
|
type: string
|
|
valueFrom:
|
|
description: ValueFrom is the value from external source.
|
|
properties:
|
|
configMap:
|
|
description: ConfigMap value source. Ignored if not
|
|
found.
|
|
properties:
|
|
key:
|
|
description: Key of the config map
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info:
|
|
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: object
|
|
template:
|
|
description: Value defines a value.
|
|
properties:
|
|
value:
|
|
description: Value is the raw string value.
|
|
type: string
|
|
valueFrom:
|
|
description: ValueFrom is the value from external source.
|
|
properties:
|
|
configMap:
|
|
description: ConfigMap value source. Ignored if not
|
|
found.
|
|
properties:
|
|
key:
|
|
description: Key of the config map
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info:
|
|
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
envs:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
engine:
|
|
default: galaxy
|
|
description: Engine is the engine used by xstore. Default is "galaxy".
|
|
type: string
|
|
parameterTemplate:
|
|
description: ParameterTemplate defines the template of parameters
|
|
used by cn/dn/gms.
|
|
properties:
|
|
name:
|
|
description: Parameter template
|
|
type: string
|
|
type: object
|
|
primaryCluster:
|
|
description: PrimaryCluster is the name of primary cluster of the
|
|
readonly cluster
|
|
type: string
|
|
primaryXStore:
|
|
description: PrimaryXStore is the name of primary XStore of the readonly
|
|
xstore
|
|
type: string
|
|
privileges:
|
|
description: Privileges defines the accounts that will be created
|
|
and maintained automatically by the controller.
|
|
items:
|
|
properties:
|
|
host:
|
|
default: '%'
|
|
description: Host is the host of account. Default is '%' which
|
|
represents any host.
|
|
type: string
|
|
password:
|
|
description: Password is the password of account. If empty,
|
|
the controller should generate a random password.
|
|
type: string
|
|
username:
|
|
description: Username is the username of account.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
readonly:
|
|
default: false
|
|
description: Readonly demonstrates whether the xstore is readonly.
|
|
Default is false
|
|
type: boolean
|
|
restore:
|
|
description: Restore defines the spec of restore.
|
|
properties:
|
|
backupset:
|
|
description: BackupSet defines the source of backup set
|
|
type: string
|
|
from:
|
|
description: From defines the source information, either backup
|
|
sets, snapshot or an running cluster.
|
|
properties:
|
|
backupSelector:
|
|
additionalProperties:
|
|
type: string
|
|
description: BackupSelector defines the selector for the backups
|
|
to be selected. Optional.
|
|
type: object
|
|
clusterName:
|
|
description: XStoreName defines the the xstore name that this
|
|
xstore is restored from. Optional.
|
|
type: string
|
|
type: object
|
|
pitrEndpoiint:
|
|
type: string
|
|
time:
|
|
description: Time defines the specified time of the restored data,
|
|
in the format of 'yyyy-MM-dd HH:mm:ss'. Required.
|
|
type: string
|
|
timezone:
|
|
description: TimeZone defines the specified time zone of the restore
|
|
time. Default is the location of current cluster.
|
|
type: string
|
|
type: object
|
|
serviceLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: ServiceLabels define the extra service labels of the
|
|
xstore.
|
|
type: object
|
|
serviceName:
|
|
description: ServiceName represents the service name of the xstore.
|
|
Default is the same as the name.
|
|
type: string
|
|
serviceType:
|
|
default: NodePort
|
|
description: ServiceType represents the default service type of the
|
|
xstore. Default is NodePort.
|
|
type: string
|
|
topology:
|
|
description: Topology is the specification of topology of the xstore.
|
|
properties:
|
|
nodeSets:
|
|
description: NodeSets is the total node sets of xstore.
|
|
items:
|
|
description: NodeSet defines a set of xstore nodes shares the
|
|
same role and template.
|
|
properties:
|
|
name:
|
|
description: Name is the name of this node set. Must be
|
|
unique in specification.
|
|
type: string
|
|
replicas:
|
|
description: Replicas is the number of nodes in this node
|
|
set.
|
|
format: int32
|
|
minimum: 1
|
|
type: integer
|
|
role:
|
|
description: Role is the role of nodes defined by this node
|
|
set.
|
|
enum:
|
|
- Candidate
|
|
- Voter
|
|
- Learner
|
|
type: string
|
|
template:
|
|
description: Template defines the customized template of
|
|
nodes in current node set. If not specified, controller
|
|
should use the global template instead. If partially specified,
|
|
the value used is merged with determined strategy.
|
|
properties:
|
|
metadata:
|
|
description: ObjectMeta is the metadata template only
|
|
contains labels and annotations.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Annotations is an unstructured key
|
|
value map stored with a resource that may be set
|
|
by external tools to store and retrieve arbitrary
|
|
metadata. They are not queryable and should be
|
|
preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Map of string keys and values that
|
|
can be used to organize and categorize (scope
|
|
and select) objects. May match selectors of replication
|
|
controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
|
|
type: object
|
|
type: object
|
|
spec:
|
|
description: Spec is the specification of xstore node.
|
|
properties:
|
|
affinity:
|
|
description: Affinity defines the affinity of the
|
|
node (pod).
|
|
properties:
|
|
nodeAffinity:
|
|
description: Describes node affinity scheduling
|
|
rules for the pod.
|
|
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
|
|
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
|
|
type: array
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
type: object
|
|
podAffinity:
|
|
description: Describes pod affinity scheduling
|
|
rules (e.g. co-locate this pod in the same
|
|
node, zone, etc. as some other pod(s)).
|
|
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 has pods which matches
|
|
the corresponding podAffinityTerm; the
|
|
node(s) with the highest sum are the most
|
|
preferred.
|
|
items:
|
|
description: The weights of all of the
|
|
matched WeightedPodAffinityTerm fields
|
|
are added per-node to find the most
|
|
preferred node(s)
|
|
properties:
|
|
podAffinityTerm:
|
|
description: Required. A pod affinity
|
|
term, associated with the corresponding
|
|
weight.
|
|
properties:
|
|
labelSelector:
|
|
description: A label query over
|
|
a set of resources, in this
|
|
case pods.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaceSelector:
|
|
description: A label query over
|
|
the set of namespaces that the
|
|
term applies to. The term is
|
|
applied to the union of the
|
|
namespaces selected by this
|
|
field and the ones listed in
|
|
the namespaces field. null selector
|
|
and null or empty namespaces
|
|
list means "this pod's namespace".
|
|
An empty selector ({}) matches
|
|
all namespaces. This field is
|
|
alpha-level and is only honored
|
|
when PodAffinityNamespaceSelector
|
|
feature is enabled.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
description: namespaces specifies
|
|
a static list of namespace names
|
|
that the term applies to. The
|
|
term is applied to the union
|
|
of the namespaces listed in
|
|
this field and the ones selected
|
|
by namespaceSelector. null or
|
|
empty namespaces list and null
|
|
namespaceSelector means "this
|
|
pod's namespace"
|
|
items:
|
|
type: string
|
|
type: array
|
|
topologyKey:
|
|
description: This pod should be
|
|
co-located (affinity) or not
|
|
co-located (anti-affinity) with
|
|
the pods matching the labelSelector
|
|
in the specified namespaces,
|
|
where co-located is defined
|
|
as running on a node whose value
|
|
of the label with key topologyKey
|
|
matches that of any node on
|
|
which any of the selected pods
|
|
is running. Empty topologyKey
|
|
is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
description: weight associated with
|
|
matching the corresponding podAffinityTerm,
|
|
in the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- 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 a pod label update), the system
|
|
may or may not try to eventually evict
|
|
the pod from its node. When there are
|
|
multiple elements, the lists of nodes
|
|
corresponding to each podAffinityTerm
|
|
are intersected, i.e. all terms must be
|
|
satisfied.
|
|
items:
|
|
description: Defines a set of pods (namely
|
|
those matching the labelSelector relative
|
|
to the given namespace(s)) that this
|
|
pod should be co-located (affinity)
|
|
or not co-located (anti-affinity) with,
|
|
where co-located is defined as running
|
|
on a node whose value of the label with
|
|
key <topologyKey> matches that of any
|
|
node on which a pod of the set of pods
|
|
is running
|
|
properties:
|
|
labelSelector:
|
|
description: A label query over a
|
|
set of resources, in this case pods.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaceSelector:
|
|
description: A label query over the
|
|
set of namespaces that the term
|
|
applies to. The term is applied
|
|
to the union of the namespaces selected
|
|
by this field and the ones listed
|
|
in the namespaces field. null selector
|
|
and null or empty namespaces list
|
|
means "this pod's namespace". An
|
|
empty selector ({}) matches all
|
|
namespaces. This field is alpha-level
|
|
and is only honored when PodAffinityNamespaceSelector
|
|
feature is enabled.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
description: namespaces specifies
|
|
a static list of namespace names
|
|
that the term applies to. The term
|
|
is applied to the union of the namespaces
|
|
listed in this field and the ones
|
|
selected by namespaceSelector. null
|
|
or empty namespaces list and null
|
|
namespaceSelector means "this pod's
|
|
namespace"
|
|
items:
|
|
type: string
|
|
type: array
|
|
topologyKey:
|
|
description: This pod should be co-located
|
|
(affinity) or not co-located (anti-affinity)
|
|
with the pods matching the labelSelector
|
|
in the specified namespaces, where
|
|
co-located is defined as running
|
|
on a node whose value of the label
|
|
with key topologyKey matches that
|
|
of any node on which any of the
|
|
selected pods is running. Empty
|
|
topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
type: object
|
|
podAntiAffinity:
|
|
description: Describes pod anti-affinity scheduling
|
|
rules (e.g. avoid putting this pod in the
|
|
same node, zone, etc. as some other pod(s)).
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
description: The scheduler will prefer to
|
|
schedule pods to nodes that satisfy the
|
|
anti-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 anti-affinity
|
|
expressions, etc.), compute a sum by iterating
|
|
through the elements of this field and
|
|
adding "weight" to the sum if the node
|
|
has pods which matches the corresponding
|
|
podAffinityTerm; the node(s) with the
|
|
highest sum are the most preferred.
|
|
items:
|
|
description: The weights of all of the
|
|
matched WeightedPodAffinityTerm fields
|
|
are added per-node to find the most
|
|
preferred node(s)
|
|
properties:
|
|
podAffinityTerm:
|
|
description: Required. A pod affinity
|
|
term, associated with the corresponding
|
|
weight.
|
|
properties:
|
|
labelSelector:
|
|
description: A label query over
|
|
a set of resources, in this
|
|
case pods.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaceSelector:
|
|
description: A label query over
|
|
the set of namespaces that the
|
|
term applies to. The term is
|
|
applied to the union of the
|
|
namespaces selected by this
|
|
field and the ones listed in
|
|
the namespaces field. null selector
|
|
and null or empty namespaces
|
|
list means "this pod's namespace".
|
|
An empty selector ({}) matches
|
|
all namespaces. This field is
|
|
alpha-level and is only honored
|
|
when PodAffinityNamespaceSelector
|
|
feature is enabled.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
description: namespaces specifies
|
|
a static list of namespace names
|
|
that the term applies to. The
|
|
term is applied to the union
|
|
of the namespaces listed in
|
|
this field and the ones selected
|
|
by namespaceSelector. null or
|
|
empty namespaces list and null
|
|
namespaceSelector means "this
|
|
pod's namespace"
|
|
items:
|
|
type: string
|
|
type: array
|
|
topologyKey:
|
|
description: This pod should be
|
|
co-located (affinity) or not
|
|
co-located (anti-affinity) with
|
|
the pods matching the labelSelector
|
|
in the specified namespaces,
|
|
where co-located is defined
|
|
as running on a node whose value
|
|
of the label with key topologyKey
|
|
matches that of any node on
|
|
which any of the selected pods
|
|
is running. Empty topologyKey
|
|
is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
description: weight associated with
|
|
matching the corresponding podAffinityTerm,
|
|
in the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: If the anti-affinity requirements
|
|
specified by this field are not met at
|
|
scheduling time, the pod will not be scheduled
|
|
onto the node. If the anti-affinity requirements
|
|
specified by this field cease to be met
|
|
at some point during pod execution (e.g.
|
|
due to a pod label update), the system
|
|
may or may not try to eventually evict
|
|
the pod from its node. When there are
|
|
multiple elements, the lists of nodes
|
|
corresponding to each podAffinityTerm
|
|
are intersected, i.e. all terms must be
|
|
satisfied.
|
|
items:
|
|
description: Defines a set of pods (namely
|
|
those matching the labelSelector relative
|
|
to the given namespace(s)) that this
|
|
pod should be co-located (affinity)
|
|
or not co-located (anti-affinity) with,
|
|
where co-located is defined as running
|
|
on a node whose value of the label with
|
|
key <topologyKey> matches that of any
|
|
node on which a pod of the set of pods
|
|
is running
|
|
properties:
|
|
labelSelector:
|
|
description: A label query over a
|
|
set of resources, in this case pods.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaceSelector:
|
|
description: A label query over the
|
|
set of namespaces that the term
|
|
applies to. The term is applied
|
|
to the union of the namespaces selected
|
|
by this field and the ones listed
|
|
in the namespaces field. null selector
|
|
and null or empty namespaces list
|
|
means "this pod's namespace". An
|
|
empty selector ({}) matches all
|
|
namespaces. This field is alpha-level
|
|
and is only honored when PodAffinityNamespaceSelector
|
|
feature is enabled.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
description: namespaces specifies
|
|
a static list of namespace names
|
|
that the term applies to. The term
|
|
is applied to the union of the namespaces
|
|
listed in this field and the ones
|
|
selected by namespaceSelector. null
|
|
or empty namespaces list and null
|
|
namespaceSelector means "this pod's
|
|
namespace"
|
|
items:
|
|
type: string
|
|
type: array
|
|
topologyKey:
|
|
description: This pod should be co-located
|
|
(affinity) or not co-located (anti-affinity)
|
|
with the pods matching the labelSelector
|
|
in the specified namespaces, where
|
|
co-located is defined as running
|
|
on a node whose value of the label
|
|
with key topologyKey matches that
|
|
of any node on which any of the
|
|
selected pods is running. Empty
|
|
topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
type: object
|
|
type: object
|
|
hostNetwork:
|
|
default: false
|
|
description: HostNetwork defines whether the node
|
|
uses the host network. Default is true.
|
|
type: boolean
|
|
image:
|
|
description: Image is the image of xstore engine.
|
|
Controller should fill a default image if not
|
|
specified.
|
|
type: string
|
|
imagePullPolicy:
|
|
description: ImagePullPolicy describes a policy
|
|
for if/when to pull a container image (especially
|
|
for the engine container).
|
|
type: string
|
|
imagePullSecrets:
|
|
description: ImagePullSecrets represents the secrets
|
|
for pulling private images.
|
|
items:
|
|
description: LocalObjectReference contains enough
|
|
information to let you locate the referenced
|
|
object inside the same namespace.
|
|
properties:
|
|
name:
|
|
description: 'Name of the referent. More info:
|
|
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
type: object
|
|
type: array
|
|
resources:
|
|
description: Resources is the requested resources
|
|
of the node.
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Limits describes the maximum amount
|
|
of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
limits.io:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: ResourceList is a set of (resource
|
|
name, quantity) pairs.
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Requests describes the minimum
|
|
amount of compute resources required. If Requests
|
|
is omitted for a container, it defaults to
|
|
Limits if that is explicitly specified, otherwise
|
|
to an implementation-defined value. More info:
|
|
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: array
|
|
template:
|
|
description: Template is the global node template of xstore.
|
|
properties:
|
|
metadata:
|
|
description: ObjectMeta is the metadata template only contains
|
|
labels and annotations.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Annotations is an unstructured key value
|
|
map stored with a resource that may be set by external
|
|
tools to store and retrieve arbitrary metadata. They
|
|
are not queryable and should be preserved when modifying
|
|
objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Map of string keys and values that can be
|
|
used to organize and categorize (scope and select) objects.
|
|
May match selectors of replication controllers and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels'
|
|
type: object
|
|
type: object
|
|
spec:
|
|
description: Spec is the specification of xstore node.
|
|
properties:
|
|
affinity:
|
|
description: Affinity defines the affinity of the node
|
|
(pod).
|
|
properties:
|
|
nodeAffinity:
|
|
description: Describes node affinity scheduling rules
|
|
for the pod.
|
|
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
|
|
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
|
|
type: array
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
type: object
|
|
podAffinity:
|
|
description: Describes pod affinity scheduling rules
|
|
(e.g. co-locate this pod in the same node, zone,
|
|
etc. as some other pod(s)).
|
|
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 has
|
|
pods which matches the corresponding podAffinityTerm;
|
|
the node(s) with the highest sum are the most
|
|
preferred.
|
|
items:
|
|
description: The weights of all of the matched
|
|
WeightedPodAffinityTerm fields are added per-node
|
|
to find the most preferred node(s)
|
|
properties:
|
|
podAffinityTerm:
|
|
description: Required. A pod affinity term,
|
|
associated with the corresponding weight.
|
|
properties:
|
|
labelSelector:
|
|
description: A label query over a set
|
|
of resources, in this case pods.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaceSelector:
|
|
description: A label query over the
|
|
set of namespaces that the term applies
|
|
to. The term is applied to the union
|
|
of the namespaces selected by this
|
|
field and the ones listed in the namespaces
|
|
field. null selector and null or empty
|
|
namespaces list means "this pod's
|
|
namespace". An empty selector ({})
|
|
matches all namespaces. This field
|
|
is alpha-level and is only honored
|
|
when PodAffinityNamespaceSelector
|
|
feature is enabled.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
description: namespaces specifies a
|
|
static list of namespace names that
|
|
the term applies to. The term is applied
|
|
to the union of the namespaces listed
|
|
in this field and the ones selected
|
|
by namespaceSelector. null or empty
|
|
namespaces list and null namespaceSelector
|
|
means "this pod's namespace"
|
|
items:
|
|
type: string
|
|
type: array
|
|
topologyKey:
|
|
description: This pod should be co-located
|
|
(affinity) or not co-located (anti-affinity)
|
|
with the pods matching the labelSelector
|
|
in the specified namespaces, where
|
|
co-located is defined as running on
|
|
a node whose value of the label with
|
|
key topologyKey matches that of any
|
|
node on which any of the selected
|
|
pods is running. Empty topologyKey
|
|
is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
description: weight associated with matching
|
|
the corresponding podAffinityTerm, in
|
|
the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- 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 a pod label update),
|
|
the system may or may not try to eventually
|
|
evict the pod from its node. When there are
|
|
multiple elements, the lists of nodes corresponding
|
|
to each podAffinityTerm are intersected, i.e.
|
|
all terms must be satisfied.
|
|
items:
|
|
description: Defines a set of pods (namely those
|
|
matching the labelSelector relative to the
|
|
given namespace(s)) that this pod should be
|
|
co-located (affinity) or not co-located (anti-affinity)
|
|
with, where co-located is defined as running
|
|
on a node whose value of the label with key
|
|
<topologyKey> matches that of any node on
|
|
which a pod of the set of pods is running
|
|
properties:
|
|
labelSelector:
|
|
description: A label query over a set of
|
|
resources, in this case pods.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaceSelector:
|
|
description: A label query over the set
|
|
of namespaces that the term applies to.
|
|
The term is applied to the union of the
|
|
namespaces selected by this field and
|
|
the ones listed in the namespaces field.
|
|
null selector and null or empty namespaces
|
|
list means "this pod's namespace". An
|
|
empty selector ({}) matches all namespaces.
|
|
This field is alpha-level and is only
|
|
honored when PodAffinityNamespaceSelector
|
|
feature is enabled.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
description: namespaces specifies a static
|
|
list of namespace names that the term
|
|
applies to. The term is applied to the
|
|
union of the namespaces listed in this
|
|
field and the ones selected by namespaceSelector.
|
|
null or empty namespaces list and null
|
|
namespaceSelector means "this pod's namespace"
|
|
items:
|
|
type: string
|
|
type: array
|
|
topologyKey:
|
|
description: This pod should be co-located
|
|
(affinity) or not co-located (anti-affinity)
|
|
with the pods matching the labelSelector
|
|
in the specified namespaces, where co-located
|
|
is defined as running on a node whose
|
|
value of the label with key topologyKey
|
|
matches that of any node on which any
|
|
of the selected pods is running. Empty
|
|
topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
type: object
|
|
podAntiAffinity:
|
|
description: Describes pod anti-affinity scheduling
|
|
rules (e.g. avoid putting this pod in the same node,
|
|
zone, etc. as some other pod(s)).
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
description: The scheduler will prefer to schedule
|
|
pods to nodes that satisfy the anti-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
|
|
anti-affinity expressions, etc.), compute a
|
|
sum by iterating through the elements of this
|
|
field and adding "weight" to the sum if the
|
|
node has pods which matches the corresponding
|
|
podAffinityTerm; the node(s) with the highest
|
|
sum are the most preferred.
|
|
items:
|
|
description: The weights of all of the matched
|
|
WeightedPodAffinityTerm fields are added per-node
|
|
to find the most preferred node(s)
|
|
properties:
|
|
podAffinityTerm:
|
|
description: Required. A pod affinity term,
|
|
associated with the corresponding weight.
|
|
properties:
|
|
labelSelector:
|
|
description: A label query over a set
|
|
of resources, in this case pods.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaceSelector:
|
|
description: A label query over the
|
|
set of namespaces that the term applies
|
|
to. The term is applied to the union
|
|
of the namespaces selected by this
|
|
field and the ones listed in the namespaces
|
|
field. null selector and null or empty
|
|
namespaces list means "this pod's
|
|
namespace". An empty selector ({})
|
|
matches all namespaces. This field
|
|
is alpha-level and is only honored
|
|
when PodAffinityNamespaceSelector
|
|
feature is enabled.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
description: namespaces specifies a
|
|
static list of namespace names that
|
|
the term applies to. The term is applied
|
|
to the union of the namespaces listed
|
|
in this field and the ones selected
|
|
by namespaceSelector. null or empty
|
|
namespaces list and null namespaceSelector
|
|
means "this pod's namespace"
|
|
items:
|
|
type: string
|
|
type: array
|
|
topologyKey:
|
|
description: This pod should be co-located
|
|
(affinity) or not co-located (anti-affinity)
|
|
with the pods matching the labelSelector
|
|
in the specified namespaces, where
|
|
co-located is defined as running on
|
|
a node whose value of the label with
|
|
key topologyKey matches that of any
|
|
node on which any of the selected
|
|
pods is running. Empty topologyKey
|
|
is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
description: weight associated with matching
|
|
the corresponding podAffinityTerm, in
|
|
the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: If the anti-affinity requirements
|
|
specified by this field are not met at scheduling
|
|
time, the pod will not be scheduled onto the
|
|
node. If the anti-affinity requirements specified
|
|
by this field cease to be met at some point
|
|
during pod execution (e.g. due to a pod label
|
|
update), the system may or may not try to eventually
|
|
evict the pod from its node. When there are
|
|
multiple elements, the lists of nodes corresponding
|
|
to each podAffinityTerm are intersected, i.e.
|
|
all terms must be satisfied.
|
|
items:
|
|
description: Defines a set of pods (namely those
|
|
matching the labelSelector relative to the
|
|
given namespace(s)) that this pod should be
|
|
co-located (affinity) or not co-located (anti-affinity)
|
|
with, where co-located is defined as running
|
|
on a node whose value of the label with key
|
|
<topologyKey> matches that of any node on
|
|
which a pod of the set of pods is running
|
|
properties:
|
|
labelSelector:
|
|
description: A label query over a set of
|
|
resources, in this case pods.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaceSelector:
|
|
description: A label query over the set
|
|
of namespaces that the term applies to.
|
|
The term is applied to the union of the
|
|
namespaces selected by this field and
|
|
the ones listed in the namespaces field.
|
|
null selector and null or empty namespaces
|
|
list means "this pod's namespace". An
|
|
empty selector ({}) matches all namespaces.
|
|
This field is alpha-level and is only
|
|
honored when PodAffinityNamespaceSelector
|
|
feature is enabled.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
description: namespaces specifies a static
|
|
list of namespace names that the term
|
|
applies to. The term is applied to the
|
|
union of the namespaces listed in this
|
|
field and the ones selected by namespaceSelector.
|
|
null or empty namespaces list and null
|
|
namespaceSelector means "this pod's namespace"
|
|
items:
|
|
type: string
|
|
type: array
|
|
topologyKey:
|
|
description: This pod should be co-located
|
|
(affinity) or not co-located (anti-affinity)
|
|
with the pods matching the labelSelector
|
|
in the specified namespaces, where co-located
|
|
is defined as running on a node whose
|
|
value of the label with key topologyKey
|
|
matches that of any node on which any
|
|
of the selected pods is running. Empty
|
|
topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
type: object
|
|
type: object
|
|
hostNetwork:
|
|
default: false
|
|
description: HostNetwork defines whether the node uses
|
|
the host network. Default is true.
|
|
type: boolean
|
|
image:
|
|
description: Image is the image of xstore engine. Controller
|
|
should fill a default image if not specified.
|
|
type: string
|
|
imagePullPolicy:
|
|
description: ImagePullPolicy describes a policy for if/when
|
|
to pull a container image (especially for the engine
|
|
container).
|
|
type: string
|
|
imagePullSecrets:
|
|
description: ImagePullSecrets represents the secrets for
|
|
pulling private images.
|
|
items:
|
|
description: LocalObjectReference contains enough information
|
|
to let you locate the referenced object inside the
|
|
same namespace.
|
|
properties:
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
type: object
|
|
type: array
|
|
resources:
|
|
description: Resources is the requested resources of the
|
|
node.
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Limits describes the maximum amount
|
|
of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
limits.io:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: ResourceList is a set of (resource name,
|
|
quantity) pairs.
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Requests describes the minimum amount
|
|
of compute resources required. If Requests is omitted
|
|
for a container, it defaults to Limits if that is
|
|
explicitly specified, otherwise to an implementation-defined
|
|
value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
upgradeStrategy:
|
|
default: BestEffort
|
|
description: UpgradeStrategy is the strategy when upgrading xstore.
|
|
Default is BestEffort.
|
|
enum:
|
|
- Force
|
|
- BestEffort
|
|
type: string
|
|
type: object
|
|
status:
|
|
properties:
|
|
boundVolumes:
|
|
additionalProperties:
|
|
properties:
|
|
dataSize:
|
|
description: Size of the data volume.
|
|
format: int64
|
|
type: integer
|
|
host:
|
|
description: Host or node name if the volume is bound to some
|
|
node.
|
|
type: string
|
|
hostPath:
|
|
description: Data HostPath of the file/dir.
|
|
type: string
|
|
logHostPath:
|
|
description: Log HostPath of the file/dir
|
|
type: string
|
|
logSize:
|
|
description: Size of the log volume.
|
|
format: int64
|
|
type: integer
|
|
pod:
|
|
description: Pod if the volume is bound to some pod.
|
|
type: string
|
|
size:
|
|
description: Size of the volume.
|
|
format: int64
|
|
type: integer
|
|
type:
|
|
description: Type of the host path.
|
|
type: string
|
|
type: object
|
|
description: BoundVolumes represents the volumes used by this xstore.
|
|
type: object
|
|
conditions:
|
|
description: Conditions represents the current service state of xstore.
|
|
items:
|
|
properties:
|
|
lastProbeTime:
|
|
description: Last time we probed the condition.
|
|
format: date-time
|
|
type: string
|
|
lastTransitionTime:
|
|
description: Last time the condition transition from one status
|
|
to another.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: Human-readable message indicating details about
|
|
last transition.
|
|
type: string
|
|
reason:
|
|
description: Unique, one-word, CamelCase reason for the condition's
|
|
last transition.
|
|
type: string
|
|
status:
|
|
description: Status is the status of the condition
|
|
type: string
|
|
type:
|
|
description: Type is the type of the condition
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
engineVersion:
|
|
description: EngineVersion records the engine's version.
|
|
type: string
|
|
lastLogPurgeTime:
|
|
description: LastLogPurgeTime represents the last binlog/redo log
|
|
purged time
|
|
format: date-time
|
|
type: string
|
|
lastVolumeSizeUpdateTime:
|
|
description: LastVolumeSizeUpdateTime represents the last time that
|
|
volumes' sizes updated.
|
|
format: date-time
|
|
type: string
|
|
leaderPod:
|
|
description: LeaderPod represents the pod name of the leader.
|
|
type: string
|
|
observedConfig:
|
|
description: ObservedConfig records the snapshot of mycnf.overlay
|
|
properties:
|
|
controller:
|
|
properties:
|
|
RPCProtocolVersion:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
default: 1
|
|
enum:
|
|
- 1
|
|
- 2
|
|
- "1"
|
|
- "2"
|
|
- ""
|
|
x-kubernetes-int-or-string: true
|
|
diskQuota:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
description: DiskQuota is the limit of data current node can
|
|
use. This is a soft limit.
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
logDataSeparation:
|
|
type: boolean
|
|
logPurgeInterval:
|
|
type: string
|
|
type: object
|
|
engine:
|
|
properties:
|
|
override:
|
|
description: Value defines a value.
|
|
properties:
|
|
value:
|
|
description: Value is the raw string value.
|
|
type: string
|
|
valueFrom:
|
|
description: ValueFrom is the value from external source.
|
|
properties:
|
|
configMap:
|
|
description: ConfigMap value source. Ignored if not
|
|
found.
|
|
properties:
|
|
key:
|
|
description: Key of the config map
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info:
|
|
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: object
|
|
template:
|
|
description: Value defines a value.
|
|
properties:
|
|
value:
|
|
description: Value is the raw string value.
|
|
type: string
|
|
valueFrom:
|
|
description: ValueFrom is the value from external source.
|
|
properties:
|
|
configMap:
|
|
description: ConfigMap value source. Ignored if not
|
|
found.
|
|
properties:
|
|
key:
|
|
description: Key of the config map
|
|
type: string
|
|
name:
|
|
description: 'Name of the referent. More info:
|
|
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
envs:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
x-kubernetes-int-or-string: true
|
|
type: object
|
|
type: object
|
|
observedGeneration:
|
|
description: ObservedGeneration is the observed generation of the
|
|
xstore spec.
|
|
format: int64
|
|
type: integer
|
|
observedTopology:
|
|
description: ObservedTopology records the snapshot of topology.
|
|
properties:
|
|
nodeSets:
|
|
description: NodeSets is the total node sets of xstore.
|
|
items:
|
|
description: NodeSet defines a set of xstore nodes shares the
|
|
same role and template.
|
|
properties:
|
|
name:
|
|
description: Name is the name of this node set. Must be
|
|
unique in specification.
|
|
type: string
|
|
replicas:
|
|
description: Replicas is the number of nodes in this node
|
|
set.
|
|
format: int32
|
|
minimum: 1
|
|
type: integer
|
|
role:
|
|
description: Role is the role of nodes defined by this node
|
|
set.
|
|
enum:
|
|
- Candidate
|
|
- Voter
|
|
- Learner
|
|
type: string
|
|
template:
|
|
description: Template defines the customized template of
|
|
nodes in current node set. If not specified, controller
|
|
should use the global template instead. If partially specified,
|
|
the value used is merged with determined strategy.
|
|
properties:
|
|
metadata:
|
|
description: ObjectMeta is the metadata template only
|
|
contains labels and annotations.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Annotations is an unstructured key
|
|
value map stored with a resource that may be set
|
|
by external tools to store and retrieve arbitrary
|
|
metadata. They are not queryable and should be
|
|
preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Map of string keys and values that
|
|
can be used to organize and categorize (scope
|
|
and select) objects. May match selectors of replication
|
|
controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
|
|
type: object
|
|
type: object
|
|
spec:
|
|
description: Spec is the specification of xstore node.
|
|
properties:
|
|
affinity:
|
|
description: Affinity defines the affinity of the
|
|
node (pod).
|
|
properties:
|
|
nodeAffinity:
|
|
description: Describes node affinity scheduling
|
|
rules for the pod.
|
|
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
|
|
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
|
|
type: array
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
type: object
|
|
podAffinity:
|
|
description: Describes pod affinity scheduling
|
|
rules (e.g. co-locate this pod in the same
|
|
node, zone, etc. as some other pod(s)).
|
|
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 has pods which matches
|
|
the corresponding podAffinityTerm; the
|
|
node(s) with the highest sum are the most
|
|
preferred.
|
|
items:
|
|
description: The weights of all of the
|
|
matched WeightedPodAffinityTerm fields
|
|
are added per-node to find the most
|
|
preferred node(s)
|
|
properties:
|
|
podAffinityTerm:
|
|
description: Required. A pod affinity
|
|
term, associated with the corresponding
|
|
weight.
|
|
properties:
|
|
labelSelector:
|
|
description: A label query over
|
|
a set of resources, in this
|
|
case pods.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaceSelector:
|
|
description: A label query over
|
|
the set of namespaces that the
|
|
term applies to. The term is
|
|
applied to the union of the
|
|
namespaces selected by this
|
|
field and the ones listed in
|
|
the namespaces field. null selector
|
|
and null or empty namespaces
|
|
list means "this pod's namespace".
|
|
An empty selector ({}) matches
|
|
all namespaces. This field is
|
|
alpha-level and is only honored
|
|
when PodAffinityNamespaceSelector
|
|
feature is enabled.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
description: namespaces specifies
|
|
a static list of namespace names
|
|
that the term applies to. The
|
|
term is applied to the union
|
|
of the namespaces listed in
|
|
this field and the ones selected
|
|
by namespaceSelector. null or
|
|
empty namespaces list and null
|
|
namespaceSelector means "this
|
|
pod's namespace"
|
|
items:
|
|
type: string
|
|
type: array
|
|
topologyKey:
|
|
description: This pod should be
|
|
co-located (affinity) or not
|
|
co-located (anti-affinity) with
|
|
the pods matching the labelSelector
|
|
in the specified namespaces,
|
|
where co-located is defined
|
|
as running on a node whose value
|
|
of the label with key topologyKey
|
|
matches that of any node on
|
|
which any of the selected pods
|
|
is running. Empty topologyKey
|
|
is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
description: weight associated with
|
|
matching the corresponding podAffinityTerm,
|
|
in the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- 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 a pod label update), the system
|
|
may or may not try to eventually evict
|
|
the pod from its node. When there are
|
|
multiple elements, the lists of nodes
|
|
corresponding to each podAffinityTerm
|
|
are intersected, i.e. all terms must be
|
|
satisfied.
|
|
items:
|
|
description: Defines a set of pods (namely
|
|
those matching the labelSelector relative
|
|
to the given namespace(s)) that this
|
|
pod should be co-located (affinity)
|
|
or not co-located (anti-affinity) with,
|
|
where co-located is defined as running
|
|
on a node whose value of the label with
|
|
key <topologyKey> matches that of any
|
|
node on which a pod of the set of pods
|
|
is running
|
|
properties:
|
|
labelSelector:
|
|
description: A label query over a
|
|
set of resources, in this case pods.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaceSelector:
|
|
description: A label query over the
|
|
set of namespaces that the term
|
|
applies to. The term is applied
|
|
to the union of the namespaces selected
|
|
by this field and the ones listed
|
|
in the namespaces field. null selector
|
|
and null or empty namespaces list
|
|
means "this pod's namespace". An
|
|
empty selector ({}) matches all
|
|
namespaces. This field is alpha-level
|
|
and is only honored when PodAffinityNamespaceSelector
|
|
feature is enabled.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
description: namespaces specifies
|
|
a static list of namespace names
|
|
that the term applies to. The term
|
|
is applied to the union of the namespaces
|
|
listed in this field and the ones
|
|
selected by namespaceSelector. null
|
|
or empty namespaces list and null
|
|
namespaceSelector means "this pod's
|
|
namespace"
|
|
items:
|
|
type: string
|
|
type: array
|
|
topologyKey:
|
|
description: This pod should be co-located
|
|
(affinity) or not co-located (anti-affinity)
|
|
with the pods matching the labelSelector
|
|
in the specified namespaces, where
|
|
co-located is defined as running
|
|
on a node whose value of the label
|
|
with key topologyKey matches that
|
|
of any node on which any of the
|
|
selected pods is running. Empty
|
|
topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
type: object
|
|
podAntiAffinity:
|
|
description: Describes pod anti-affinity scheduling
|
|
rules (e.g. avoid putting this pod in the
|
|
same node, zone, etc. as some other pod(s)).
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
description: The scheduler will prefer to
|
|
schedule pods to nodes that satisfy the
|
|
anti-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 anti-affinity
|
|
expressions, etc.), compute a sum by iterating
|
|
through the elements of this field and
|
|
adding "weight" to the sum if the node
|
|
has pods which matches the corresponding
|
|
podAffinityTerm; the node(s) with the
|
|
highest sum are the most preferred.
|
|
items:
|
|
description: The weights of all of the
|
|
matched WeightedPodAffinityTerm fields
|
|
are added per-node to find the most
|
|
preferred node(s)
|
|
properties:
|
|
podAffinityTerm:
|
|
description: Required. A pod affinity
|
|
term, associated with the corresponding
|
|
weight.
|
|
properties:
|
|
labelSelector:
|
|
description: A label query over
|
|
a set of resources, in this
|
|
case pods.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaceSelector:
|
|
description: A label query over
|
|
the set of namespaces that the
|
|
term applies to. The term is
|
|
applied to the union of the
|
|
namespaces selected by this
|
|
field and the ones listed in
|
|
the namespaces field. null selector
|
|
and null or empty namespaces
|
|
list means "this pod's namespace".
|
|
An empty selector ({}) matches
|
|
all namespaces. This field is
|
|
alpha-level and is only honored
|
|
when PodAffinityNamespaceSelector
|
|
feature is enabled.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
description: namespaces specifies
|
|
a static list of namespace names
|
|
that the term applies to. The
|
|
term is applied to the union
|
|
of the namespaces listed in
|
|
this field and the ones selected
|
|
by namespaceSelector. null or
|
|
empty namespaces list and null
|
|
namespaceSelector means "this
|
|
pod's namespace"
|
|
items:
|
|
type: string
|
|
type: array
|
|
topologyKey:
|
|
description: This pod should be
|
|
co-located (affinity) or not
|
|
co-located (anti-affinity) with
|
|
the pods matching the labelSelector
|
|
in the specified namespaces,
|
|
where co-located is defined
|
|
as running on a node whose value
|
|
of the label with key topologyKey
|
|
matches that of any node on
|
|
which any of the selected pods
|
|
is running. Empty topologyKey
|
|
is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
description: weight associated with
|
|
matching the corresponding podAffinityTerm,
|
|
in the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: If the anti-affinity requirements
|
|
specified by this field are not met at
|
|
scheduling time, the pod will not be scheduled
|
|
onto the node. If the anti-affinity requirements
|
|
specified by this field cease to be met
|
|
at some point during pod execution (e.g.
|
|
due to a pod label update), the system
|
|
may or may not try to eventually evict
|
|
the pod from its node. When there are
|
|
multiple elements, the lists of nodes
|
|
corresponding to each podAffinityTerm
|
|
are intersected, i.e. all terms must be
|
|
satisfied.
|
|
items:
|
|
description: Defines a set of pods (namely
|
|
those matching the labelSelector relative
|
|
to the given namespace(s)) that this
|
|
pod should be co-located (affinity)
|
|
or not co-located (anti-affinity) with,
|
|
where co-located is defined as running
|
|
on a node whose value of the label with
|
|
key <topologyKey> matches that of any
|
|
node on which a pod of the set of pods
|
|
is running
|
|
properties:
|
|
labelSelector:
|
|
description: A label query over a
|
|
set of resources, in this case pods.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaceSelector:
|
|
description: A label query over the
|
|
set of namespaces that the term
|
|
applies to. The term is applied
|
|
to the union of the namespaces selected
|
|
by this field and the ones listed
|
|
in the namespaces field. null selector
|
|
and null or empty namespaces list
|
|
means "this pod's namespace". An
|
|
empty selector ({}) matches all
|
|
namespaces. This field is alpha-level
|
|
and is only honored when PodAffinityNamespaceSelector
|
|
feature is enabled.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
description: namespaces specifies
|
|
a static list of namespace names
|
|
that the term applies to. The term
|
|
is applied to the union of the namespaces
|
|
listed in this field and the ones
|
|
selected by namespaceSelector. null
|
|
or empty namespaces list and null
|
|
namespaceSelector means "this pod's
|
|
namespace"
|
|
items:
|
|
type: string
|
|
type: array
|
|
topologyKey:
|
|
description: This pod should be co-located
|
|
(affinity) or not co-located (anti-affinity)
|
|
with the pods matching the labelSelector
|
|
in the specified namespaces, where
|
|
co-located is defined as running
|
|
on a node whose value of the label
|
|
with key topologyKey matches that
|
|
of any node on which any of the
|
|
selected pods is running. Empty
|
|
topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
type: object
|
|
type: object
|
|
hostNetwork:
|
|
default: false
|
|
description: HostNetwork defines whether the node
|
|
uses the host network. Default is true.
|
|
type: boolean
|
|
image:
|
|
description: Image is the image of xstore engine.
|
|
Controller should fill a default image if not
|
|
specified.
|
|
type: string
|
|
imagePullPolicy:
|
|
description: ImagePullPolicy describes a policy
|
|
for if/when to pull a container image (especially
|
|
for the engine container).
|
|
type: string
|
|
imagePullSecrets:
|
|
description: ImagePullSecrets represents the secrets
|
|
for pulling private images.
|
|
items:
|
|
description: LocalObjectReference contains enough
|
|
information to let you locate the referenced
|
|
object inside the same namespace.
|
|
properties:
|
|
name:
|
|
description: 'Name of the referent. More info:
|
|
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion,
|
|
kind, uid?'
|
|
type: string
|
|
type: object
|
|
type: array
|
|
resources:
|
|
description: Resources is the requested resources
|
|
of the node.
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Limits describes the maximum amount
|
|
of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
limits.io:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: ResourceList is a set of (resource
|
|
name, quantity) pairs.
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Requests describes the minimum
|
|
amount of compute resources required. If Requests
|
|
is omitted for a container, it defaults to
|
|
Limits if that is explicitly specified, otherwise
|
|
to an implementation-defined value. More info:
|
|
https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: array
|
|
template:
|
|
description: Template is the global node template of xstore.
|
|
properties:
|
|
metadata:
|
|
description: ObjectMeta is the metadata template only contains
|
|
labels and annotations.
|
|
properties:
|
|
annotations:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Annotations is an unstructured key value
|
|
map stored with a resource that may be set by external
|
|
tools to store and retrieve arbitrary metadata. They
|
|
are not queryable and should be preserved when modifying
|
|
objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
|
type: object
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
description: 'Map of string keys and values that can be
|
|
used to organize and categorize (scope and select) objects.
|
|
May match selectors of replication controllers and services.
|
|
More info: http://kubernetes.io/docs/user-guide/labels'
|
|
type: object
|
|
type: object
|
|
spec:
|
|
description: Spec is the specification of xstore node.
|
|
properties:
|
|
affinity:
|
|
description: Affinity defines the affinity of the node
|
|
(pod).
|
|
properties:
|
|
nodeAffinity:
|
|
description: Describes node affinity scheduling rules
|
|
for the pod.
|
|
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
|
|
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
|
|
type: array
|
|
required:
|
|
- nodeSelectorTerms
|
|
type: object
|
|
type: object
|
|
podAffinity:
|
|
description: Describes pod affinity scheduling rules
|
|
(e.g. co-locate this pod in the same node, zone,
|
|
etc. as some other pod(s)).
|
|
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 has
|
|
pods which matches the corresponding podAffinityTerm;
|
|
the node(s) with the highest sum are the most
|
|
preferred.
|
|
items:
|
|
description: The weights of all of the matched
|
|
WeightedPodAffinityTerm fields are added per-node
|
|
to find the most preferred node(s)
|
|
properties:
|
|
podAffinityTerm:
|
|
description: Required. A pod affinity term,
|
|
associated with the corresponding weight.
|
|
properties:
|
|
labelSelector:
|
|
description: A label query over a set
|
|
of resources, in this case pods.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaceSelector:
|
|
description: A label query over the
|
|
set of namespaces that the term applies
|
|
to. The term is applied to the union
|
|
of the namespaces selected by this
|
|
field and the ones listed in the namespaces
|
|
field. null selector and null or empty
|
|
namespaces list means "this pod's
|
|
namespace". An empty selector ({})
|
|
matches all namespaces. This field
|
|
is alpha-level and is only honored
|
|
when PodAffinityNamespaceSelector
|
|
feature is enabled.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
description: namespaces specifies a
|
|
static list of namespace names that
|
|
the term applies to. The term is applied
|
|
to the union of the namespaces listed
|
|
in this field and the ones selected
|
|
by namespaceSelector. null or empty
|
|
namespaces list and null namespaceSelector
|
|
means "this pod's namespace"
|
|
items:
|
|
type: string
|
|
type: array
|
|
topologyKey:
|
|
description: This pod should be co-located
|
|
(affinity) or not co-located (anti-affinity)
|
|
with the pods matching the labelSelector
|
|
in the specified namespaces, where
|
|
co-located is defined as running on
|
|
a node whose value of the label with
|
|
key topologyKey matches that of any
|
|
node on which any of the selected
|
|
pods is running. Empty topologyKey
|
|
is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
description: weight associated with matching
|
|
the corresponding podAffinityTerm, in
|
|
the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- 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 a pod label update),
|
|
the system may or may not try to eventually
|
|
evict the pod from its node. When there are
|
|
multiple elements, the lists of nodes corresponding
|
|
to each podAffinityTerm are intersected, i.e.
|
|
all terms must be satisfied.
|
|
items:
|
|
description: Defines a set of pods (namely those
|
|
matching the labelSelector relative to the
|
|
given namespace(s)) that this pod should be
|
|
co-located (affinity) or not co-located (anti-affinity)
|
|
with, where co-located is defined as running
|
|
on a node whose value of the label with key
|
|
<topologyKey> matches that of any node on
|
|
which a pod of the set of pods is running
|
|
properties:
|
|
labelSelector:
|
|
description: A label query over a set of
|
|
resources, in this case pods.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaceSelector:
|
|
description: A label query over the set
|
|
of namespaces that the term applies to.
|
|
The term is applied to the union of the
|
|
namespaces selected by this field and
|
|
the ones listed in the namespaces field.
|
|
null selector and null or empty namespaces
|
|
list means "this pod's namespace". An
|
|
empty selector ({}) matches all namespaces.
|
|
This field is alpha-level and is only
|
|
honored when PodAffinityNamespaceSelector
|
|
feature is enabled.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
description: namespaces specifies a static
|
|
list of namespace names that the term
|
|
applies to. The term is applied to the
|
|
union of the namespaces listed in this
|
|
field and the ones selected by namespaceSelector.
|
|
null or empty namespaces list and null
|
|
namespaceSelector means "this pod's namespace"
|
|
items:
|
|
type: string
|
|
type: array
|
|
topologyKey:
|
|
description: This pod should be co-located
|
|
(affinity) or not co-located (anti-affinity)
|
|
with the pods matching the labelSelector
|
|
in the specified namespaces, where co-located
|
|
is defined as running on a node whose
|
|
value of the label with key topologyKey
|
|
matches that of any node on which any
|
|
of the selected pods is running. Empty
|
|
topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
type: object
|
|
podAntiAffinity:
|
|
description: Describes pod anti-affinity scheduling
|
|
rules (e.g. avoid putting this pod in the same node,
|
|
zone, etc. as some other pod(s)).
|
|
properties:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
description: The scheduler will prefer to schedule
|
|
pods to nodes that satisfy the anti-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
|
|
anti-affinity expressions, etc.), compute a
|
|
sum by iterating through the elements of this
|
|
field and adding "weight" to the sum if the
|
|
node has pods which matches the corresponding
|
|
podAffinityTerm; the node(s) with the highest
|
|
sum are the most preferred.
|
|
items:
|
|
description: The weights of all of the matched
|
|
WeightedPodAffinityTerm fields are added per-node
|
|
to find the most preferred node(s)
|
|
properties:
|
|
podAffinityTerm:
|
|
description: Required. A pod affinity term,
|
|
associated with the corresponding weight.
|
|
properties:
|
|
labelSelector:
|
|
description: A label query over a set
|
|
of resources, in this case pods.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaceSelector:
|
|
description: A label query over the
|
|
set of namespaces that the term applies
|
|
to. The term is applied to the union
|
|
of the namespaces selected by this
|
|
field and the ones listed in the namespaces
|
|
field. null selector and null or empty
|
|
namespaces list means "this pod's
|
|
namespace". An empty selector ({})
|
|
matches all namespaces. This field
|
|
is alpha-level and is only honored
|
|
when PodAffinityNamespaceSelector
|
|
feature is enabled.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
description: namespaces specifies a
|
|
static list of namespace names that
|
|
the term applies to. The term is applied
|
|
to the union of the namespaces listed
|
|
in this field and the ones selected
|
|
by namespaceSelector. null or empty
|
|
namespaces list and null namespaceSelector
|
|
means "this pod's namespace"
|
|
items:
|
|
type: string
|
|
type: array
|
|
topologyKey:
|
|
description: This pod should be co-located
|
|
(affinity) or not co-located (anti-affinity)
|
|
with the pods matching the labelSelector
|
|
in the specified namespaces, where
|
|
co-located is defined as running on
|
|
a node whose value of the label with
|
|
key topologyKey matches that of any
|
|
node on which any of the selected
|
|
pods is running. Empty topologyKey
|
|
is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
weight:
|
|
description: weight associated with matching
|
|
the corresponding podAffinityTerm, in
|
|
the range 1-100.
|
|
format: int32
|
|
type: integer
|
|
required:
|
|
- podAffinityTerm
|
|
- weight
|
|
type: object
|
|
type: array
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
description: If the anti-affinity requirements
|
|
specified by this field are not met at scheduling
|
|
time, the pod will not be scheduled onto the
|
|
node. If the anti-affinity requirements specified
|
|
by this field cease to be met at some point
|
|
during pod execution (e.g. due to a pod label
|
|
update), the system may or may not try to eventually
|
|
evict the pod from its node. When there are
|
|
multiple elements, the lists of nodes corresponding
|
|
to each podAffinityTerm are intersected, i.e.
|
|
all terms must be satisfied.
|
|
items:
|
|
description: Defines a set of pods (namely those
|
|
matching the labelSelector relative to the
|
|
given namespace(s)) that this pod should be
|
|
co-located (affinity) or not co-located (anti-affinity)
|
|
with, where co-located is defined as running
|
|
on a node whose value of the label with key
|
|
<topologyKey> matches that of any node on
|
|
which a pod of the set of pods is running
|
|
properties:
|
|
labelSelector:
|
|
description: A label query over a set of
|
|
resources, in this case pods.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaceSelector:
|
|
description: A label query over the set
|
|
of namespaces that the term applies to.
|
|
The term is applied to the union of the
|
|
namespaces selected by this field and
|
|
the ones listed in the namespaces field.
|
|
null selector and null or empty namespaces
|
|
list means "this pod's namespace". An
|
|
empty selector ({}) matches all namespaces.
|
|
This field is alpha-level and is only
|
|
honored when PodAffinityNamespaceSelector
|
|
feature is enabled.
|
|
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
|
|
x-kubernetes-map-type: atomic
|
|
namespaces:
|
|
description: namespaces specifies a static
|
|
list of namespace names that the term
|
|
applies to. The term is applied to the
|
|
union of the namespaces listed in this
|
|
field and the ones selected by namespaceSelector.
|
|
null or empty namespaces list and null
|
|
namespaceSelector means "this pod's namespace"
|
|
items:
|
|
type: string
|
|
type: array
|
|
topologyKey:
|
|
description: This pod should be co-located
|
|
(affinity) or not co-located (anti-affinity)
|
|
with the pods matching the labelSelector
|
|
in the specified namespaces, where co-located
|
|
is defined as running on a node whose
|
|
value of the label with key topologyKey
|
|
matches that of any node on which any
|
|
of the selected pods is running. Empty
|
|
topologyKey is not allowed.
|
|
type: string
|
|
required:
|
|
- topologyKey
|
|
type: object
|
|
type: array
|
|
type: object
|
|
type: object
|
|
hostNetwork:
|
|
default: false
|
|
description: HostNetwork defines whether the node uses
|
|
the host network. Default is true.
|
|
type: boolean
|
|
image:
|
|
description: Image is the image of xstore engine. Controller
|
|
should fill a default image if not specified.
|
|
type: string
|
|
imagePullPolicy:
|
|
description: ImagePullPolicy describes a policy for if/when
|
|
to pull a container image (especially for the engine
|
|
container).
|
|
type: string
|
|
imagePullSecrets:
|
|
description: ImagePullSecrets represents the secrets for
|
|
pulling private images.
|
|
items:
|
|
description: LocalObjectReference contains enough information
|
|
to let you locate the referenced object inside the
|
|
same namespace.
|
|
properties:
|
|
name:
|
|
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind,
|
|
uid?'
|
|
type: string
|
|
type: object
|
|
type: array
|
|
resources:
|
|
description: Resources is the requested resources of the
|
|
node.
|
|
properties:
|
|
limits:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Limits describes the maximum amount
|
|
of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
limits.io:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: ResourceList is a set of (resource name,
|
|
quantity) pairs.
|
|
type: object
|
|
requests:
|
|
additionalProperties:
|
|
anyOf:
|
|
- type: integer
|
|
- type: string
|
|
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
|
x-kubernetes-int-or-string: true
|
|
description: 'Requests describes the minimum amount
|
|
of compute resources required. If Requests is omitted
|
|
for a container, it defaults to Limits if that is
|
|
explicitly specified, otherwise to an implementation-defined
|
|
value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
type: object
|
|
parameterName:
|
|
description: ParameterName
|
|
type: string
|
|
phase:
|
|
description: Phase is the current phase of the xstore.
|
|
type: string
|
|
podPorts:
|
|
additionalProperties:
|
|
additionalProperties:
|
|
format: int32
|
|
type: integer
|
|
type: object
|
|
description: PodPorts represents the ports allocated (for host network)
|
|
type: object
|
|
randHash:
|
|
description: Rand represents a random string value to avoid collision.
|
|
type: string
|
|
readyPods:
|
|
description: ReadyPods represents the number of ready pods.
|
|
format: int32
|
|
type: integer
|
|
readyStatus:
|
|
description: ReadyStatus represents the status of ready pods.
|
|
type: string
|
|
restarting:
|
|
description: Restarting represents if pods need restart
|
|
type: boolean
|
|
restartingPods:
|
|
description: RestartingPods represents pods need to restart
|
|
properties:
|
|
lastDeletedPod:
|
|
type: string
|
|
toDeletePod:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
restartingType:
|
|
description: Restarting represents pods restarting type
|
|
type: string
|
|
stage:
|
|
description: Stage is the current stage in phase of the xstore.
|
|
type: string
|
|
totalDataDirSize:
|
|
description: TotalDataDirSize represents the total size of data dirs
|
|
over all nodes.
|
|
type: string
|
|
totalPods:
|
|
description: TotalPods represents the total number of pods.
|
|
format: int32
|
|
type: integer
|
|
updateConfigMap:
|
|
description: UpdateConfigMap represents update cm.cnf.override in
|
|
config map
|
|
type: boolean
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|