cluster

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2020 License: Apache-2.0 Imports: 50 Imported by: 0

Documentation

Overview

Package cluster contains the functions for bootstrapping a Kubernetes cluster node.

Index

Constants

View Source
const (
	// DefaultClusterDNSIP defines default DNS IP
	DefaultClusterDNSIP            = "10.254.0.10"
	DefaultBootstrapServerBindPort = 8080
	DefaultKubeAPIServerPort       = 6443
)
View Source
const (
	DefaultKubeletDir = "/var/lib/kubelet"
)

Variables

View Source
var (
	CritConfigName = "crit-config"

	CritConfigRole = &rbacv1.Role{
		ObjectMeta: metav1.ObjectMeta{
			Name:      CritConfigName,
			Namespace: metav1.NamespaceSystem,
		},
		Rules: []rbacv1.PolicyRule{
			{
				Verbs:         []string{"get"},
				APIGroups:     []string{""},
				Resources:     []string{"configmaps"},
				ResourceNames: []string{CritConfigName},
			},
		},
	}

	CritConfigRoleBinding = &rbacv1.RoleBinding{
		ObjectMeta: metav1.ObjectMeta{
			Name:      CritConfigName,
			Namespace: metav1.NamespaceSystem,
		},
		RoleRef: rbacv1.RoleRef{
			APIGroup: rbacv1.GroupName,
			Kind:     "Role",
			Name:     CritConfigName,
		},
		Subjects: []rbacv1.Subject{
			{
				Kind: rbacv1.GroupKind,
				Name: "system:nodes",
			},
			{
				Kind: rbacv1.GroupKind,
				Name: "system:bootstrappers:crit:default-node-token",
			},
		},
	}
)
View Source
var (
	// MinKubeVersion indicates the lowest version that crit will provision
	MinKubeVersion = version.MustParseSemantic("v1.14.0")

	// MaxKubeVersion indicates the highest version that crit will provision.
	// However, versions higher than this will only produce a warning.
	MaxKubeVersion = version.MustParseSemantic("v1.19.0")
)
View Source
var Files = func() http.FileSystem {
	fs := vfsgen۰FS{
		"/": &vfsgen۰DirInfo{
			name:    "/",
			modTime: time.Time{},
		},
		"/audit-policy.yaml": &vfsgen۰CompressedFileInfo{
			name:             "audit-policy.yaml",
			modTime:          time.Time{},
			uncompressedSize: 5520,

			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x58\x5f\x8f\xdb\x36\x0c\x7f\xbf\x4f\x41\x38\xc0\x0a\x14\xf9\x83\x61\x18\x36\x64\x4f\xdd\x75\xe8\x06\x5c\x87\x22\x6d\xb7\x87\xe1\x1e\x14\x99\xb1\x85\xc8\x92\x26\xd2\x49\x73\x9f\x7e\x90\xe4\x38\x76\xe2\xe4\x72\x6d\xf7\x0f\xe8\xc3\xe1\x6c\x89\x26\x7f\xfc\x91\x22\xa9\x08\xa7\x7e\x43\x4f\xca\x9a\x39\x88\x3a\x57\x3c\x5d\x7f\x4f\x53\x65\x67\x9b\xaf\x6f\xd6\xca\xe4\x73\x78\x63\xb5\x92\xbb\x1b\x5f\x6b\xa4\xf9\x0d\xc0\x28\xfc\xc1\xad\x57\xac\xa4\xd0\x13\x62\x21\xd7\xe9\x53\x70\x49\x34\xec\xdf\xd9\x02\x9c\xcd\x41\x96\xc2\x14\x48\x20\x18\x16\xf8\x67\x8d\xc4\x0b\x24\x67\x0d\x21\x68\xdc\xa0\xbe\x01\x98\xa4\xa7\xf9\xb1\xc0\x0d\x00\x80\x47\xb2\xb5\x97\xc9\x74\x90\x2d\xbc\xad\xdd\x1c\xb2\x2c\xbe\x07\x53\x8b\x46\x04\x32\x67\x73\xca\x20\xb7\x48\xe6\x19\x43\x25\x58\x96\xe0\x93\x52\x02\xb6\x20\xcc\x0e\xa8\x5e\xee\x75\x82\x5d\x05\x8c\x34\x6e\x55\x6d\x4b\x25\x4b\x50\x04\xd2\x1a\x52\xc4\x68\x18\xb6\x8a\x4b\xe0\x12\x61\xf1\xe3\x8b\xdb\xc6\xc5\x69\xf3\xc5\x01\x1d\xfc\x91\xac\xdf\x47\xef\x5f\xda\x00\x40\xdb\x02\x44\xcd\x25\x9a\x40\x15\x63\xde\x03\x23\xd1\xb3\x50\x06\x8c\x35\x93\x16\xd1\xfb\xc5\x1d\x38\xc1\x25\x4d\xbb\xc4\xfc\x6a\x4d\x62\xa3\x26\xf4\xaf\x02\x01\xd1\x20\xed\x88\xb1\x9a\xf7\x4c\x44\x00\x10\x94\xee\x69\x79\xbf\xb8\x6b\xc9\xcb\x66\xc2\xa9\xe7\x19\x8c\xe0\x77\xa5\x73\x29\x7c\x9e\x58\x52\xa6\x98\xb6\x22\x9b\x94\x0f\x59\x1b\xc7\xe0\x7c\x83\x1c\x96\x36\xdf\x05\xde\xa4\x35\x2b\x55\x54\xc2\xcd\x08\xa5\x47\x6e\x03\xad\x0c\x38\x6f\x19\x65\xf0\xd7\x88\x0a\xc9\x09\x89\x34\x10\xe7\x47\xe2\x0b\x23\x90\xd6\x23\xbc\x78\xf3\x4b\x5a\x1c\xe2\xbc\x85\x41\xd9\x18\xb2\x04\x85\x1a\x0e\x46\xf0\xae\x54\x04\x21\x71\xc1\x1a\xbd\x03\xe1\x9c\x56\x18\xc9\x6f\x95\x04\xbc\xc1\xbf\x6c\x5d\x2f\x71\x92\x18\xcd\x0e\xb8\xa7\xad\x26\x04\xac\x1c\xef\x80\xd8\x2b\x53\x04\x7c\x52\x18\x58\x62\x88\x49\x1e\x54\x12\x6a\x94\x1c\xc3\xd9\x7e\x9e\x1f\x0c\x25\x4d\x07\x42\x02\xfa\xae\xcd\x31\x64\xb2\x77\xa6\x52\x2a\xc5\x20\xbc\x13\x6b\x34\xb0\xf2\xb6\x82\x57\xb7\x3f\x3d\x23\xa8\x04\x31\xfa\xde\xa9\x9b\x43\xc9\xec\x68\x3e\x9b\x15\x8a\xcb\x7a\x39\x95\xb6\x9a\x05\x03\xde\x20\x23\x75\x1f\x97\xda\x2e\x67\x49\xc5\x4c\xea\x3a\xfe\x2f\x24\xce\x0a\xa9\x66\x89\xd0\xda\xe3\xa4\x44\xed\xd0\x4f\xa9\x1c\xdd\x7d\xf7\xcd\xb7\x67\xd3\xb1\x9b\x89\xd1\x1f\xe7\xed\x87\x5d\x13\x82\x0d\xfa\x65\x14\xd8\x86\x2c\x6b\x16\x8f\x42\x3e\x14\xf4\x66\xe3\x28\xd8\x68\x72\x67\x95\xe1\x26\xd6\x7e\xa3\x24\xf6\x9e\x67\xc4\x82\xeb\x14\xff\x0b\x68\x03\x4c\x8d\x9c\xdd\xc3\x08\x34\x16\x42\xee\xa0\x59\x02\x95\x87\x93\xc4\xbb\x3e\xfa\x22\x08\x7f\x1a\x76\x63\xf3\x84\x35\x3e\x3c\x0e\xf4\xe4\x94\x27\x05\xf7\xff\x3a\xb0\x8e\x81\x6e\xd4\xa5\x35\xec\xad\xd6\xe8\x27\x95\x30\xa2\x40\x3f\x28\x46\xb2\xc4\xbc\xd6\xa7\xbb\x4d\x08\x85\x94\xb6\x36\x3c\xef\x9c\x8c\xf9\x3e\xec\x1d\x1b\xa7\x2c\x8c\x21\xab\x5d\x2e\x18\xf7\x05\xf0\xec\x41\xfb\x6c\x49\xf8\x48\x96\xed\xab\xb3\x53\xc1\x37\xf4\x7f\x47\xec\x5a\x27\x63\x00\xdb\xb7\x7d\x14\xfb\x8b\x2b\x65\x84\x56\x0f\xf8\x18\xf0\xa6\x24\x4c\x44\xcd\x96\xa4\xd0\xc3\xd0\xff\x31\xc2\xfb\x25\xbe\x4f\x7f\xb7\xd3\xfe\xfc\xe6\x05\xac\x30\x35\x33\xa8\x90\xbd\x92\x17\xba\xe8\xd3\xd2\xf8\xd8\x73\xad\xe8\x8a\xe0\xed\x41\xa4\x89\x2a\x3b\xc2\xcb\x25\x52\xe8\xab\x22\x9f\xc4\xee\x14\xfa\xf4\x30\xde\xc1\x66\x1e\x04\x67\x25\x0a\xcd\xe5\xc3\xf3\xc3\x4a\xd3\xbc\x0f\x0b\xb4\x15\x45\x81\xfe\xf9\x91\x75\xdc\xa0\x61\x6a\x07\x92\x61\xc3\x1f\x7f\x48\xa2\xf6\x26\x44\xa1\xb0\x80\x30\x79\x9c\x07\x53\x66\x82\x14\x5a\x53\xea\x68\xb1\xee\x80\xf0\x08\xa5\x2a\xca\xc9\xc6\xea\xba\x4a\xf2\x4d\x83\xd5\xc2\x17\x38\x86\xbc\xc5\xee\x9b\x01\x91\x60\x65\x3d\xe0\x07\x97\x86\x8d\x94\x8e\x5d\xad\xe7\x86\x8e\x93\x4e\x10\x7a\xc8\xa1\xcc\x86\x16\xb6\xd4\x58\x4d\x72\x0c\x73\x8c\xf5\x9d\xfd\x0b\x75\x6a\xf8\xd3\xa3\xa3\xd3\x9c\x99\x71\xe6\x3e\x47\x47\xec\xd5\xec\x71\x1a\x80\xbb\x25\x1c\xc0\x56\x8a\xdf\xb2\x28\xba\xba\xb3\x76\xd0\x96\xa8\x36\x98\x67\x97\x78\xba\xae\x11\xfd\x57\xdd\x1a\x41\x1e\x02\x8c\x32\x9c\x69\xc9\xca\x9a\x26\xf5\x9e\x98\x5b\x6d\x75\x4b\xfa\x94\x35\x8f\x27\xd7\x15\x19\xb3\xd7\xda\xa9\x3b\xc7\xcc\x1e\xe3\x7f\x32\x01\x6f\xd3\x50\x3c\x86\xdb\x58\x48\x5f\x0b\x47\xe3\x78\xbc\xde\xd9\x35\x9a\x05\x6e\x14\x6e\x13\x1f\x01\x44\xb8\x91\x10\x1a\x52\xac\x36\x08\x5f\xc1\x52\x19\xe1\x77\x90\x0b\x16\xe3\xa8\x8e\x6c\x1a\xa6\xe3\xe5\x86\xe3\xec\xfc\x1a\x59\x04\x81\xc4\x46\xaf\x94\xec\xb7\x3e\x2d\x1f\xf6\x73\x7d\x98\x91\x0f\xdd\xe0\xfe\x58\x4b\xe7\x22\xa4\xac\x69\xca\xee\xb0\x46\x0e\xbe\xfb\xe4\xfb\x93\x19\x7d\x85\x0c\x1e\x1d\xa5\x3c\xe9\x66\xd2\x0f\x40\x6b\xe5\x02\x29\xd5\xf4\x5c\x7e\x0c\xf6\x92\x31\x7c\xe4\x88\x7c\xd8\x10\x79\xa5\x28\xd4\x7e\x8f\x85\x22\xf6\x5d\x12\xb2\x53\x69\xa7\xf0\x03\x87\x40\x5b\x43\x97\xa4\xae\xd4\xe6\x68\x60\x75\x28\x1e\xc3\x62\xd6\xab\x87\x47\xa5\xe2\x34\xa2\x4c\x71\xba\xb9\x8c\xdc\x9d\x2c\x87\x2b\xb6\x5a\xc5\x8b\xf1\x79\x1f\x0f\x34\x9c\xee\x9d\x76\xf0\xfe\xbe\x41\xde\x5a\xbf\x0e\xd7\xe7\xb3\x22\x36\xc7\xb3\x9b\xe9\xea\x76\xba\xee\x97\x42\x4e\xaf\xe3\xa5\x99\xa8\x2f\x41\x20\x64\x56\xa6\x38\xef\x06\xb1\xf5\xa2\xe8\xc3\xbc\xfe\x38\xbc\xc4\x95\xa8\x35\xa7\x5c\x8f\x65\x73\x6d\xec\xd6\x84\x8b\xfb\x50\x91\xbc\xf4\xf3\xce\x97\x44\xff\x92\xe8\xff\xa7\x44\x17\x5a\x83\xe5\x12\xfd\xf0\x20\xdd\xeb\x7e\xd7\xd9\xf9\x2b\x00\x00\xff\xff\x83\x2b\x4c\x71\x90\x15\x00\x00"),
		},
		"/coredns.yaml": &vfsgen۰CompressedFileInfo{
			name:             "coredns.yaml",
			modTime:          time.Time{},
			uncompressedSize: 5529,

			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x58\x4b\x77\xdb\xb6\x12\xde\xeb\x57\xe0\xf0\x2e\xb2\x09\x69\xd1\x8a\x6c\x85\x3b\x5f\x3b\x27\xf1\xc9\x8d\xaf\x4e\xe4\x76\x93\x93\x05\x04\x0c\x45\x54\x20\x80\xe2\xe1\x58\x55\xfd\xdf\x7b\x40\xf0\x29\xd9\x96\xdc\xb4\x3b\xc3\x0b\x53\x98\xc1\x60\xe6\xc3\x37\x83\x47\x1c\xc7\xa3\xff\xa0\x85\x74\x9a\x40\x86\x88\xd4\x40\x85\x39\xb1\x50\x2a\x8e\x2d\x98\x13\x22\x45\xce\x56\x25\x56\xc9\x06\x97\x7c\x84\x15\xfb\x15\xb4\x61\x52\x64\xe8\x2e\x1d\xad\x99\xa0\x19\xba\xac\x74\xbe\x60\x35\x2a\xc1\x62\x8a\x2d\xce\x46\x08\x09\x5c\x76\x16\x47\x08\x71\xbc\x04\x6e\xbc\x04\x21\xac\x54\xb2\x76\x4b\xd0\x02\x2c\x98\x84\xc9\x93\x12\x0b\xbc\x02\x1a\x2f\x37\x19\x8a\x3e\x01\x2f\xa3\x27\x14\x99\x30\x16\x0b\xef\x6c\x54\xdb\x0e\x9a\x05\xf0\x32\x31\xc5\x09\x29\xb0\xb6\x9d\x30\x4e\x93\xf3\x24\x0d\x2a\xeb\x99\x89\xb1\x52\xbb\x23\x87\xf6\x09\x77\xc6\x82\x8e\x0d\xe8\x3b\x56\x4d\x63\xb5\x83\xc7\x34\x43\x80\xd1\xa5\xd4\x70\x75\xb3\x78\xca\xdf\x21\x0c\x0d\x38\x7e\x50\xce\x38\x64\xe8\xcf\xb8\x1a\x98\x64\xd3\x09\xda\x56\x9f\xbe\x81\xd6\x52\x9b\xf6\x67\x01\x98\xdb\xa2\x27\xf7\x8d\xe3\x12\xa8\x23\x6b\x34\xed\x14\x1f\xda\x2f\x0d\x98\x6e\xda\x5f\x9d\x4f\xa8\x0e\x30\xe1\x92\x60\x8e\x98\x88\x31\xa5\x3a\xc1\x5a\x61\xc4\xd4\x59\xf8\x18\x4e\xa4\x24\x35\x88\x09\x03\xc4\x69\x18\x48\x72\xcc\xb9\x2d\xb4\x74\xab\xe2\x71\x4b\x03\x6d\x6b\x39\x9a\x8c\x1f\xf1\x55\x69\x59\x82\x2d\xc0\x19\x34\x4e\xaa\xbf\xec\x7d\x3a\x9d\xb4\xf2\x5c\xea\x1f\x58\x53\x94\xa0\x13\xb0\xe4\x44\x83\x91\xfc\x2e\xf1\xd4\x6c\x55\x08\x26\x05\xf4\xad\x73\x29\x55\x0f\x0c\x2e\x31\xed\xc9\x30\x5d\x62\xee\x69\x34\x0a\x9e\x1c\x4c\x83\x00\x9a\x96\x1c\xf6\x13\x41\x2f\x31\x49\xb0\xb3\x85\xd4\xec\x0f\x6c\x99\x14\xc9\x7a\x56\x2d\x7e\x97\x22\x61\xfc\x57\xc9\xe1\x35\x49\x0e\x25\x89\x76\x1c\x4c\x36\x8a\x11\x56\xec\xa3\x96\x4e\x55\x80\xc4\x28\xf2\xc3\xfd\xe2\xfb\x55\xaa\xfb\x40\x50\x25\x99\xb0\xa6\xfa\x55\xfb\x13\x7e\x78\xda\x56\x1f\xde\xba\x51\x38\xf4\xdf\x81\x5e\xd6\x63\x39\x33\xb6\xfa\xf8\x81\x2d\x29\x5e\xc2\x81\x25\x13\x94\x89\xd5\xcf\x52\xe1\xbf\xc1\xcc\x2b\x23\x0e\x32\x42\x72\xf8\x0a\xb9\x47\xa1\xe1\xc4\x33\x58\x8f\x10\xda\xcf\xba\x5d\x64\x8d\x5b\xfe\x06\xc4\x56\x3c\x0b\xda\x8b\xe0\xfa\x05\x21\xd2\x09\xdb\x0e\xa0\x90\x63\xc7\x9b\xdf\x15\x8f\xb2\x2a\xa4\xd8\x6c\x8c\x85\xf2\x20\x6f\x6a\x48\x9e\xd9\x40\xeb\x99\x5f\x79\x70\x88\x07\x08\x61\x21\xa4\xad\x16\xbb\xc6\xa2\xdb\x3b\xbc\xba\x92\x95\xf7\x7e\xf7\x88\x1e\x11\x1b\xa2\xb1\xea\x9c\x32\x0a\x88\xb7\x62\x80\x03\xb1\x52\x3f\x85\xee\x53\xa0\x3d\x81\xc8\xe1\x28\x6a\x94\xae\xe7\x19\x8a\xb6\x5b\xc4\x04\x85\x7b\x94\xdc\x48\x0a\xe1\x2c\xe5\x74\xe0\xf3\x67\xb7\x04\x0e\x76\xd8\x59\xb3\xfa\xea\x66\x81\xc6\xe8\xe1\xc1\xcf\xe9\xc3\xae\x8b\xda\x36\x40\x30\x9d\xbc\xf5\xb1\x5b\x49\x24\xcf\xd0\x2f\x57\xf3\xb7\x35\xa3\x1c\x55\xf1\x74\xf2\xf0\xb4\xee\xed\x65\xab\x6b\x49\xa3\x6b\x37\x1e\xb6\xcb\xc6\xed\x83\x9c\xa7\x18\x4a\x29\x0c\xd8\x7d\xd6\x63\xa5\x4c\x57\x0d\xaf\x2a\xc5\x05\xd8\x57\xf2\x1f\xa2\xcd\xe3\x6c\x2d\xfd\xde\xf5\xbf\x1e\x3e\x2f\x09\xfc\xc9\xb8\x8e\x21\x71\xb3\xda\xb5\x1f\xbd\xe5\x0b\xa7\xd3\xbe\x4b\xcf\x4c\x74\xcc\x54\x2f\x8f\x6b\xaf\x4e\x54\x87\xc4\x02\xc8\xda\xb8\xb2\xbe\xd5\x64\xe8\xdd\xe4\x94\xe0\xb3\xd3\x19\xcc\xc6\x93\xf7\xa7\x64\x32\x4d\xd3\xf3\x73\x32\x4e\x69\x3e\x5d\x4e\x20\x3d\x7d\x47\x66\xe7\xd3\x09\x85\xd9\x94\x42\x7e\x76\xbe\x7c\x97\x03\x3e\x3b\x1b\xe3\xb3\x49\x3a\xa5\x29\x2c\x5b\xcb\x86\x14\x40\x1d\x07\x9d\x60\xae\x0a\xbc\xe3\x26\xd1\xcc\x32\x82\x79\xac\x24\xcd\xd0\x9b\x37\x47\x0e\xb3\x92\x83\xae\x63\x40\x6f\xbe\x6d\xa3\x35\x6c\xa2\x2c\xba\xac\xad\x5d\x50\x2a\x85\xf9\xbf\xe0\x9b\xe8\x2d\x8a\xa4\xf2\xba\x52\x47\x59\xf4\xe1\x9e\x19\x6b\xa2\x87\xef\x61\xa2\x86\x37\xd5\xf7\x60\x8f\xbb\xd9\xd9\xe0\x7c\xa3\xc2\xcc\x25\x67\x64\x93\xa1\xab\x81\x00\xe7\x39\x13\xcc\x6e\x3a\x38\x85\xa4\x70\xb1\xd7\xeb\x8f\x68\xbf\x3b\xa6\x81\x5e\x39\xcd\xc4\x6a\x11\x62\x64\x62\x75\xbd\x12\xb2\xed\xfe\x70\x0f\xc4\xf9\xd8\xb2\xc1\x1d\xc1\xdb\x5c\xd4\x04\xbf\x05\x5d\x9a\xa1\x38\x0e\x7c\xff\x70\xaf\x34\x18\x33\x5c\xdd\x46\x63\x0d\x9b\xac\xb2\x13\x57\xc7\xf5\xdd\x5a\xe1\x33\x74\x67\x0c\x42\x0d\x7a\x19\x0a\xe0\x75\x57\x13\x49\x2f\x84\x65\xff\x6c\x98\x71\xc8\x8e\xc5\x20\x91\xbb\x76\x64\x88\x75\x46\x3d\x13\xcb\xb5\xd8\x13\xde\x61\xee\x60\xcf\x62\x65\xd3\x1f\x69\xfa\xe9\xe6\x9b\x95\x4a\x72\xb9\xda\x7c\xae\x26\x1c\x20\x59\x48\x63\x7d\x9e\x8e\x1a\xcd\x8e\xac\xa3\x1d\x4f\xf7\x19\x3b\x3a\x02\xfa\x18\x41\x9e\x03\xb1\x19\xba\x91\x35\xba\xfd\xdb\xe7\xf1\xcb\x4c\xa4\xb0\x98\x09\xd0\xad\x67\x71\xbd\xc3\xec\xd7\x22\x56\xe2\x55\x4f\x70\x52\xff\xcf\xb6\x5b\x94\xd4\xd5\xba\xde\xc9\xea\xad\xb7\x37\x6c\xee\x38\x6f\x72\xe7\x3a\xbf\x91\x76\xae\xc1\x80\xb0\x5d\x01\xd3\x2b\x93\xa1\x6f\x28\x8a\x7d\x01\xf2\x59\x5b\xdd\x67\x9b\xb9\x9a\x47\x81\x08\x7d\x6f\x87\xdc\x49\xee\x4a\xf8\xe2\xb3\x75\x80\x6b\x53\x21\x7d\x1d\x8b\x83\x52\x0f\x9b\xd2\xeb\xcf\xb1\x2d\x32\xd4\x9f\xa1\x77\x1f\xee\x5d\xa2\x9a\xc6\x59\xc9\xec\x0e\x35\x88\x72\x19\x4a\xc7\xe3\x72\xd0\x5b\x42\x29\xf5\x26\x43\xe9\xe9\xec\x0b\xdb\xc9\x08\x30\x3f\x63\xa3\x3d\xc8\x34\x71\x6e\xdb\xc5\x9b\x1f\x7b\xae\x39\x6e\xe8\xa3\xc7\x9c\xd0\xba\x77\x02\x76\x07\x02\x8c\x99\x6b\xb9\x84\x7e\x50\x85\xb5\xea\x23\xd8\x61\x9c\x2a\xe0\x1d\xde\x6a\x76\x1e\x50\xfc\xfc\xb3\xf1\x6c\x3c\xe8\xf6\xd5\xdf\xcf\xff\xe9\xf6\x76\xde\x13\xf8\x42\xc3\x30\xbf\x02\x8e\x37\x0b\x20\x52\x50\x93\xa1\xb3\xfe\x50\xcb\x4a\x90\xce\xb6\xc2\x69\x4f\x66\x1c\x21\x60\xcc\x6d\xa1\xc1\x14\x92\xd3\x0c\xa5\x3d\x69\x8e\x19\x77\x1a\x7a\xd2\xe9\xe0\xc5\x88\xbd\x38\xdc\xe1\x3b\x53\x2f\xda\x74\x96\xfe\xed\x68\xd3\x7f\x3b\xda\x90\x31\x2f\xc8\x28\xd2\xbc\x71\xee\x6c\x57\x8f\x1e\x54\xaa\xb8\x2c\xec\x6f\x5e\xa1\x1a\xd6\x69\xbe\x53\x83\x03\x9e\xad\xf0\xaf\x00\x00\x00\xff\xff\xd7\x1e\xea\xc2\x99\x15\x00\x00"),
		},
		"/kube-proxy.yaml": &vfsgen۰CompressedFileInfo{
			name:             "kube-proxy.yaml",
			modTime:          time.Time{},
			uncompressedSize: 1741,

			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x41\x6f\xeb\x36\x0c\xbe\xfb\x57\xf0\xb0\xc3\x76\x90\x8d\xdd\x0a\x03\xef\x10\xe4\xb5\xc0\xb0\x35\x0d\x5a\x6c\xc0\x4e\x03\x2d\xd3\xa9\x10\x59\x34\x24\xda\x8b\x91\xf5\xbf\x0f\x8a\x5d\xc7\x6e\x92\xf6\xe9\x62\x83\xa4\x3e\x92\xdf\x47\x51\x29\x95\x60\x63\xfe\x22\x1f\x0c\xbb\x1c\xb0\x69\x42\xd6\xfd\x9a\xec\x8d\x2b\x73\xf8\x8e\x54\xb3\x7b\x21\x49\x6a\x12\x2c\x51\x30\x4f\x00\x2c\x16\x64\x43\xfc\x03\xd8\xdf\x05\x85\x4d\x93\xc3\xbe\x2d\x48\x35\x9e\x0f\x7d\x02\xe0\xb0\xa6\x2b\xa6\xd0\xa0\x7e\xb7\x87\x3e\x08\xd5\x49\x68\x48\x47\xa4\x40\x96\xb4\xb0\x1f\x50\x6b\x14\xfd\xfa\xc7\x2c\xcd\xad\x44\x6d\x53\xa2\xd0\x8b\x78\x14\xda\xf5\x43\xac\xf4\x0d\xe5\xf0\xcc\xd6\x1a\xb7\xfb\xf3\x14\x90\x00\x08\xd5\x8d\x45\xa1\x31\xc1\xac\x9d\x78\xec\x22\xd7\xad\x6c\x00\xef\xe5\xc6\xd3\x78\xc3\xde\x48\xbf\xb6\x18\xc2\xe6\xd4\xf1\xd0\x94\x72\x5c\x92\xd2\xde\x88\xd1\x68\xc7\x68\xcd\x4e\xd0\x38\xf2\x53\x16\x75\x8d\xa6\xe1\x98\x1a\x77\xd1\x73\x17\xd2\x9d\xf6\xa9\xe1\xec\x1c\x94\x77\xc7\x23\xa4\x1b\x2e\x69\xcd\xae\x32\xbb\xd6\xa3\x18\x76\xe9\xef\x6d\x41\xde\x91\x50\x18\xc5\x84\xb7\xb7\x25\xe0\xb6\xb5\x76\xcb\xd6\xe8\x3e\x87\xdf\xaa\x0d\xcb\xd6\x53\x20\x27\x53\x94\xe6\xba\x46\x57\x9e\x69\x50\x90\xb5\xc1\x67\x96\x35\xda\xac\x30\x2e\xbb\x52\xab\x02\xa5\xf4\xa9\x92\x6f\x59\x87\x3e\xb3\xa6\x98\x85\x65\x83\x2b\x8d\x9f\xc5\x95\x57\x0e\x12\xfb\x57\xdc\x91\xf7\xa6\xa4\x6f\x3f\xfd\xbc\x79\xfa\x7e\xff\xcf\x66\xf5\x78\xff\xcb\x14\x1a\x48\xb7\x27\x92\xd9\x09\x1d\xe4\x5c\xda\x89\xff\xce\x58\xda\x51\x99\x83\xf8\x96\x26\x57\xc7\xb6\xad\xe9\x91\x5b\x27\x61\xde\x4b\x1d\x2d\x5b\x94\xd7\x1c\xae\x54\x3a\x43\xbe\xa9\xcb\x12\xc3\xb7\x2e\x3b\x08\x16\x96\x42\x6a\x59\xef\x2f\x10\x46\xa7\xfa\xe0\xf4\x84\xe5\x93\xb3\x7d\x0e\x15\xda\x40\x37\xd0\x63\x75\x35\x97\xad\xa5\x70\x01\x6c\x4d\xa1\x2e\x7d\x67\xdc\x05\x1d\xe4\xba\x39\x6d\xef\x63\x37\x91\x3d\xf3\x01\x74\x68\x5b\x7a\xf0\x5c\xe7\x0b\x33\x40\x65\xc8\x96\xcf\x54\x7d\xb4\x8f\x9e\xa1\xe8\xf8\x3c\xd2\x38\xfd\xf1\x39\x8c\x81\x51\xe8\x0d\xc9\xbf\xec\xf7\x8b\xc2\x02\xf9\xce\x68\x5a\x69\x1d\x9b\xde\x5c\xa7\x7c\x90\xf2\x47\x9e\xcc\x30\x67\x8f\xd8\xe4\x5f\x0b\xa9\x3e\xd3\x27\xd6\x7b\xea\x66\x3e\x6a\x5f\x0a\x3e\x2c\x9d\x07\x63\xe9\xc9\xaf\x3d\x0d\x3b\x67\x9e\xeb\x9a\x64\x9f\xa4\xba\x54\x5f\xd8\xd2\xf0\xd4\x67\x74\xec\xa9\xcf\x61\x3d\x6e\x9a\x55\x59\xb2\x0b\x71\x02\x26\x3c\x6e\xe2\x1d\xf6\x39\xdc\x1f\x4c\x90\x30\x5d\xbc\xe1\x88\xda\xbd\x2c\x56\x71\x3c\x05\x09\xa6\xfb\x69\xbf\xc4\x7d\xc4\x21\xb6\xe4\xda\xc3\x18\x74\x3c\x2a\x30\x15\x9c\xb6\xd0\x36\x52\xbd\x5c\x4e\xab\xaa\x32\xce\x48\x7f\xde\x49\x38\x5a\xf2\xe4\x78\x04\xe1\xbf\xb1\xb6\x5f\xdf\xfe\x0f\x8c\x2b\xc9\x09\xdc\x9d\x81\x62\x66\x72\x65\x34\xfc\x1f\x00\x00\xff\xff\x3e\xb5\x40\x06\xcd\x06\x00\x00"),
		},
		"/psp-privileged.yaml": &vfsgen۰CompressedFileInfo{
			name:             "psp-privileged.yaml",
			modTime:          time.Time{},
			uncompressedSize: 1460,

			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x53\xc1\x6a\x1b\x31\x10\xbd\xef\x57\x0c\xf4\xb0\x50\xd8\x4d\x43\x49\x29\xba\xa5\x4e\x29\x86\x10\x16\x97\xf6\x12\x7a\x98\xd5\x8e\x6d\xd5\x5a\x49\x68\xa4\x4d\xdc\xaf\x2f\xd2\xae\x5d\x1b\xd7\xad\x03\xed\x51\x33\x6f\xde\x9b\x79\x33\x42\xa7\xbe\x92\x67\x65\x8d\x00\x67\xb5\x92\xdb\xab\xe1\xba\xa5\x80\xd7\xc5\x46\x99\x4e\x40\x63\xbb\xcf\x24\xa3\x57\x61\xdb\xe4\x7c\xd1\x53\xc0\x0e\x03\x8a\x02\xc0\x60\x4f\x02\x9c\x57\x83\xd2\xb4\xa2\xae\x00\x40\x63\x6c\xc0\xa0\xac\xe1\x84\x00\x60\x92\xd2\xf6\xae\xe6\x89\xa6\x46\xed\xd6\x58\x6f\x62\x4b\xde\x50\x20\xae\x95\xbd\x42\xad\xed\x13\x75\x8d\xb7\x4b\xa5\xe9\x01\x7b\x62\x01\xe5\xeb\xb2\x60\x47\x32\xf1\xfc\xd2\x10\x10\x7c\xa4\xa4\x94\x6a\x9a\x5d\xfc\x23\x4b\xd4\x59\xf7\x18\x40\xdd\x0c\x1d\xb6\x4a\xab\xa0\x28\xb7\x54\x65\x62\x80\xc1\xea\xd8\x1f\x87\xd6\x96\xc3\x03\x85\x27\xeb\x37\x7b\x96\x14\x6b\xac\x0f\x13\xb0\x57\x46\xc0\x9b\x3c\x59\x8f\xcf\x02\xde\xdd\xdc\xbc\xbd\x99\x60\xf3\x66\x76\x5c\x36\xbf\xdb\xbf\x7d\x34\xb7\xfc\x85\xc9\x8f\xae\xf8\xa8\x49\x40\xb9\x48\xd1\x5b\xb3\x4d\xe2\x4c\xf7\xca\xc4\xe7\xf3\xf9\xe8\x9c\xa6\x9e\x4c\x40\xfd\xc9\xdb\xe8\xf8\x2c\x74\xc9\x19\x70\x26\x5f\x55\xd5\xb4\xdd\x99\x8e\x1c\xc8\x2f\xac\xa6\xe2\xf0\x14\x7c\x8b\xb2\xc6\x18\xd6\xd6\xab\x1f\xd9\xd4\x7a\xf3\x3e\x2f\x6a\xb8\xfe\xdd\x01\xb0\x13\x07\x47\x90\x04\x59\x14\x15\xa0\x53\x53\xa3\xf0\x58\x8e\xe7\x55\x7e\x4b\x5e\x10\xdb\xe8\x25\x4d\xf1\x6e\x77\x1a\x19\xa2\x88\x33\x68\x20\xdf\xb2\x48\x03\xc0\x63\x19\x99\x8e\x2a\xc7\x0b\xc9\x0b\x39\x10\x4e\x83\x5d\x3c\xc6\x89\x03\x1f\x94\xe9\x94\x59\x5d\x30\x9f\xd5\xb4\xa0\x65\xca\xef\x26\xfc\x83\x56\x01\x70\x6a\xf6\x19\x66\x8e\xed\x77\x92\x21\x9b\x37\x16\x65\xf6\x8b\x85\x46\x52\xde\x72\xa0\x5e\x30\xf9\x41\x49\x42\x29\x6d\x34\x81\x45\xfa\x71\xd5\x98\x3b\xa1\xff\x7b\xa1\xb1\x1d\x55\x9a\x90\xe9\xc2\x6e\x5e\x2e\xe1\x62\xab\x95\xfc\x1f\xf4\x1d\x2d\x31\xea\xf0\x2f\xa8\x93\x0f\xfc\x42\xa2\xf4\xed\x2f\xde\xe1\x2b\xb8\xa7\x15\xca\x2d\x24\x25\x98\xdf\xed\x1b\x48\x1e\x69\x0a\xc5\xcf\x00\x00\x00\xff\xff\x01\x43\x9a\x99\xb4\x05\x00\x00"),
		},
		"/psp-restricted.yaml": &vfsgen۰CompressedFileInfo{
			name:             "psp-restricted.yaml",
			modTime:          time.Time{},
			uncompressedSize: 2195,

			compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x55\xcd\x6e\x23\x37\x13\xbc\xcf\x53\x34\xe0\x83\x0e\x9f\x25\xc3\xf8\xe0\x20\x98\x9b\x62\xef\x06\x06\xbc\x5e\xc1\x9b\xec\x65\x91\x43\x8b\x6c\x69\x18\x71\x48\xa6\xbb\x29\xad\xf2\xf4\x01\x39\xa3\x1f\xef\x1f\x74\x49\x8e\xd3\x22\xab\xaa\xbb\x9a\x25\x4c\xee\x23\xb1\xb8\x18\x5a\x48\xd1\x3b\xb3\xbf\xd9\xde\x2e\x49\xf1\xb6\xd9\xb8\x60\x5b\x58\x44\xfb\x81\x4c\x66\xa7\xfb\x45\xfd\xbd\xe9\x49\xd1\xa2\x62\xdb\x00\x04\xec\xa9\x05\x4b\x2b\xcc\x5e\xa7\xc6\x67\x51\xe2\x29\x93\x28\x3b\xa3\x64\x1b\x00\x0c\x21\x2a\xaa\x8b\x41\xca\x0d\x00\x21\x63\x62\x9f\x66\x32\xc2\xce\xd0\xa7\x0e\x67\x9b\xbc\x24\x0e\xa4\x24\x33\x17\x6f\xd0\xfb\xb8\x23\xbb\xe0\xb8\x72\x9e\x9e\xb1\x27\x69\x61\x62\xa3\xd9\x10\xdf\x8c\x7c\xd7\x9c\x83\xba\x9e\x0e\xdf\x93\x0a\x8f\x29\x21\xf7\x91\x4f\xf8\xa5\x9d\x8b\xe0\xbf\x89\x77\x91\xdc\xf1\xc6\x19\x5e\x0b\xdf\xc1\xbb\x48\xdf\x85\x78\x92\xc8\x94\xa1\x26\x76\x5b\xe7\x69\x4d\xb6\x85\x15\x7a\xa1\x06\xe0\x0a\x5e\xe8\xaf\xec\x98\x2c\x68\x84\xc4\xb4\xa5\xa0\x40\x62\xd0\x0f\x6e\x94\x32\xc7\xa8\xb3\x62\x52\x99\xc7\xe2\x80\xf2\xe6\x78\xe8\x1c\xee\xb7\xce\x09\x38\x01\x26\x9b\x83\xc5\xa0\xb0\x73\xda\x41\x88\x61\x5a\x60\xe0\x7f\x60\x9d\x54\xa0\x93\x9e\x33\xbe\xeb\x0a\xb2\xcc\x0a\x3b\x02\x83\x01\x12\xc7\xad\xb3\x04\x4e\x61\x15\xb9\x2c\x11\x05\x21\x70\x01\x2c\x25\xed\x8a\x2c\x1e\x3b\x78\xe0\x98\xee\x31\xe1\xd2\x79\xa7\x8e\xc6\x45\x9a\xc2\xfc\xe9\xa9\xa2\xce\x2b\xab\x89\x4c\xb0\x8d\x3e\xf7\x04\xba\x4f\x24\x05\x62\xf8\x3e\xde\x98\x98\x18\x56\x6e\xfd\x0e\xd3\xe4\x50\xa1\x3e\xe9\xfe\xc1\xf1\xb1\x90\x38\xfe\x49\x65\x7b\x8f\x15\x21\xc3\xa4\xc7\x4f\x1b\x77\x61\x87\x6c\xe7\x8b\xc7\xa1\x76\x05\x73\x91\x4a\xdb\xa1\x42\x2a\x0f\x4a\x94\x82\x7e\x1c\xc8\x41\x48\x21\x27\x58\xee\x41\x3b\x82\xf1\x99\x00\xda\xde\x05\x40\x26\x10\x5c\x51\xb1\x23\x0b\xcd\x8e\x2a\xbe\x40\xb9\xf7\xe8\xfa\x42\xd7\x45\xd1\x67\xd2\x5d\xe4\xcd\xc9\x9e\x52\x7c\x5c\xdc\xbf\x2e\x2c\x1e\x1f\x4e\x05\xce\x61\x2e\xbf\x0b\x71\x3b\x4a\x1e\xd7\x63\x90\x14\x83\xa2\x0b\xc4\x75\x29\x72\xa8\xd6\xc6\xac\x75\x41\x4e\x76\xca\xa0\x8e\xb3\xa7\x16\x26\xef\xb2\xe8\x4b\x41\x7d\x8e\xe1\x25\xc6\x3a\x1f\xa1\x27\x17\xf2\xe7\x03\x47\xdd\x99\x21\x57\x00\xeb\x88\xa4\xf2\x85\x68\x49\x6a\xeb\x59\x5c\x58\xc3\x3c\xa5\x79\x79\x14\xc0\xa8\x5d\x51\xd1\x61\x80\x0f\x6f\x2a\xd6\x2b\xce\xca\x37\x0f\xfb\xca\x95\x53\xf2\xd4\x53\x50\xf4\xbf\x72\xcc\x69\x74\xf9\x4b\x79\x83\x47\x8c\x61\x7d\xd8\x83\x22\xed\x6d\xe4\xa5\xb3\x80\xd6\x16\x01\x45\x54\xed\x75\x5d\x80\x66\xe3\xa9\x29\xf4\x2e\xb4\x70\x3b\x7e\x02\xf4\xf8\xb9\x85\x9f\xee\xee\xfe\x7f\xd7\x00\xac\xa4\xb2\xfe\xb7\xa4\x4c\x68\xdf\x07\xbf\x2f\x03\x7f\xeb\x3c\xc9\x5e\x94\xfa\x83\xcd\xd3\xe9\x74\xcc\xed\xfb\x61\xc9\x5e\xa2\xa7\xe6\x3c\xe4\x79\x89\x66\x86\x59\xbb\xc8\xee\xef\xfa\x30\x67\x9b\x9f\x6b\xe6\x6c\x6f\xbf\x11\xed\x49\x52\x7b\x16\xe7\xa5\x4b\x69\x9b\x29\x60\x72\xe3\xc8\xe1\xd3\x64\x30\x78\xf2\x47\x95\x27\x31\xb3\xa1\xb1\x6e\x0f\x21\x57\x8f\x38\x92\x7a\x68\x4b\xbc\x94\xb6\xf6\xf6\x69\x92\x85\x5e\xdd\x1c\xc2\xb8\x29\x73\xf8\xc1\xff\x4a\x69\xf4\xe2\xb6\xbe\x9a\xc8\x2f\x2e\x14\x03\x2e\xe8\x37\x7a\x7a\xa1\x55\xf9\xfd\xd0\xf1\x0f\xb8\x1a\x80\xaf\x87\xff\x1d\x64\xc9\xcb\x12\x32\xd2\x36\x57\x30\x1f\xb1\xa8\xe4\x30\x08\xf1\xd6\x19\x02\x34\x26\xe6\xa0\x52\x12\x11\x2b\x88\x24\x34\x54\xa6\x3f\xb0\x54\x39\x17\x2b\x1b\x54\x8c\xeb\x32\x72\x1c\x28\x9a\x2b\x78\xcf\x50\xf2\x60\x8b\x9e\x82\xfa\xfd\x75\x95\x52\xa0\x28\xa8\x33\xa8\x64\x4b\x3a\xf1\xbf\xa2\xe6\x15\x4d\xf3\x4f\x00\x00\x00\xff\xff\x55\x10\x47\xf6\x93\x08\x00\x00"),
		},
	}
	fs["/"].(*vfsgen۰DirInfo).entries = []os.FileInfo{
		fs["/audit-policy.yaml"].(os.FileInfo),
		fs["/coredns.yaml"].(os.FileInfo),
		fs["/kube-proxy.yaml"].(os.FileInfo),
		fs["/psp-privileged.yaml"].(os.FileInfo),
		fs["/psp-restricted.yaml"].(os.FileInfo),
	}

	return fs
}()

