Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddSpot ¶
func AddSpot(deployments *[]Deployment)
AddSpot adds spot workers for all workers in deployments with AddSpot set to true.
This sets AddSpot to false for the deployments processed copied.
func GenerateAll ¶
func GenerateAll(deployments []Deployment) []*apps.DeploymentApplyConfiguration
GenerateAll the Kubernetes deployments from a list of deployment descriptions.
You should use AddSpot before calling this.
Types ¶
type Deployment ¶
type Deployment struct {
// Namespace of the Kubernetes deployment
Namespace string
// Name of the Kubernetes deployment
Name string
// PodName is the name of the pods created by the deployment, and the value of the "app" label.
PodName string `yaml:"podName"`
// Image is the container image to use.
Image string
// ImagePullPolicy to create the container with
ImagePullPolicy *corev1.PullPolicy `yaml:"ImagePullPolicy"`
// DefaultScale is the default number of replicas.
DefaultScale int32 `yaml:"defaultScale"`
// RevisionHistoryLimit is the number of past deployment revisions kept around.
RevisionHistoryLimit int32 `yaml:"revisionHistoryLimit"`
// Resources is the resource requests and limits for the pods.
Resources *core.ResourceRequirementsApplyConfiguration
// Volumes to apply to the deployment.
Volumes []core.VolumeApplyConfiguration
// VolumeMounts for the generated containers.
VolumeMounts []core.VolumeMountApplyConfiguration `yaml:"volumeMounts"`
// Env config for the pods.
Env []core.EnvVarApplyConfiguration
// NodeSelector to apply to the pods.
NodeSelector map[string]string
// Spot determines if the worker should only run on spot machines.
//
// This is currently only supported on GKE, though support for AKS is planned.
//
// Currently, it adds the "cloud.google.com/gke-spot" node selector toleration to the pods.
Spot bool
// AddSpot, if true, causes a new spot deployment to be automatically created.
//
// The new deployment will have "-spot" appended to its Name and PodName, it will have its
// DefaultScale set to 0, and Spot set to true.
AddSpot bool `yaml:"addSpot"`
}
func (*Deployment) Generate ¶
func (deployment *Deployment) Generate() *apps.DeploymentApplyConfiguration
Generate the Kubernetes deployment from the deployment description.
Click to show internal directories.
Click to hide internal directories.