operations

package
v0.47.0-aks-gomod-55 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 29, 2020 License: MIT Imports: 18 Imported by: 42

Documentation

Overview

Package operations provides methods to perform kubernetes-specific IaaS operations like cordon & drain, cluster upgrades, remote SSH, and scaling of agentpools.

Index

Examples

Constants

View Source
const (
	// AADRoleResourceGroupScopeTemplate is a template for a roleDefinition scope
	AADRoleResourceGroupScopeTemplate = "/subscriptions/%s/resourceGroups/%s"
)

Variables

This section is empty.

Functions

func CleanDeleteVirtualMachine

func CleanDeleteVirtualMachine(az armhelpers.AKSEngineClient, logger *log.Entry, subscriptionID, resourceGroup, name string) error

CleanDeleteVirtualMachine deletes a VM and any associated OS disk

func GetNodes added in v0.40.0

func GetNodes(az armhelpers.AKSEngineClient, logger *log.Entry, apiserverURL, kubeConfig string, timeout time.Duration, pool string, waitForNumNodes int) ([]v1.Node, error)

GetNodes is a thin wrapper around the k8s api list nodes interface Pass in a pool string to filter only node objects in that AKS Engine-deployed node pool Pass in a waitForNumNodes int to wait for an explicit target node count before returning

func PrintNodes added in v0.40.0

func PrintNodes(nodes []v1.Node)

PrintNodes outputs nodes to stdout

Example
var nodes []v1.Node
node := v1.Node{}
node.Name = "k8s-master-1234"
node.Status.Conditions = append(node.Status.Conditions, v1.NodeCondition{Type: v1.NodeReady, Status: v1.ConditionTrue})
node.Status.NodeInfo.KubeletVersion = "1.10.0"
node.Status.NodeInfo.OSImage = "my-os"
node.Status.NodeInfo.KernelVersion = "3.1.4"
nodes = append(nodes, node)
PrintNodes(nodes)
Output:

NODE               STATUS    VERSION    OS       KERNEL
k8s-master-1234    Ready     1.10.0     my-os    3.1.4

func RemoteRun

func RemoteRun(user string, addr string, port int, sshKey []byte, cmd string) (string, error)

RemoteRun executes remote command

func SafelyDrainNode

func SafelyDrainNode(az armhelpers.AKSEngineClient, logger *log.Entry, apiserverURL, kubeConfig, nodeName string, timeout time.Duration) error

SafelyDrainNode safely drains a node so that it can be deleted from the cluster

func SafelyDrainNodeWithClient

func SafelyDrainNodeWithClient(client armhelpers.KubernetesClient, logger *log.Entry, nodeName string, timeout time.Duration) error

SafelyDrainNodeWithClient safely drains a node so that it can be deleted from the cluster

func ScaleDownVMs

func ScaleDownVMs(az armhelpers.AKSEngineClient, logger *log.Entry, subscriptionID string, resourceGroup string, vmNames ...string) *list.List

ScaleDownVMs removes the vms in the provided list. Returns a list with details on each failure. all items in the list will always be of type *VMScalingErrorDetails

Types

type VMScalingErrorDetails

type VMScalingErrorDetails struct {
	Name  string
	Error error
}

VMScalingErrorDetails give the index in the agent pool that failed and the accompanying error

Directories

Path Synopsis
Package dcosupgrade allows upgrading of ACS clusters with DC/OS as the orchestrator.
Package dcosupgrade allows upgrading of ACS clusters with DC/OS as the orchestrator.
Package kubernetesupgrade allows upgrading of Kubernetes clusters.
Package kubernetesupgrade allows upgrading of Kubernetes clusters.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL