Skip to content

Commit

Permalink
Merge pull request #649 from justzx2011/main
Browse files Browse the repository at this point in the history
crd for k8s v1.13.12
qmhu authored Dec 13, 2022

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
2 parents a4088c7 + ab49427 commit 4dad049
Showing 13 changed files with 4,286 additions and 0 deletions.
357 changes: 357 additions & 0 deletions deploy/manifests_1.13/analysis.crane.io_analytics.yaml

Large diffs are not rendered by default.

66 changes: 66 additions & 0 deletions deploy/manifests_1.13/analysis.crane.io_configsets.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: ""
creationTimestamp: null
name: configsets.analysis.crane.io
spec:
group: analysis.crane.io
names:
kind: ConfigSet
listKind: ConfigSetList
plural: configsets
shortNames:
- cs
singular: configset
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: ConfigSet represents the configuration set for recommendation.
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
configs:
items:
properties:
properties:
additionalProperties:
type: string
type: object
targets:
items:
properties:
kind:
type: string
name:
type: string
namespace:
type: string
type: object
type: array
type: object
type: array
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
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
290 changes: 290 additions & 0 deletions deploy/manifests_1.13/analysis.crane.io_recommendationrules.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,290 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: ""
creationTimestamp: null
name: recommendationrules.analysis.crane.io
spec:
group: analysis.crane.io
names:
kind: RecommendationRule
listKind: RecommendationRuleList
plural: recommendationrules
shortNames:
- rr
singular: recommendationrule
scope: Cluster
versions:
- additionalPrinterColumns:
- jsonPath: .spec.runInterval
name: RunInterval
type: string
- description: CreationTimestamp is a timestamp representing the server time when
this object was created.
jsonPath: .metadata.creationTimestamp
name: AGE
type: date
name: v1alpha1
schema:
openAPIV3Schema:
description: RecommendationRule represents the configuration of an RecommendationRule
object.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: RecommendationRuleSpec defines resources and runInterval
to recommend
properties:
namespaceSelector:
description: NamespaceSelector indicates resource namespaces to select
from
properties:
any:
description: Select all namespace if true
type: boolean
matchNames:
description: List of namespace names to select from.
items:
type: string
type: array
type: object
recommenders:
description: List of recommender type to run
items:
description: Recommender referring to the Recommender in RecommendationConfiguration
properties:
name:
description: Recommender's Name
type: string
required:
- name
type: object
type: array
resourceSelectors:
description: ResourceSelector indicates how to select resources(e.g.
a set of Deployments) for a Recommendation.
items:
description: ResourceSelector describes how the resources will be
selected.
properties:
apiVersion:
description: API version of the resource, e.g. "apps/v1"
type: string
kind:
description: Kind of the resource, e.g. Deployment
type: string
labelSelector:
description: A label selector is a label query over a set of
resources. The result of matchLabels and matchExpressions
are ANDed. An empty label selector matches all objects. A
null label selector matches no objects.
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
name:
description: Name of the resource.
type: string
required:
- kind
type: object
type: array
runInterval:
description: RunInterval between two recommendation
type: string
required:
- namespaceSelector
- recommenders
- resourceSelectors
type: object
status:
description: RecommendationRuleStatus represents the current state of
an RecommendationRule item.
properties:
lastUpdateTime:
description: LastUpdateTime is the last time the status updated.
format: date-time
type: string
recommendations:
description: Recommendations is a list of RecommendationMission that
run parallel.
items:
properties:
apiVersion:
description: API version of the referent.
type: string
fieldPath:
description: 'If referring to a piece of an object instead of
an entire object, this string should contain a valid JSON/Go
field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of
an object. TODO: this design is not final and this field is
subject to change in the future.'
type: string
kind:
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
lastStartTime:
description: LastStartTime is last time we start a recommendation
mission.
format: date-time
type: string
message:
description: Message presents the running message for this mission
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
recommenderRef:
description: RecommenderRef presents recommender info for recommendation
mission.
properties:
name:
description: Recommender's Name
type: string
required:
- name
type: object
resourceVersion:
description: 'Specific resourceVersion to which this reference
is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
type: string
targetRef:
description: 'ObjectReference contains enough information to
let you inspect or modify the referred object. --- New uses
of this type are discouraged because of difficulty describing
its usage when embedded in APIs. 1. Ignored fields. It includes
many fields which are not generally honored. For instance,
ResourceVersion and FieldPath are both very rarely valid in
actual usage. 2. Invalid usage help. It is impossible to
add specific help for individual usage. In most embedded
usages, there are particular restrictions like, "must
refer only to types A and B" or "UID not honored" or "name
must be restricted". Those cannot be well described when
embedded. 3. Inconsistent validation. Because the usages
are different, the validation rules are different by usage,
which makes it hard for users to predict what will happen. 4.
The fields are both imprecise and overly precise. Kind is
not a precise mapping to a URL. This can produce ambiguity during
interpretation and require a REST mapping. In most cases,
the dependency is on the group,resource tuple and the
version of the actual struct is irrelevant. 5. We cannot
easily change it. Because this type is embedded in many locations,
updates to this type will affect numerous schemas. Don''t
make new APIs embed an underspecified API type they do not
control. Instead of using this type, create a locally provided
and used type that is well-focused on your reference. For
example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
.'
properties:
apiVersion:
description: API version of the referent.
type: string
fieldPath:
description: 'If referring to a piece of an object instead
of an entire object, this string should contain a valid
JSON/Go field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container
within a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that
triggered the event) or if no container name is specified
"spec.containers[2]" (container with index 2 in this pod).
This syntax is chosen only to have some well-defined way
of referencing a part of an object. TODO: this design
is not final and this field is subject to change in the
future.'
type: string
kind:
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
resourceVersion:
description: 'Specific resourceVersion to which this reference
is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
type: string
uid:
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
type: string
type: object
uid:
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
type: string
type: object
type: array
x-kubernetes-list-type: atomic
type: object
type: object
served: true
storage: true
subresources: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
319 changes: 319 additions & 0 deletions deploy/manifests_1.13/analysis.crane.io_recommendations.yaml

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

