Documentation ¶
Index ¶
Constants ¶
const ( // SchedulerDefaultLockObjectNamespace defines default scheduler lock object namespace ("kube-system") SchedulerDefaultLockObjectNamespace string = metav1.NamespaceSystem // SchedulerDefaultLockObjectName defines default scheduler lock object name ("kube-scheduler") SchedulerDefaultLockObjectName = "ai-scheduler" // SchedulerDefaultProviderName defines the default provider names SchedulerDefaultProviderName = "DefaultProvider" )
const GroupName = "kubescheduler.config.k8s.io"
GroupName is the group name used in this package
Variables ¶
var ( // SchemeBuilder is the scheme builder with scheme init functions to run for this API package SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme is a global function that registers this API group & version to a scheme AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
This section is empty.
Types ¶
type KubeSchedulerConfiguration ¶
type KubeSchedulerConfiguration struct { metav1.TypeMeta `json:",inline"` // SchedulerName is name of the scheduler, used to select which pods // will be processed by this scheduler, based on pod's "spec.SchedulerName". SchedulerName string `json:"schedulerName"` // AlgorithmSource specifies the scheduler algorithm source. AlgorithmSource SchedulerAlgorithmSource `json:"algorithmSource"` // 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 0-100. HardPodAffinitySymmetricWeight int32 `json:"hardPodAffinitySymmetricWeight"` // LeaderElection defines the configuration of leader election client. LeaderElection KubeSchedulerLeaderElectionConfiguration `json:"leaderElection"` // ClientConnection specifies the kubeconfig file and client connection // settings for the proxy server to use when communicating with the apiserver. ClientConnection componentbaseconfigv1alpha1.ClientConnectionConfiguration `json:"clientConnection"` // HealthzBindAddress is the IP address and port for the health check server to serve on, // defaulting to 0.0.0.0:10251 HealthzBindAddress string `json:"healthzBindAddress"` // MetricsBindAddress is the IP address and port for the metrics server to // serve on, defaulting to 0.0.0.0:10251. MetricsBindAddress string `json:"metricsBindAddress"` // DebuggingConfiguration holds configuration for Debugging related features // TODO: We might wanna make this a substruct like Debugging componentbaseconfigv1alpha1.DebuggingConfiguration componentbaseconfigv1alpha1.DebuggingConfiguration `json:",inline"` // DisablePreemption disables the pod preemption feature. DisablePreemption bool `json:"disablePreemption"` // PercentageOfNodeToScore is the percentage of all nodes that once found feasible // for running a pod, the scheduler stops its search for more feasible nodes in // the cluster. This helps improve scheduler's performance. Scheduler always tries to find // at least "minFeasibleNodesToFind" feasible nodes no matter what the value of this flag is. // Example: if the cluster size is 500 nodes and the value of this flag is 30, // then scheduler stops finding further feasible nodes once it finds 150 feasible ones. // When the value is 0, default percentage (5%--50% based on the size of the cluster) of the // nodes will be scored. PercentageOfNodesToScore int32 `json:"percentageOfNodesToScore"` // DEPRECATED. // Indicate the "all topologies" set for empty topologyKey when it's used for PreferredDuringScheduling pod anti-affinity. FailureDomains string `json:"failureDomains"` // Duration to wait for a binding operation to complete before timing out // Value must be non-negative integer. The value zero indicates no waiting. // If this value is nil, the default value will be used. BindTimeoutSeconds *int64 `json:"bindTimeoutSeconds"` }
KubeSchedulerConfiguration configures a scheduler
func (*KubeSchedulerConfiguration) DeepCopy ¶
func (in *KubeSchedulerConfiguration) DeepCopy() *KubeSchedulerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeSchedulerConfiguration.
func (*KubeSchedulerConfiguration) DeepCopyInto ¶
func (in *KubeSchedulerConfiguration) DeepCopyInto(out *KubeSchedulerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubeSchedulerConfiguration) DeepCopyObject ¶
func (in *KubeSchedulerConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KubeSchedulerLeaderElectionConfiguration ¶
type KubeSchedulerLeaderElectionConfiguration struct { componentbaseconfigv1alpha1.LeaderElectionConfiguration `json:",inline"` // LockObjectNamespace defines the namespace of the lock object LockObjectNamespace string `json:"lockObjectNamespace"` // LockObjectName defines the lock object name LockObjectName string `json:"lockObjectName"` }
KubeSchedulerLeaderElectionConfiguration expands LeaderElectionConfiguration to include scheduler specific configuration.
func (*KubeSchedulerLeaderElectionConfiguration) DeepCopy ¶
func (in *KubeSchedulerLeaderElectionConfiguration) DeepCopy() *KubeSchedulerLeaderElectionConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeSchedulerLeaderElectionConfiguration.
func (*KubeSchedulerLeaderElectionConfiguration) DeepCopyInto ¶
func (in *KubeSchedulerLeaderElectionConfiguration) DeepCopyInto(out *KubeSchedulerLeaderElectionConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulerAlgorithmSource ¶
type SchedulerAlgorithmSource struct { // Policy is a policy based algorithm source. Policy *SchedulerPolicySource `json:"policy,omitempty"` // Provider is the name of a scheduling algorithm provider to use. Provider *string `json:"provider,omitempty"` }
SchedulerAlgorithmSource is the source of a scheduler algorithm. One source field must be specified, and source fields are mutually exclusive.
func (*SchedulerAlgorithmSource) DeepCopy ¶
func (in *SchedulerAlgorithmSource) DeepCopy() *SchedulerAlgorithmSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerAlgorithmSource.
func (*SchedulerAlgorithmSource) DeepCopyInto ¶
func (in *SchedulerAlgorithmSource) DeepCopyInto(out *SchedulerAlgorithmSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulerPolicyConfigMapSource ¶
type SchedulerPolicyConfigMapSource struct { // Namespace is the namespace of the policy config map. Namespace string `json:"namespace"` // Name is the name of hte policy config map. Name string `json:"name"` }
SchedulerPolicyConfigMapSource is a policy serialized into a config map value under the SchedulerPolicyConfigMapKey key.
func (*SchedulerPolicyConfigMapSource) DeepCopy ¶
func (in *SchedulerPolicyConfigMapSource) DeepCopy() *SchedulerPolicyConfigMapSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerPolicyConfigMapSource.
func (*SchedulerPolicyConfigMapSource) DeepCopyInto ¶
func (in *SchedulerPolicyConfigMapSource) DeepCopyInto(out *SchedulerPolicyConfigMapSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulerPolicyFileSource ¶
type SchedulerPolicyFileSource struct { // Path is the location of a serialized policy. Path string `json:"path"` }
SchedulerPolicyFileSource is a policy serialized to disk and accessed via path.
func (*SchedulerPolicyFileSource) DeepCopy ¶
func (in *SchedulerPolicyFileSource) DeepCopy() *SchedulerPolicyFileSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerPolicyFileSource.
func (*SchedulerPolicyFileSource) DeepCopyInto ¶
func (in *SchedulerPolicyFileSource) DeepCopyInto(out *SchedulerPolicyFileSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulerPolicySource ¶
type SchedulerPolicySource struct { // File is a file policy source. File *SchedulerPolicyFileSource `json:"file,omitempty"` // ConfigMap is a config map policy source. ConfigMap *SchedulerPolicyConfigMapSource `json:"configMap,omitempty"` }
SchedulerPolicySource configures a means to obtain a scheduler Policy. One source field must be specified, and source fields are mutually exclusive.
func (*SchedulerPolicySource) DeepCopy ¶
func (in *SchedulerPolicySource) DeepCopy() *SchedulerPolicySource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerPolicySource.
func (*SchedulerPolicySource) DeepCopyInto ¶
func (in *SchedulerPolicySource) DeepCopyInto(out *SchedulerPolicySource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.