Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the config v1beta1 API group +kubebuilder:object:generate=true +groupName=config.kueue.x-k8s.io
Index ¶
- Constants
- Variables
- func SetDefaults_Configuration(cfg *Configuration)
- type ClientConnection
- type Configuration
- type ControllerConfigurationSpec
- type ControllerHealth
- type ControllerManager
- type ControllerMetrics
- type ControllerWebhook
- type Integrations
- type InternalCertManagement
- type WaitForPodsReady
Constants ¶
const (
DefaultNamespace = "kueue-system"
DefaultWebhookServiceName = "kueue-webhook-service"
DefaultWebhookSecretName = "kueue-webhook-server-cert"
DefaultWebhookPort = 9443
DefaultHealthProbeBindAddress = ":8081"
DefaultMetricsBindAddress = ":8080"
DefaultLeaderElectionID = "c1f6bfd2.kueue.x-k8s.io"
DefaultClientConnectionQPS = 20.0
DefaultClientConnectionBurst = 30
)
Variables ¶
var (
// GroupVersion is group version used to register these objects
GroupVersion = schema.GroupVersion{Group: "config.kueue.x-k8s.io", Version: "v1beta1"}
// SchemeBuilder is used to add go types to the GroupVersionKind scheme
SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}
// AddToScheme adds the types in this group-version to the given scheme.
AddToScheme = SchemeBuilder.AddToScheme
)
Functions ¶
func SetDefaults_Configuration ¶
func SetDefaults_Configuration(cfg *Configuration)
SetDefaults_Configuration sets default values for ComponentConfig.
Types ¶
type ClientConnection ¶
type ClientConnection struct {
// QPS controls the number of queries per second allowed for K8S api server
// connection.
QPS *float32 `json:"qps,omitempty"`
// Burst allows extra queries to accumulate when a client is exceeding its rate.
Burst *int32 `json:"burst,omitempty"`
}
func (*ClientConnection) DeepCopy ¶
func (in *ClientConnection) DeepCopy() *ClientConnection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientConnection.
func (*ClientConnection) DeepCopyInto ¶
func (in *ClientConnection) DeepCopyInto(out *ClientConnection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Configuration ¶
type Configuration struct {
metav1.TypeMeta `json:",inline"`
// Namespace is the namespace in which kueue is deployed. It is used as part of DNSName of the webhook Service.
// If not set, the value is set from the file /var/run/secrets/kubernetes.io/serviceaccount/namespace
// If the file doesn't exist, default value is kueue-system.
Namespace *string `json:"namespace,omitempty"`
// ControllerManager returns the configurations for controllers
ControllerManager `json:",inline"`
// ManageJobsWithoutQueueName controls whether or not Kueue reconciles
// batch/v1.Jobs that don't set the annotation kueue.x-k8s.io/queue-name.
// If set to true, then those jobs will be suspended and never started unless
// they are assigned a queue and eventually admitted. This also applies to
// jobs created before starting the kueue controller.
// Defaults to false; therefore, those jobs are not managed and if they are created
// unsuspended, they will start immediately.
ManageJobsWithoutQueueName bool `json:"manageJobsWithoutQueueName"`
// InternalCertManagement is configuration for internalCertManagement
InternalCertManagement *InternalCertManagement `json:"internalCertManagement,omitempty"`
// WaitForPodsReady is configuration to provide simple all-or-nothing
// scheduling semantics for jobs to ensure they get resources assigned.
// This is achieved by blocking the start of new jobs until the previously
// started job has all pods running (ready).
WaitForPodsReady *WaitForPodsReady `json:"waitForPodsReady,omitempty"`
// ClientConnection provides additional configuration options for Kubernetes
// API server client.
ClientConnection *ClientConnection `json:"clientConnection,omitempty"`
// Integrations provide configuration options for AI/ML/Batch frameworks
// integrations (including K8S job).
Integrations *Integrations `json:"integrations,omitempty"`
}
Configuration is the Schema for the kueueconfigurations API
func (*Configuration) DeepCopy ¶
func (in *Configuration) DeepCopy() *Configuration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Configuration.
func (*Configuration) DeepCopyInto ¶
func (in *Configuration) DeepCopyInto(out *Configuration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Configuration) DeepCopyObject ¶
func (in *Configuration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ControllerConfigurationSpec ¶ added in v0.4.0
type ControllerConfigurationSpec struct {
// GroupKindConcurrency is a map from a Kind to the number of concurrent reconciliation
// allowed for that controller.
//
// When a controller is registered within this manager using the builder utilities,
// users have to specify the type the controller reconciles in the For(...) call.
// If the object's kind passed matches one of the keys in this map, the concurrency
// for that controller is set to the number specified.
//
// The key is expected to be consistent in form with GroupKind.String(),
// e.g. ReplicaSet in apps group (regardless of version) would be `ReplicaSet.apps`.
//
// +optional
GroupKindConcurrency map[string]int `json:"groupKindConcurrency,omitempty"`
// CacheSyncTimeout refers to the time limit set to wait for syncing caches.
// Defaults to 2 minutes if not set.
// +optional
CacheSyncTimeout *time.Duration `json:"cacheSyncTimeout,omitempty"`
}
ControllerConfigurationSpec defines the global configuration for controllers registered with the manager.
func (*ControllerConfigurationSpec) DeepCopy ¶ added in v0.4.0
func (in *ControllerConfigurationSpec) DeepCopy() *ControllerConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfigurationSpec.
func (*ControllerConfigurationSpec) DeepCopyInto ¶ added in v0.4.0
func (in *ControllerConfigurationSpec) DeepCopyInto(out *ControllerConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerHealth ¶ added in v0.4.0
type ControllerHealth struct {
// HealthProbeBindAddress is the TCP address that the controller should bind to
// for serving health probes
// It can be set to "0" or "" to disable serving the health probe.
// +optional
HealthProbeBindAddress string `json:"healthProbeBindAddress,omitempty"`
// ReadinessEndpointName, defaults to "readyz"
// +optional
ReadinessEndpointName string `json:"readinessEndpointName,omitempty"`
// LivenessEndpointName, defaults to "healthz"
// +optional
LivenessEndpointName string `json:"livenessEndpointName,omitempty"`
}
ControllerHealth defines the health configs.
func (*ControllerHealth) DeepCopy ¶ added in v0.4.0
func (in *ControllerHealth) DeepCopy() *ControllerHealth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerHealth.
func (*ControllerHealth) DeepCopyInto ¶ added in v0.4.0
func (in *ControllerHealth) DeepCopyInto(out *ControllerHealth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerManager ¶ added in v0.4.0
type ControllerManager struct {
// Webhook contains the controllers webhook configuration
// +optional
Webhook ControllerWebhook `json:"webhook,omitempty"`
// LeaderElection is the LeaderElection config to be used when configuring
// the manager.Manager leader election
// +optional
LeaderElection *configv1alpha1.LeaderElectionConfiguration `json:"leaderElection,omitempty"`
// Metrics contains thw controller metrics configuration
// +optional
Metrics ControllerMetrics `json:"metrics,omitempty"`
// Health contains the controller health configuration
// +optional
Health ControllerHealth `json:"health,omitempty"`
// Controller contains global configuration options for controllers
// registered within this manager.
// +optional
Controller *ControllerConfigurationSpec `json:"controller,omitempty"`
}
func (*ControllerManager) DeepCopy ¶ added in v0.4.0
func (in *ControllerManager) DeepCopy() *ControllerManager
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerManager.
func (*ControllerManager) DeepCopyInto ¶ added in v0.4.0
func (in *ControllerManager) DeepCopyInto(out *ControllerManager)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerMetrics ¶ added in v0.4.0
type ControllerMetrics struct {
// BindAddress is the TCP address that the controller should bind to
// for serving prometheus metrics.
// It can be set to "0" to disable the metrics serving.
// +optional
BindAddress string `json:"bindAddress,omitempty"`
}
ControllerMetrics defines the metrics configs.
func (*ControllerMetrics) DeepCopy ¶ added in v0.4.0
func (in *ControllerMetrics) DeepCopy() *ControllerMetrics
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerMetrics.
func (*ControllerMetrics) DeepCopyInto ¶ added in v0.4.0
func (in *ControllerMetrics) DeepCopyInto(out *ControllerMetrics)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerWebhook ¶ added in v0.4.0
type ControllerWebhook struct {
// Port is the port that the webhook server serves at.
// It is used to set webhook.Server.Port.
// +optional
Port *int `json:"port,omitempty"`
// Host is the hostname that the webhook server binds to.
// It is used to set webhook.Server.Host.
// +optional
Host string `json:"host,omitempty"`
// CertDir is the directory that contains the server key and certificate.
// if not set, webhook server would look up the server key and certificate in
// {TempDir}/k8s-webhook-server/serving-certs. The server key and certificate
// must be named tls.key and tls.crt, respectively.
// +optional
CertDir string `json:"certDir,omitempty"`
}
ControllerWebhook defines the webhook server for the controller.
func (*ControllerWebhook) DeepCopy ¶ added in v0.4.0
func (in *ControllerWebhook) DeepCopy() *ControllerWebhook
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerWebhook.
func (*ControllerWebhook) DeepCopyInto ¶ added in v0.4.0
func (in *ControllerWebhook) DeepCopyInto(out *ControllerWebhook)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Integrations ¶
type Integrations struct {
// List of framework names to be enabled.
// Possible options:
// - "batch/job"
// - "kubeflow.org/mpijob"
// - "ray.io/rayjob"
// - "jobset.x-k8s.io/jobset"
Frameworks []string `json:"frameworks,omitempty"`
}
func (*Integrations) DeepCopy ¶
func (in *Integrations) DeepCopy() *Integrations
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Integrations.
func (*Integrations) DeepCopyInto ¶
func (in *Integrations) DeepCopyInto(out *Integrations)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InternalCertManagement ¶
type InternalCertManagement struct {
// Enable controls whether to enable internal cert management or not.
// Defaults to true. If you want to use a third-party management, e.g. cert-manager,
// set it to false. See the user guide for more information.
Enable *bool `json:"enable,omitempty"`
// WebhookServiceName is the name of the Service used as part of the DNSName.
// Defaults to kueue-webhook-service.
WebhookServiceName *string `json:"webhookServiceName,omitempty"`
// WebhookSecretName is the name of the Secret used to store CA and server certs.
// Defaults to kueue-webhook-server-cert.
WebhookSecretName *string `json:"webhookSecretName,omitempty"`
}
func (*InternalCertManagement) DeepCopy ¶
func (in *InternalCertManagement) DeepCopy() *InternalCertManagement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalCertManagement.
func (*InternalCertManagement) DeepCopyInto ¶
func (in *InternalCertManagement) DeepCopyInto(out *InternalCertManagement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WaitForPodsReady ¶
type WaitForPodsReady struct {
// Enable when true, indicates that each admitted workload
// blocks the admission of all other workloads from all queues until it is in the
// `PodsReady` condition. If false, all workloads start as soon as they are
// admitted and do not block admission of other workloads. The PodsReady
// condition is only added if this setting is enabled. It defaults to false.
Enable bool `json:"enable,omitempty"`
// Timeout defines the time for an admitted workload to reach the
// PodsReady=true condition. When the timeout is reached, the workload admission
// is cancelled and requeued in the same cluster queue. Defaults to 5min.
// +optional
Timeout *metav1.Duration `json:"timeout,omitempty"`
// BlockAdmission when true, cluster queue will block admissions for all subsequent jobs
// until the jobs reach the PodsReady=true condition. It defaults to false if Enable is false
// and defaults to true otherwise.
BlockAdmission *bool `json:"blockAdmission,omitempty"`
}
func (*WaitForPodsReady) DeepCopy ¶
func (in *WaitForPodsReady) DeepCopy() *WaitForPodsReady
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WaitForPodsReady.
func (*WaitForPodsReady) DeepCopyInto ¶
func (in *WaitForPodsReady) DeepCopyInto(out *WaitForPodsReady)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.