diff --git a/content/zh/docs/concepts/configuration/manage-resources-containers.md b/content/zh/docs/concepts/configuration/manage-resources-containers.md index 8ce9ef3f71..e019c5180a 100644 --- a/content/zh/docs/concepts/configuration/manage-resources-containers.md +++ b/content/zh/docs/concepts/configuration/manage-resources-containers.md @@ -134,8 +134,7 @@ This is different from the `memory` and `cpu` resources. {{< /note >}} #### 集群层面的扩展资源 {#cluster-level-extended-resources} 集群层面的扩展资源并不绑定到具体节点。 它们通常由调度器扩展程序(Scheduler Extenders)管理,这些程序处理资源消耗和资源配额。 -你可以在[调度器策略配置](https://github.com/kubernetes/kubernetes/blob/release-1.10/pkg/scheduler/api/v1/types.go#L31) +你可以在[调度器策略配置](/zh/docs/reference/config-api/kube-scheduler-policy-config.v1/) 中指定由调度器扩展程序处理的扩展资源。 * 获取[分配内存资源给容器和 Pod ](/zh/docs/tasks/configure-pod-container/assign-memory-resource/) 的实践经验 @@ -1300,4 +1296,5 @@ You can see that the Container was terminated because of `reason:OOM Killed`, wh * 阅读 API 参考文档中 [Container](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core) 部分。 * 阅读 API 参考文档中 [ResourceRequirements](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#resourcerequirements-v1-core) 部分。 * 阅读 XFS 中关于[项目配额](https://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/xfs-quotas.html) 的文档。 +* 阅读更多关于[kube-scheduler 策略参考 (v1)](/zh/docs/reference/config-api/kube-scheduler-policy-config.v1/) 的文档。 diff --git a/content/zh/docs/reference/config-api/kube-scheduler-policy-config.v1.md b/content/zh/docs/reference/config-api/kube-scheduler-policy-config.v1.md new file mode 100644 index 0000000000..e694f7ecbc --- /dev/null +++ b/content/zh/docs/reference/config-api/kube-scheduler-policy-config.v1.md @@ -0,0 +1,799 @@ +--- +title: kube-scheduler Policy Configuration (v1) +content_type: tool-reference +package: kubescheduler.config.k8s.io/v1 +auto_generated: true +--- + + +## Resource Types + + +- [Policy](#kubescheduler-config-k8s-io-v1-Policy) + + + + +## `Policy` {#kubescheduler-config-k8s-io-v1-Policy} + + + + + +Policy describes a struct for a policy resource used in api. + +
Field | Description |
---|---|
apiVersion string | kubescheduler.config.k8s.io/v1 |
kind string | Policy |
predicates [Required]+ []PredicatePolicy
+ |
++ Holds the information to configure the fit predicate functions | +
priorities [Required]+ []PriorityPolicy
+ |
++ Holds the information to configure the priority functions | +
extenders [Required]+ []LegacyExtender
+ |
++ Holds the information to communicate with the extender(s) | +
hardPodAffinitySymmetricWeight [Required]+ int32
+ |
++ RequiredDuringScheduling affinity is not symmetric, but there is an implicit PreferredDuringScheduling affinity rule +corresponding to every RequiredDuringScheduling affinity rule. +HardPodAffinitySymmetricWeight represents the weight of implicit PreferredDuringScheduling affinity rule, in the range 1-100. | +
alwaysCheckAllPredicates [Required]+ bool
+ |
++ When AlwaysCheckAllPredicates is set to true, scheduler checks all +the configured predicates even after one or more of them fails. +When the flag is set to false, scheduler skips checking the rest +of the predicates after it finds one predicate that failed. | +
Field | Description |
---|---|
name [Required]+ string
+ |
++ Name is the extended resource name. | +
ignoredByScheduler [Required]+ bool
+ |
++ IgnoredByScheduler indicates whether kube-scheduler should ignore this +resource when applying predicates. | +
Field | Description |
---|---|
insecure [Required]+ bool
+ |
++ Server should be accessed without verifying the TLS certificate. For testing only. | +
serverName [Required]+ string
+ |
++ ServerName is passed to the server for SNI and is used in the client to check server +certificates against. If ServerName is empty, the hostname used to contact the +server is used. | +
certFile [Required]+ string
+ |
++ Server requires TLS client certificate authentication | +
keyFile [Required]+ string
+ |
++ Server requires TLS client certificate authentication | +
caFile [Required]+ string
+ |
++ Trusted root certificates for server | +
certData [Required]+ []byte
+ |
++ CertData holds PEM-encoded bytes (typically read from a client certificate file). +CertData takes precedence over CertFile | +
keyData [Required]+ []byte
+ |
++ KeyData holds PEM-encoded bytes (typically read from a client certificate key file). +KeyData takes precedence over KeyFile | +
caData [Required]+ []byte
+ |
++ CAData holds PEM-encoded bytes (typically read from a root certificates bundle). +CAData takes precedence over CAFile | +
Field | Description |
---|---|
label [Required]+ string
+ |
++ Used to identify node "groups" | +
presence [Required]+ bool
+ |
++ This is a boolean flag +If true, higher priority is given to nodes that have the label +If false, higher priority is given to nodes that do not have the label | +
Field | Description |
---|---|
labels [Required]+ []string
+ |
++ The list of labels that identify node "groups" +All of the labels should be either present (or absent) for the node to be considered a fit for hosting the pod | +
presence [Required]+ bool
+ |
++ The boolean flag that indicates whether the labels should be present or absent from the node | +
Field | Description |
---|---|
urlPrefix [Required]+ string
+ |
++ URLPrefix at which the extender is available | +
filterVerb [Required]+ string
+ |
++ Verb for the filter call, empty if not supported. This verb is appended to the URLPrefix when issuing the filter call to extender. | +
preemptVerb [Required]+ string
+ |
++ Verb for the preempt call, empty if not supported. This verb is appended to the URLPrefix when issuing the preempt call to extender. | +
prioritizeVerb [Required]+ string
+ |
++ Verb for the prioritize call, empty if not supported. This verb is appended to the URLPrefix when issuing the prioritize call to extender. | +
weight [Required]+ int64
+ |
++ The numeric multiplier for the node scores that the prioritize call generates. +The weight should be a positive integer | +
bindVerb [Required]+ string
+ |
++ Verb for the bind call, empty if not supported. This verb is appended to the URLPrefix when issuing the bind call to extender. +If this method is implemented by the extender, it is the extender's responsibility to bind the pod to apiserver. Only one extender +can implement this function. | +
enableHttps [Required]+ bool
+ |
++ EnableHTTPS specifies whether https should be used to communicate with the extender | +
tlsConfig [Required]+ ExtenderTLSConfig
+ |
++ TLSConfig specifies the transport layer security config | +
httpTimeout [Required]+ time.Duration
+ |
++ HTTPTimeout specifies the timeout duration for a call to the extender. Filter timeout fails the scheduling of the pod. Prioritize +timeout is ignored, k8s/other extenders priorities are used to select the node. | +
nodeCacheCapable [Required]+ bool
+ |
++ NodeCacheCapable specifies that the extender is capable of caching node information, +so the scheduler should only send minimal information about the eligible nodes +assuming that the extender already cached full details of all nodes in the cluster | +
managedResources + []ExtenderManagedResource
+ |
++ ManagedResources is a list of extended resources that are managed by +this extender. +- A pod will be sent to the extender on the Filter, Prioritize and Bind + (if the extender is the binder) phases iff the pod requests at least + one of the extended resources in this list. If empty or unspecified, + all pods will be sent to this extender. +- If IgnoredByScheduler is set to true for a resource, kube-scheduler + will skip checking the resource in predicates. | +
ignorable [Required]+ bool
+ |
++ Ignorable specifies if the extender is ignorable, i.e. scheduling should not +fail when the extender returns an error or is not reachable. | +
Field | Description |
---|---|
serviceAffinity [Required]+ ServiceAffinity
+ |
++ The predicate that provides affinity for pods belonging to a service +It uses a label to identify nodes that belong to the same "group" | +
labelsPresence [Required]+ LabelsPresence
+ |
++ The predicate that checks whether a particular node has a certain label +defined or not, regardless of value | +
Field | Description |
---|---|
name [Required]+ string
+ |
++ Identifier of the predicate policy +For a custom predicate, the name can be user-defined +For the Kubernetes provided predicates, the name is the identifier of the pre-defined predicate | +
argument [Required]+ PredicateArgument
+ |
++ Holds the parameters to configure the given predicate | +
Field | Description |
---|---|
serviceAntiAffinity [Required]+ ServiceAntiAffinity
+ |
++ The priority function that ensures a good spread (anti-affinity) for pods belonging to a service +It uses a label to identify nodes that belong to the same "group" | +
labelPreference [Required]+ LabelPreference
+ |
++ The priority function that checks whether a particular node has a certain label +defined or not, regardless of value | +
requestedToCapacityRatioArguments [Required]+ RequestedToCapacityRatioArguments
+ |
++ The RequestedToCapacityRatio priority function is parametrized with function shape. | +
Field | Description |
---|---|
name [Required]+ string
+ |
++ Identifier of the priority policy +For a custom priority, the name can be user-defined +For the Kubernetes provided priority functions, the name is the identifier of the pre-defined priority function | +
weight [Required]+ int64
+ |
++ The numeric multiplier for the node scores that the priority function generates +The weight should be non-zero and can be a positive or a negative integer | +
argument [Required]+ PriorityArgument
+ |
++ Holds the parameters to configure the given priority function | +
Field | Description |
---|---|
shape [Required]+ []UtilizationShapePoint
+ |
++ Array of point defining priority function shape. | +
resources [Required]+ []ResourceSpec
+ |
++ No description provided. + | +
Field | Description |
---|---|
name [Required]+ string
+ |
++ Name of the resource to be managed by RequestedToCapacityRatio function. | +
weight [Required]+ int64
+ |
++ Weight of the resource. | +
Field | Description |
---|---|
labels [Required]+ []string
+ |
++ The list of labels that identify node "groups" +All of the labels should match for the node to be considered a fit for hosting the pod | +
Field | Description |
---|---|
label [Required]+ string
+ |
++ Used to identify node "groups" | +
Field | Description |
---|---|
utilization [Required]+ int32
+ |
++ Utilization (x axis). Valid values are 0 to 100. Fully utilized node maps to 100. | +
score [Required]+ int32
+ |
++ Score assigned to given utilization (y axis). Valid values are 0 to 10. | +