102 changes: 102 additions & 0 deletions deploy/manifests_1.13/autoscaling.crane.io_substitutes.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: ""
creationTimestamp: null
name: substitutes.autoscaling.crane.io
spec:
group: autoscaling.crane.io
names:
kind: Substitute
listKind: SubstituteList
plural: substitutes
shortNames:
- subs
singular: substitute
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: The replicas presents the dryRun result.
jsonPath: .status.replicas
name: REPLICAS
type: integer
- description: CreationTimestamp is a timestamp representing the server time when
this object was created.
jsonPath: .metadata.creationTimestamp
name: AGE
type: date
name: v1alpha1
schema:
openAPIV3Schema:
description: Substitute is the Schema for the Substitute API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: SubstituteSpec defines the desired spec of Substitute
properties:
replicas:
description: Replicas is used by presents dryRun replicas for SubstituteTargetRef.
format: int32
type: integer
substituteTargetRef:
description: SubstituteTargetRef is the reference to the workload
that should be Substituted.
properties:
apiVersion:
description: API version of the referent
type: string
kind:
description: 'Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"'
type: string
name:
description: 'Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names'
type: string
required:
- kind
- name
type: object
required:
- substituteTargetRef
type: object
status:
description: SubstituteStatus defines the status of Substitute
properties:
labelSelector:
description: LabelSelector is label selectors that is sync with SubstituteTargetRef's
labelSelector which used by HPA.
type: string
replicas:
description: Replicas is used by presents dryRun replicas for SubstituteTargetRef.
status.replicas should be equal to spec.replicas.
format: int32
type: integer
type: object
type: object
served: true
storage: true
subresources:
scale:
labelSelectorPath: .status.labelSelector
specReplicasPath: .spec.replicas
statusReplicasPath: .status.replicas
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
107 changes: 107 additions & 0 deletions deploy/manifests_1.13/ensurance.crane.io_avoidanceactions.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: ""
creationTimestamp: null
name: avoidanceactions.ensurance.crane.io
spec:
group: ensurance.crane.io
names:
kind: AvoidanceAction
listKind: AvoidanceActionList
plural: avoidanceactions
shortNames:
- avoid
singular: avoidanceaction
scope: Cluster
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: AvoidanceAction defines Avoidance action
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:
coolDownSeconds:
default: 300
description: CoolDownSeconds is the seconds for cool down when do
avoidance. Defaults to 300. Minimum value is 1.
format: int32
type: integer
description:
description: Description is an arbitrary string that usually provides
guidelines on when this action should be used.
maxLength: 1024
type: string
eviction:
description: Eviction describes the eviction action
properties:
terminationGracePeriodSeconds:
description: TerminationGracePeriodSeconds is the duration in
seconds the pod needs to terminate gracefully. May be decreased
in delete request. If this value is nil, the pod's terminationGracePeriodSeconds
will be used. Otherwise, this value overrides the value provided
by the pod spec. Value must be non-negative integer. The value
zero indicates delete immediately.
format: int32
type: integer
type: object
throttle:
description: Throttle describes the throttling action
properties:
cpuThrottle:
properties:
minCPURatio:
description: 'MinCPURatio is the min of cpu ratio for low
level pods, for example: the pod limit is 4096, ratio is
10, the minimum is 409. MinCPURatio range [0,100]'
format: int32
maximum: 100
minimum: 0
type: integer
stepCPURatio:
description: StepCPURatio is the step of cpu share and limit
for once down-size. StepCPURatio range [0,100]
format: int32
maximum: 100
minimum: 0
type: integer
type: object
memoryThrottle:
properties:
forceGC:
description: ForceGC means force gc page cache for pods with
low priority
type: boolean
type: object
type: object
type: object
status:
description: AvoidanceActionStatus defines the desired status of AvoidanceAction
type: object
required:
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
339 changes: 339 additions & 0 deletions deploy/manifests_1.13/ensurance.crane.io_nodeqoss.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,339 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: ""
creationTimestamp: null
name: nodeqoss.ensurance.crane.io
spec:
group: ensurance.crane.io
names:
kind: NodeQOS
listKind: NodeQOSList
plural: nodeqoss
shortNames:
- nq
singular: nodeqos
scope: Cluster
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: NodeQOS is the Schema for the nodeqos API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: NodeQOSSpec defines the desired status of NodeQOS
properties:
elasticCpuLimit:
description: ElasticCpuLimit is the cpu limit for workloads using
elastic cpu in the node
properties:
elasticCoreCpuLimit:
description: Limit the amount of single core CPU that can be used
by workloads which use extended resource
items:
properties:
coreNum:
type: string
percent:
format: int64
type: integer
type: object
type: array
elasticCoreCpuLimitPeriod:
description: Limit the amount of single core CPU and its corresponding
time that can be used by workloads which use extended resource
items:
properties:
coreNum:
type: string
offlineCpuLimit:
type: string
percent:
format: int64
type: integer
type: object
type: array
elasticCpuAvoidance:
description: Workloads which use extended resource only run on
CPUs where high priority tasks are not running
properties:
enable:
type: boolean
type: object
elasticNodeCpuLimit:
description: ElasticNodeCpuLimit is the total cpu usage limit
for the workloads which use extended resource in node Suppress
the workloads which use extended resource when the CPU usage
of the node exceedes ElasticNodeCpuLimit
properties:
percent:
format: int64
type: integer
type: object
type: object
memLimit:
description: MemoryLimit is the mem limit in the node
properties:
pageCacheLimitGlobal:
type: boolean
pageCacheLimitRetryTimes:
format: int64
type: integer
type: object
netLimits:
description: NetLimits is the net IO limit in the node
properties:
rxBpsMax:
format: int64
type: integer
rxBpsMin:
format: int64
type: integer
txBpsMax:
format: int64
type: integer
txBpsMin:
format: int64
type: integer
required:
- rxBpsMax
- rxBpsMin
- txBpsMax
- txBpsMin
type: object
nodeQualityProbe:
description: NodeQualityProbe defines the way to probe a node
properties:
httpGet:
description: HTTPGet specifies the http request to perform.
properties:
host:
description: Host name to connect to, defaults to the pod
IP. You probably want to set "Host" in httpHeaders instead.
type: string
httpHeaders:
description: Custom headers to set in the request. HTTP allows
repeated headers.
items:
description: HTTPHeader describes a custom header to be
used in HTTP probes
properties:
name:
description: The header field name
type: string
value:
description: The header field value
type: string
required:
- name
- value
type: object
type: array
path:
description: Path to access on the HTTP server.
type: string
port:
anyOf:
- type: integer
- type: string
description: Name or number of the port to access on the container.
Number must be in the range 1 to 65535. Name must be an
IANA_SVC_NAME.
x-kubernetes-int-or-string: true
scheme:
description: Scheme to use for connecting to the host. Defaults
to HTTP.
type: string
required:
- port
type: object
nodeLocalGet:
description: NodeLocalGet specifies how to request node local
properties:
localCacheTTLSeconds:
default: 60
description: LocalCacheTTLSeconds is the cache expired time.
Defaults to 60
format: int32
type: integer
type: object
timeoutSeconds:
description: TimeoutSeconds is the timeout for request. Defaults
to 0, no timeout forever.
format: int32
type: integer
type: object
rules:
description: Rules is an array of Rules and its corresponding action
items:
properties:
actionName:
description: Avoidance action to be executed when the rule triggered
type: string
avoidanceThreshold:
default: 1
description: How many times the rule is reach, to trigger avoidance
action. Defaults to 1. Minimum value is 1.
format: int32
type: integer
metricRule:
description: Metric rule define the metric identifier and target
properties:
name:
description: Name is the name of the given metric
type: string
selector:
description: Selector is the selector for the given metric
it is the string-encoded form of a standard kubernetes
label selector
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
value:
anyOf:
- type: integer
- type: string
description: Value is the target value of the metric (as
a quantity).
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
required:
- name
type: object
name:
description: Name of the objective ensurance
type: string
restoreThreshold:
default: 1
description: How many times the rule can restore. Defaults to
1. Minimum value is 1.
format: int32
type: integer
strategy:
default: None
description: Action only preview, not to do the real action.
Default AvoidanceActionStrategy is None.
enum:
- None
- Preview
type: string
required:
- actionName
type: object
type: array
selector:
description: Selector is a label query over pods that should match
the policy
properties:
matchExpressions:
description: matchExpressions is a list of label selector requirements.
The requirements are ANDed.
items:
description: A label selector requirement is a selector that
contains values, a key, and an operator that relates the key
and values.
properties:
key:
description: key is the label key that the selector applies
to.
type: string
operator:
description: operator represents a key's relationship to
a set of values. Valid operators are In, NotIn, Exists
and DoesNotExist.
type: string
values:
description: values is an array of string values. If the
operator is In or NotIn, the values array must be non-empty.
If the operator is Exists or DoesNotExist, the values
array must be empty. This array is replaced during a strategic
merge patch.
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs. A single
{key,value} in the matchLabels map is equivalent to an element
of matchExpressions, whose key field is "key", the operator
is "In", and the values array contains only "value". The requirements
are ANDed.
type: object
type: object
type: object
status:
description: NodeQOSEnsurancePolicyStatus defines the observed status
of NodeQOSEnsurancePolicy
type: object
required:
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
363 changes: 363 additions & 0 deletions deploy/manifests_1.13/ensurance.crane.io_podqoss.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,363 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: ""
creationTimestamp: null
name: podqoss.ensurance.crane.io
spec:
group: ensurance.crane.io
names:
kind: PodQOS
listKind: PodQOSList
plural: podqoss
shortNames:
- pq
singular: podqos
scope: Cluster
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
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:
allowedActions:
description: 'AllowedActions limits the set of actions that the pods
is allowed to perform by NodeQOS Example: ["Throttle", "Evict"]'
items:
type: string
type: array
labelSelector:
description: LabelSelector is a label query over pods that should
match the PodQOS
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
podQualityProbe:
description: QualityProbe defines the way to probe a pod
properties:
httpGet:
description: HTTPGet specifies the http request to perform.
properties:
host:
description: Host name to connect to, defaults to the pod
IP. You probably want to set "Host" in httpHeaders instead.
type: string
httpHeaders:
description: Custom headers to set in the request. HTTP allows
repeated headers.
items:
description: HTTPHeader describes a custom header to be
used in HTTP probes
properties:
name:
description: The header field name
type: string
value:
description: The header field value
type: string
required:
- name
- value
type: object
type: array
path:
description: Path to access on the HTTP server.
type: string
port:
anyOf:
- type: integer
- type: string
description: Name or number of the port to access on the container.
Number must be in the range 1 to 65535. Name must be an
IANA_SVC_NAME.
x-kubernetes-int-or-string: true
scheme:
description: Scheme to use for connecting to the host. Defaults
to HTTP.
type: string
required:
- port
type: object
timeoutSeconds:
description: TimeoutSeconds is the timeout for request. Defaults
to 0, no timeout forever
format: int32
type: integer
type: object
resourceQOS:
description: ResourceQOS describe the QOS limit for cpu,memory,netIO,diskIO
and so on.
properties:
cpuQOS:
properties:
containerPriority:
additionalProperties:
format: int32
type: integer
type: object
containerRdt:
additionalProperties:
properties:
l3:
additionalProperties:
type: string
type: object
mb:
additionalProperties:
type: string
type: object
type: object
type: object
cpuBurst:
properties:
burstQuota:
description: BurstQuota define the burst quota for the
pods.
type: string
type: object
cpuPriority:
description: CPUPriority define the cpu priority for the pods.
CPUPriority range [0,7], 0 is the highest level. When the
cpu resource is shortage, the low level pods would be throttled
format: int32
maximum: 7
minimum: 0
type: integer
cpuSet:
properties:
cpuSet:
description: 'none/exclusive/share Provide three polices
for cpuset manager: - none: containers of this pod shares
a set of cpus which not allocated to exclusive containers
- exclusive: containers of this pod monopolize the
allocated CPUs , other containers not allowed to use.
- share: containers of this pod runs in theallocated CPUs
, but other containers can also use.'
type: string
type: object
htIsolation:
properties:
enable:
type: boolean
type: object
rdt:
properties:
l3:
additionalProperties:
type: string
type: object
mb:
additionalProperties:
type: string
type: object
type: object
type: object
diskIOQOS:
properties:
diskIOLimit:
properties:
readBps:
format: int64
type: integer
readIOps:
format: int64
type: integer
writeBps:
format: int64
type: integer
writeIOps:
format: int64
type: integer
type: object
diskIOWeight:
properties:
weight:
format: int64
type: integer
type: object
type: object
memoryQOS:
properties:
memAsyncReclaim:
properties:
asyncDistanceFactor:
format: int64
type: integer
asyncRatio:
format: int64
type: integer
required:
- asyncDistanceFactor
- asyncRatio
type: object
memPageCacheLimit:
properties:
pageCacheMaxRatio:
format: int64
type: integer
pageCacheReclaimRatio:
format: int64
type: integer
required:
- pageCacheMaxRatio
- pageCacheReclaimRatio
type: object
memWatermark:
description: MemWatermark to set memory watermark priority
properties:
watermarkRatio:
type: integer
required:
- watermarkRatio
type: object
type: object
netIOQOS:
properties:
containersPriority:
additionalProperties:
format: int64
type: integer
type: object
devNetIOLimits:
additionalProperties:
properties:
rxBps:
format: int64
type: integer
txBps:
format: int64
type: integer
required:
- rxBps
- txBps
type: object
type: object
netIOLimits:
properties:
rxBps:
format: int64
type: integer
txBps:
format: int64
type: integer
required:
- rxBps
- txBps
type: object
netIOPriority:
format: int64
type: integer
whitelistPorts:
properties:
lports:
type: string
rports:
type: string
required:
- lports
- rports
type: object
type: object
type: object
scopeSelector:
description: A scope selector represents the AND of the selectors
represented by the scoped-resource selector requirements.
properties:
matchExpressions:
description: A list of scope selector requirements by scope of
the resources.
items:
description: A scoped-resource selector requirement is a selector
that contains values, a scope name, and an operator that relates
the scope name and values.
properties:
operator:
description: Represents a scope's relationship to a set
of values. Valid operators are In, NotIn.
type: string
scopeName:
description: The name of the scope that the selector applies
to.
type: string
values:
description: An array of string values. If the operator
is In or NotIn, the values array must be non-empty. This
array is replaced during a strategic merge patch.
items:
type: string
type: array
required:
- operator
- scopeName
type: object
type: array
type: object
type: object
status:
type: object
required:
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
337 changes: 337 additions & 0 deletions deploy/manifests_1.13/prediction.crane.io_clusternodepredictions.yaml

