-
Notifications
You must be signed in to change notification settings - Fork 386
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #649 from justzx2011/main
crd for k8s v1.13.12
Showing
13 changed files
with
4,286 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
290
deploy/manifests_1.13/analysis.crane.io_recommendationrules.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
319
deploy/manifests_1.13/analysis.crane.io_recommendations.yaml
Large diffs are not rendered by default.
Oops, something went wrong.
930 changes: 930 additions & 0 deletions
930
deploy/manifests_1.13/autoscaling.crane.io_effectivehorizontalpodautoscalers.yaml
Large diffs are not rendered by default.
Oops, something went wrong.
503 changes: 503 additions & 0 deletions
503
deploy/manifests_1.13/autoscaling.crane.io_effectiveverticalpodautoscalers.yaml
Large diffs are not rendered by default.
Oops, something went wrong.
102 changes: 102 additions & 0 deletions
102
deploy/manifests_1.13/autoscaling.crane.io_substitutes.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
107
deploy/manifests_1.13/ensurance.crane.io_avoidanceactions.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: [] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: [] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
337
deploy/manifests_1.13/prediction.crane.io_clusternodepredictions.yaml
Large diffs are not rendered by default.
Oops, something went wrong.
393 changes: 393 additions & 0 deletions
393
deploy/manifests_1.13/prediction.crane.io_timeseriespredictions.yaml
Large diffs are not rendered by default.
Oops, something went wrong.
180 changes: 180 additions & 0 deletions
180
deploy/manifests_1.13/topology.crane.io_noderesourcetopologies.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: [] |