Files statically implements the virtual filesystem provided to vfsgen.

Functions

func Execute

func Execute(path string, v interface{}) ([]byte, error)

Execute applies a template from embedded files in this package.

func RunControlPlane

func RunControlPlane(ctx context.Context, rc *RuntimeConfig, cfg *config.ControlPlaneConfiguration) error

RunControlPlane creates a new control plane node.

func RunWorkerNode

func RunWorkerNode(ctx context.Context, rc *RuntimeConfig, cfg *config.WorkerConfiguration) error

RunWorkerNode creates a new worker node.

Types

type Cluster

type Cluster struct {
	// contains filtered or unexported fields
}

func New

func New(kubeConfigFile string, rc *RuntimeConfig) *Cluster

func (*Cluster) Add

func (c *Cluster) Add(fns ...interface{})

func (*Cluster) Client

func (c *Cluster) Client() *kubernetes.Clientset

func (*Cluster) Config

func (c *Cluster) Config() *rest.Config

func (*Cluster) ControlPlanePreCheck

func (c *Cluster) ControlPlanePreCheck(ctx context.Context, cfg *config.ControlPlaneConfiguration) error

func (*Cluster) CreateNodeCerts

func (c *Cluster) CreateNodeCerts(ctx context.Context, cfg *config.ControlPlaneConfiguration) error

