Documentation
¶
Overview ¶
* Tencent is pleased to support the open source community by making TKEStack available. * * Copyright (C) 2012-2019 Tencent. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use * this file except in compliance with the License. You may obtain a copy of the * License at * * https://opensource.org/licenses/Apache-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License.
Index ¶
- type ExtenderArgs
- type ExtenderBindingArgs
- type ExtenderBindingResult
- type ExtenderFilterResult
- type FailedNodesMap
- type HostPriority
- type HostPriorityList
- type LabelPreference
- type LabelsPresence
- type PredicateArgument
- type PredicatePolicy
- type PriorityArgument
- type PriorityPolicy
- type ServiceAffinity
- type ServiceAntiAffinity
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ExtenderArgs ¶
type ExtenderArgs struct { // Pod being scheduled Pod corev1.Pod `json:"pod"` // List of candidate nodes where the pod can be scheduled Nodes corev1.NodeList `json:"nodes"` }
ExtenderArgs represents the arguments needed by the extender to filter/prioritize nodes for a pod.
type ExtenderBindingArgs ¶
type ExtenderBindingArgs struct { // PodName is the name of the pod being bound PodName string // PodNamespace is the namespace of the pod being bound PodNamespace string // PodUID is the UID of the pod being bound PodUID types.UID // Node selected by the scheduler Node string }
ExtenderBindingArgs represents the arguments to an extender for binding a pod to a node.
type ExtenderBindingResult ¶
type ExtenderBindingResult struct { // Error message indicating failure Error string }
ExtenderBindingResult represents the result of binding of a pod to a node from an extender.
type ExtenderFilterResult ¶
type ExtenderFilterResult struct { // Filtered set of nodes where the pod can be scheduled Nodes corev1.NodeList `json:"nodes,omitempty"` // Filtered out nodes where the pod can't be scheduled and the failure messages FailedNodes FailedNodesMap `json:"failedNodes,omitempty"` // Error message indicating failure Error string `json:"error,omitempty"` }
ExtenderFilterResult represents the results of a filter call to an extender
type FailedNodesMap ¶
FailedNodesMap represents the filtered out nodes, with node names and failure messages
type HostPriority ¶
type HostPriority struct { // Name of the host Host string `json:"host"` // Score associated with the host Score int `json:"score"` }
HostPriority represents the priority of scheduling to a particular host, higher priority is better.
type HostPriorityList ¶
type HostPriorityList []HostPriority
func (HostPriorityList) Len ¶
func (h HostPriorityList) Len() int
func (HostPriorityList) Less ¶
func (h HostPriorityList) Less(i, j int) bool
func (HostPriorityList) Swap ¶
func (h HostPriorityList) Swap(i, j int)
type LabelPreference ¶
type LabelPreference struct { // Used to identify node "groups" Label string `json:"label"` // 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 Presence bool `json:"presence"` }
Holds the parameters that are used to configure the corresponding priority function
type LabelsPresence ¶
type LabelsPresence struct { // 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 Labels []string `json:"labels"` // The boolean flag that indicates whether the labels should be present or absent from the node Presence bool `json:"presence"` }
Holds the parameters that are used to configure the corresponding predicate
type PredicateArgument ¶
type PredicateArgument struct { // The predicate that provides affinity for pods belonging to a service // It uses a label to identify nodes that belong to the same "group" ServiceAffinity *ServiceAffinity `json:"serviceAffinity"` // The predicate that checks whether a particular node has a certain label // defined or not, regardless of value LabelsPresence *LabelsPresence `json:"labelsPresence"` }
Represents the arguments that the different types of predicates take Only one of its members may be specified
type PredicatePolicy ¶
type PredicatePolicy struct { // 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 Name string `json:"name"` // Holds the parameters to configure the given predicate Argument *PredicateArgument `json:"argument"` }
type PriorityArgument ¶
type PriorityArgument struct { // 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" ServiceAntiAffinity *ServiceAntiAffinity `json:"serviceAntiAffinity"` // The priority function that checks whether a particular node has a certain label // defined or not, regardless of value LabelPreference *LabelPreference `json:"labelPreference"` }
Represents the arguments that the different types of priorities take. Only one of its members may be specified
type PriorityPolicy ¶
type PriorityPolicy struct { // 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 Name string `json:"name"` // The numeric multiplier for the node scores that the priority function generates // The weight should be a positive integer Weight int `json:"weight"` // Holds the parameters to configure the given priority function Argument *PriorityArgument `json:"argument"` }
type ServiceAffinity ¶
type ServiceAffinity struct { // 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 Labels []string `json:"labels"` }
Holds the parameters that are used to configure the corresponding predicate
type ServiceAntiAffinity ¶
type ServiceAntiAffinity struct { // Used to identify node "groups" Label string `json:"label"` }
Holds the parameters that are used to configure the corresponding priority function