Large diffs are not rendered by default.

393 changes: 393 additions & 0 deletions deploy/manifests_1.13/prediction.crane.io_timeseriespredictions.yaml

Large diffs are not rendered by default.

180 changes: 180 additions & 0 deletions deploy/manifests_1.13/topology.crane.io_noderesourcetopologies.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: ""
creationTimestamp: null
name: noderesourcetopologies.topology.crane.io
spec:
group: topology.crane.io
names:
kind: NodeResourceTopology
listKind: NodeResourceTopologyList
plural: noderesourcetopologies
shortNames:
- nrt
singular: noderesourcetopology
scope: Cluster
versions:
- additionalPrinterColumns:
- description: CPUManagerPolicy represents policy of the crane agent cpu manager.
jsonPath: .craneAgentConfiguration.cpuManagerPolicy
name: CRANE CPU MANAGER POLICY
type: string
- description: TopologyManagerPolicy represents policy of the crane agent resource
management component. Defaults to SingleNUMANodePodLevel.
jsonPath: .craneAgentConfiguration.topologyManagerPolicy
name: CRANE TOPOLOGY MANAGER POLICY
type: string
- description: CreationTimestamp is a timestamp representing the server time when
this object was created.
jsonPath: .metadata.creationTimestamp
name: AGE
type: date
name: v1alpha1
schema:
openAPIV3Schema:
description: NodeResourceTopology describes node resources and their topology.
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
attributes:
additionalProperties:
type: string
description: Attributes represents node attributes if any.
type: object
craneManagerPolicy:
description: CraneManagerPolicy describes the associated manager policy
of crane agent.
properties:
cpuManagerPolicy:
description: CPUManagerPolicy represents policy of the crane agent
cpu manager.
enum:
- None
- Static
type: string
topologyManagerPolicy:
default: SingleNUMANodePodLevel
description: TopologyManagerPolicy represents policy of the crane
agent resource management component. Defaults to SingleNUMANodePodLevel.
enum:
- None
- SingleNUMANodePodLevel
type: string
required:
- cpuManagerPolicy
- topologyManagerPolicy
type: object
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
reserved:
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: Reserved describes resources reserved for system and kubernetes
components.
type: object
zones:
description: Zones represents all resource topology zones of a node.
items:
description: Zone represents a resource topology zone, e.g. socket,
node, die or core.
properties:
attributes:
additionalProperties:
type: string
description: Attributes represents zone attributes if any.
type: object
costs:
description: Costs represents the cost between different zones.
items:
description: CostInfo describes the cost (or distance) between
two Zones.
properties:
name:
description: Name represents the zone name.
type: string
value:
description: Value represents the cost value.
format: int64
type: integer
required:
- name
- value
type: object
type: array
name:
description: Name represents the zone name.
type: string
parent:
description: Parent represents the name of parent zone.
type: string
resources:
description: Resources represents the resource info of the zone.
properties:
allocatable:
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: Allocatable quantity of the resource, corresponding
to allocatable in node status, i.e. total amount of this resource
available to be used by pods.
type: object
capacity:
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: Capacity of the resource, corresponding to capacity
in node status, i.e. total amount of this resource that the
node has.
type: object
reservedCPUNums:
description: ReservedCPUNums specifies the cpu numbers reserved
for the host level system threads and kubernetes related threads.
format: int32
type: integer
type: object
type:
description: Type represents the zone type.
enum:
- Node
- Socket
- Core
type: string
required:
- name
- type
type: object
type: array
required:
- craneManagerPolicy
type: object
served: true
storage: true
subresources: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []

0 comments on commit 4dad049

Please sign in to comment.