CreateNodeCerts generates certs specific to the node. This should run after the shared cluster certs have been created/downloaded.

func (*Cluster) CreateOrDownloadCerts

func (c *Cluster) CreateOrDownloadCerts(ctx context.Context, cfg *config.ControlPlaneConfiguration) error

func (*Cluster) DeployCoreDNS

func (c *Cluster) DeployCoreDNS(ctx context.Context, cfg *config.ControlPlaneConfiguration) error

func (*Cluster) DeployKubeProxy

func (c *Cluster) DeployKubeProxy(ctx context.Context, cfg *config.ControlPlaneConfiguration) error

func (*Cluster) EnableCSRApprover

func (c *Cluster) EnableCSRApprover(ctx context.Context, cfg *config.ControlPlaneConfiguration) error

func (*Cluster) MarkControlPlane

func (c *Cluster) MarkControlPlane(ctx context.Context, cfg *config.ControlPlaneConfiguration) error

func (*Cluster) StartKubelet

func (c *Cluster) StartKubelet(ctx context.Context, cfg *config.NodeConfiguration) error

func (*Cluster) StopKubelet

func (c *Cluster) StopKubelet(ctx context.Context, cfg *config.NodeConfiguration) error

func (*Cluster) UploadAuthProxyCA

func (c *Cluster) UploadAuthProxyCA(ctx context.Context, cfg *config.ControlPlaneConfiguration) error

