Help us shape the future of Go! Take the 2026 Go Developer Survey

kubernetesupgrade

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2017 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const MasterVMNamePrefix = "k8s-master-"

MasterVMNamePrefix is the prefix for all master VM names for Kubernetes clusters

Variables

This section is empty.

Functions

func WriteTemplate

func WriteTemplate(upgradeContainerService *api.ContainerService,
	templateMap map[string]interface{}, parametersMap map[string]interface{})

WriteTemplate writes upgrade template to a folder

Types

type AgentPoolTopology

type AgentPoolTopology struct {
	Identifier       *string
	Name             *string
	AgentVMs         *[]compute.VirtualMachine
	UpgradedAgentVMs *[]compute.VirtualMachine
}

AgentPoolTopology contains agent VMs in a single pool

type ClusterTopology

type ClusterTopology struct {
	DataModel     *api.ContainerService
	ResourceGroup string
	NameSuffix    string

	AgentPools map[string]*AgentPoolTopology

	MasterVMs         *[]compute.VirtualMachine
	UpgradedMasterVMs *[]compute.VirtualMachine
}

ClusterTopology contains resources of the cluster the upgrade operation is targeting

type Kubernetes162upgrader

type Kubernetes162upgrader struct {
	ClusterTopology
	GoalStateDataModel *api.ContainerService

	Client armhelpers.ACSEngineClient
}

Kubernetes162upgrader upgrades a Kubernetes 1.5.3 cluster to 1.6.2

func (*Kubernetes162upgrader) ClusterPreflightCheck

func (ku *Kubernetes162upgrader) ClusterPreflightCheck() error

ClusterPreflightCheck does preflight check

func (*Kubernetes162upgrader) RunUpgrade

func (ku *Kubernetes162upgrader) RunUpgrade() error

RunUpgrade runs the upgrade pipeline

func (*Kubernetes162upgrader) Validate

func (ku *Kubernetes162upgrader) Validate() error

Validate will run validation post upgrade

type UpgradeAgentNode

type UpgradeAgentNode struct {
	TemplateMap             map[string]interface{}
	ParametersMap           map[string]interface{}
	UpgradeContainerService *api.ContainerService
	ResourceGroup           string
	Client                  armhelpers.ACSEngineClient
}

UpgradeAgentNode upgrades a Kubernetes 1.5.3 agent node to 1.6.2

func (*UpgradeAgentNode) CreateNode

func (kan *UpgradeAgentNode) CreateNode(poolName string, agentNo int) error

CreateNode creates a new master/agent node with the targeted version of Kubernetes

func (*UpgradeAgentNode) DeleteNode

func (kan *UpgradeAgentNode) DeleteNode(vmName *string) error

DeleteNode takes state/resources of the master/agent node from ListNodeResources backs up/preserves state as needed by a specific version of Kubernetes and then deletes the node

func (*UpgradeAgentNode) Validate

func (kan *UpgradeAgentNode) Validate() error

Validate will verify the that master/agent node has been upgraded as expected.

type UpgradeCluster

type UpgradeCluster struct {
	ClusterTopology
	Client armhelpers.ACSEngineClient

	UpgradeModel *api.UpgradeContainerService
}

UpgradeCluster upgrades a cluster with Orchestrator version X (or X.X or X.X.X) to version y (or Y.Y or X.X.X). RIght now upgrades are supported for Kubernetes cluster only.

func (*UpgradeCluster) UpgradeCluster

func (uc *UpgradeCluster) UpgradeCluster(subscriptionID uuid.UUID, resourceGroup string,
	cs *api.ContainerService, ucs *api.UpgradeContainerService, nameSuffix string) error

UpgradeCluster runs the workflow to upgrade a Kubernetes cluster. UpgradeContainerService contains target state of the cluster that the operation will drive towards.

type UpgradeMasterNode

type UpgradeMasterNode struct {
	TemplateMap             map[string]interface{}
	ParametersMap           map[string]interface{}
	UpgradeContainerService *api.ContainerService
	ResourceGroup           string
	Client                  armhelpers.ACSEngineClient
}

UpgradeMasterNode upgrades a Kubernetes 1.5.3 master node to 1.6.2

func (*UpgradeMasterNode) CreateNode

func (kmn *UpgradeMasterNode) CreateNode(poolName string, masterNo int) error

CreateNode creates a new master/agent node with the targeted version of Kubernetes

func (*UpgradeMasterNode) DeleteNode

func (kmn *UpgradeMasterNode) DeleteNode(vmName *string) error

DeleteNode takes state/resources of the master/agent node from ListNodeResources backs up/preserves state as needed by a specific version of Kubernetes and then deletes the node

func (*UpgradeMasterNode) Validate

func (kmn *UpgradeMasterNode) Validate() error

Validate will verify the that master/agent node has been upgraded as expected.

type UpgradeNode

type UpgradeNode interface {
	// DeleteNode takes state/resources of the master/agent node from ListNodeResources
	// backs up/preserves state as needed by a specific version of Kubernetes and then deletes
	// the node
	DeleteNode(*string) error

	// CreateNode creates a new master/agent node with the targeted version of Kubernetes
	CreateNode(string, int) error

	// Validate will verify the that master/agent node has been upgraded as expected.
	Validate() error
}

UpgradeNode drives work flow of deleting and replacing a master or agent node to a specified target version of Kubernetes

type UpgradeWorkFlow

type UpgradeWorkFlow interface {
	ClusterPreflightCheck() error

	// upgrade masters
	// upgrade agent nodes
	RunUpgrade() error

	Validate() error
}

UpgradeWorkFlow outlines various individual high level steps that need to be run (one or more times) in the upgrade workflow.

Jump to

Keyboard shortcuts

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