Documentation

Index

Constants

View Source
const (
	// SchedulerDefaultLockObjectNamespace defines default scheduler lock object namespace ("kube-system")
	SchedulerDefaultLockObjectNamespace string = metav1.NamespaceSystem

	// SchedulerDefaultLockObjectName defines default scheduler lock object name ("kube-scheduler")
	SchedulerDefaultLockObjectName = "kube-scheduler"

	// SchedulerDefaultProviderName defines the default provider names
	SchedulerDefaultProviderName = "DefaultProvider"
)
View Source
const GroupName = "kubescheduler.config.k8s.io"

    GroupName is the group name used in this package

    Variables

    View Source
    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
    )
    View Source
    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

          DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeSchedulerConfiguration.

          func (*KubeSchedulerConfiguration) DeepCopyInto

            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

                  DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeSchedulerLeaderElectionConfiguration.

                  func (*KubeSchedulerLeaderElectionConfiguration) DeepCopyInto

                    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

                        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

                              DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerPolicyConfigMapSource.

                              func (*SchedulerPolicyConfigMapSource) DeepCopyInto

                                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

                                    DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerPolicyFileSource.

                                    func (*SchedulerPolicyFileSource) DeepCopyInto

                                      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

                                          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.