func (*Cluster) UploadETCDSecrets

func (c *Cluster) UploadETCDSecrets(ctx context.Context, cfg *config.ControlPlaneConfiguration) error

func (*Cluster) UploadInfo

func (c *Cluster) UploadInfo(ctx context.Context, cfg *config.ControlPlaneConfiguration) error

func (*Cluster) WaitClusterAvailable

func (c *Cluster) WaitClusterAvailable(ctx context.Context, cfg *config.ControlPlaneConfiguration) error

func (*Cluster) WorkerPreCheck

func (c *Cluster) WorkerPreCheck(ctx context.Context, cfg *config.WorkerConfiguration) error

func (*Cluster) WriteBootstrapKubeletConfig

func (c *Cluster) WriteBootstrapKubeletConfig(ctx context.Context, cfg *config.WorkerConfiguration) error

func (*Cluster) WriteBootstrapServerManifest

func (c *Cluster) WriteBootstrapServerManifest(ctx context.Context, cfg *config.ControlPlaneConfiguration) error

func (*Cluster) WriteKubeConfigs

func (c *Cluster) WriteKubeConfigs(ctx context.Context, cfg *config.ControlPlaneConfiguration) error

func (*Cluster) WriteKubeManifests

func (c *Cluster) WriteKubeManifests(ctx context.Context, cfg *config.ControlPlaneConfiguration) error

func (*Cluster) WriteKubeletConfigs

func (c *Cluster) WriteKubeletConfigs(ctx context.Context, cfg *config.NodeConfiguration) error

type ClusterFile

type ClusterFile struct {
	Name string `e2db:"id"`
	Mode os.FileMode
	Data []byte
}

func (*ClusterFile) Write

func (c *ClusterFile) Write() error

type RuntimeConfig

type RuntimeConfig struct {
	KubeletTimeout time.Duration
	Verbose        bool
}

Directories

Path Synopsis
Package bootstrap contains functions for bootstrapping Kubernetes nodes.
Package bootstrap contains functions for bootstrapping Kubernetes nodes.
Package components contains functions for configuring and creating Kubernetes components.
Package components contains functions for configuring and creating Kubernetes components.

Jump to

Keyboard shortcuts

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