nodebootstrap

package
v0.41.0 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2021 License: Apache-2.0 Imports: 27 Imported by: 7

Documentation

Index

Constants

View Source
const AssetDebug = false

AssetDebug is true if the assets were built with the debug flag enabled.

Variables

This section is empty.

Functions

func Asset

func Asset(name string) ([]byte, error)

Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetDigest

func AssetDigest(name string) ([sha256.Size]byte, error)

AssetDigest returns the digest of the file with the given name. It returns an error if the asset could not be found or the digest could not be loaded.

func AssetDir

func AssetDir(name string) ([]string, error)

AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:

data/
  foo.txt
  img/
    a.png
    b.png

then AssetDir("data") would return []string{"foo.txt", "img"}, AssetDir("data/img") would return []string{"a.png", "b.png"}, AssetDir("foo.txt") and AssetDir("notexist") would return an error, and AssetDir("") will return []string{"data"}.

func AssetInfo

func AssetInfo(name string) (os.FileInfo, error)

AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetNames

func AssetNames() []string

AssetNames returns the names of the assets.

func AssetString

func AssetString(name string) (string, error)

AssetString returns the asset contents as a string (instead of a []byte).

func Digests

func Digests() (map[string][sha256.Size]byte, error)

Digests returns a map of all known files and their checksums.

func MakeManagedUserData added in v0.39.0

func MakeManagedUserData(ng *api.ManagedNodeGroup, mimeBoundary string) (string, error)

MakeManagedUserData returns user data for managed nodegroups

func MustAsset

func MustAsset(name string) []byte

MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.

func MustAssetString

func MustAssetString(name string) string

MustAssetString is like AssetString but panics when Asset would return an error. It simplifies safe initialization of global variables.

func NewUserData

func NewUserData(spec *api.ClusterConfig, ng *api.NodeGroup) (string, error)

NewUserData creates new user data for a given node image family

func NewUserDataForAmazonLinux2

func NewUserDataForAmazonLinux2(spec *api.ClusterConfig, ng *api.NodeGroup) (string, error)

NewUserDataForAmazonLinux2 creates new user data for Amazon Linux 2 nodes

func NewUserDataForBottlerocket

func NewUserDataForBottlerocket(spec *api.ClusterConfig, ng *api.NodeGroup) (string, error)

NewUserDataForBottlerocket generates TOML userdata for bootstrapping a Bottlerocket node.

func NewUserDataForUbuntu

func NewUserDataForUbuntu(spec *api.ClusterConfig, ng *api.NodeGroup) (string, error)

NewUserDataForUbuntu creates new user data for Ubuntu 18.04 & 20.04 nodes

func NewUserDataForWindows

func NewUserDataForWindows(spec *api.ClusterConfig, ng *api.NodeGroup) (string, error)

func RestoreAsset

func RestoreAsset(dir, name string) error

RestoreAsset restores an asset under the given directory.

func RestoreAssets

func RestoreAssets(dir, name string) error

RestoreAssets restores an asset under the given directory recursively.

Types

type InstanceTypeInfo

type InstanceTypeInfo struct {
	// Storage (ephemeral) available (GiB).
	// Is 0 if not supported or none available.
	Storage int64
	// Max pods per node.
	MaxPodsPerNode int64
	// CPU count.
	CPU int64
}

InstanceTypeInfo holds minimal instance info required to calculate resources to reserve.

func NewInstanceTypeInfo

func NewInstanceTypeInfo(ec2info *ec2.InstanceTypeInfo) InstanceTypeInfo

NewInstanceTypeInfo creates a simple version of ec2.InstanceTypeInfo that provides functions to calculate defaults.

func (InstanceTypeInfo) DefaultCPUToReserve

func (i InstanceTypeInfo) DefaultCPUToReserve() string

DefaultCPUToReserve returns the millicores to reserve.

See https://github.com/awslabs/amazon-eks-ami/blob/ff690788dfaf399e6919eebb59371ee923617df4/files/bootstrap.sh#L183-L208 which takes it form https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#node_allocatable

6% of the first core 1% of the next core (up to 2 cores) 0.5% of the next 2 cores (up to 4 cores) 0.25% of any cores above 4 cores

func (InstanceTypeInfo) DefaultMemoryToReserve

func (i InstanceTypeInfo) DefaultMemoryToReserve() string

DefaultMemoryToReserve returns how much memory to reserve.

See https://github.com/awslabs/amazon-eks-ami/blob/21426e27e3845319dbca92e7df32e5c4b984a1d1/files/bootstrap.sh#L154-L165

func (InstanceTypeInfo) DefaultStorageToReserve

func (i InstanceTypeInfo) DefaultStorageToReserve() string

DefaultStorageToReserve returns how much storage to reserve.

See https://github.com/awslabs/amazon-eks-ami/blob/ff690788dfaf399e6919eebb59371ee923617df4/files/bootstrap.sh#L306 This is always 1GiB

Jump to

Keyboard shortcuts

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