Documentation ¶
Index ¶
- type Container
- type Deployment
- func CreateLinuxDeploy(image, name, namespace, miscOpts string) (*Deployment, error)
- func CreateLinuxDeployIfNotExist(image, name, namespace, miscOpts string) (*Deployment, error)
- func CreateWindowsDeploy(image, name, namespace string, port int, hostport int) (*Deployment, error)
- func Get(name, namespace string) (*Deployment, error)
- func RunLinuxDeploy(image, name, namespace, command string, replicas int) (*Deployment, error)
- func (d *Deployment) CreateDeploymentHPA(cpuPercent, min, max int) error
- func (d *Deployment) Delete(retries int) error
- func (d *Deployment) Expose(svcType string, targetPort, exposedPort int) error
- func (d *Deployment) Pods() ([]pod.Pod, error)
- func (d *Deployment) ScaleDeployment(n int) error
- func (d *Deployment) WaitForReplicas(min, max int, sleep, duration time.Duration) ([]pod.Pod, error)
- type List
- type Metadata
- type Spec
- type Template
- type TemplateSpec
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Container ¶
type Container struct { Image string `json:"image"` PullPolicy string `json:"imagePullPolicy"` Name string `json:"name"` }
Container holds information like image, pull policy, name, etc...
type Deployment ¶
type Deployment struct {
Metadata Metadata `json:"metadata"`
}
Deployment repesentes a kubernetes deployment
func CreateLinuxDeploy ¶
func CreateLinuxDeploy(image, name, namespace, miscOpts string) (*Deployment, error)
CreateLinuxDeploy will create a deployment for a given image with a name in a namespace --overrides='{ "spec":{"template":{"spec": {"nodeSelector":{"beta.kubernetes.io/os":"linux"}}}}}'
func CreateLinuxDeployIfNotExist ¶
func CreateLinuxDeployIfNotExist(image, name, namespace, miscOpts string) (*Deployment, error)
CreateLinuxDeployIfNotExist first checks if a deployment already exists, and return it if so If not, we call CreateLinuxDeploy
func CreateWindowsDeploy ¶
func CreateWindowsDeploy(image, name, namespace string, port int, hostport int) (*Deployment, error)
CreateWindowsDeploy will crete a deployment for a given image with a name in a namespace
func Get ¶
func Get(name, namespace string) (*Deployment, error)
Get returns a deployment from a name and namespace
func RunLinuxDeploy ¶
func RunLinuxDeploy(image, name, namespace, command string, replicas int) (*Deployment, error)
RunLinuxDeploy will create a deployment that runs a bash command in a pod --overrides=' "spec":{"template":{"spec": {"nodeSelector":{"beta.kubernetes.io/os":"linux"}}}}}'
func (*Deployment) CreateDeploymentHPA ¶
func (d *Deployment) CreateDeploymentHPA(cpuPercent, min, max int) error
CreateDeploymentHPA applies autoscale characteristics to deployment
func (*Deployment) Delete ¶
func (d *Deployment) Delete(retries int) error
Delete will delete a deployment in a given namespace
func (*Deployment) Expose ¶
func (d *Deployment) Expose(svcType string, targetPort, exposedPort int) error
Expose will create a load balancer and expose the deployment on a given port
func (*Deployment) Pods ¶
func (d *Deployment) Pods() ([]pod.Pod, error)
Pods will return all pods related to a deployment
func (*Deployment) ScaleDeployment ¶
func (d *Deployment) ScaleDeployment(n int) error
ScaleDeployment scales a deployment to n instancees
func (*Deployment) WaitForReplicas ¶
func (d *Deployment) WaitForReplicas(min, max int, sleep, duration time.Duration) ([]pod.Pod, error)
WaitForReplicas waits for a pod replica count between min and max
type List ¶
type List struct {
Deployments []Deployment `json:"items"`
}
List holds a list of deployments returned from kubectl get deploy
type Metadata ¶
type Metadata struct { CreatedAt time.Time `json:"creationTimestamp"` Labels map[string]string `json:"labels"` Name string `json:"name"` Namespace string `json:"namespace"` HasHPA bool `json:"hasHPA"` }
Metadata holds information like labels, name, and namespace
type Template ¶
type Template struct {
TemplateSpec TemplateSpec `json:"spec"`
}
Template is used for fetching the deployment spec -> containers
type TemplateSpec ¶
type TemplateSpec struct { Containers []Container `json:"containers"` DNSPolicy string `json:"dnsPolicy"` RestartPolicy string `json:"restartPolicy"` }
TemplateSpec holds the list of containers for a deployment, the dns policy, and restart policy