Documentation ¶
Overview ¶
Package cluster contains the functions for bootstrapping a Kubernetes cluster node.
Index ¶
- Constants
- Variables
- func Execute(path string, v interface{}) ([]byte, error)
- func RunControlPlane(ctx context.Context, rc *RuntimeConfig, cfg *config.ControlPlaneConfiguration) error
- func RunWorkerNode(ctx context.Context, rc *RuntimeConfig, cfg *config.WorkerConfiguration) error
- type Cluster
- func (c *Cluster) Add(fns ...interface{})
- func (c *Cluster) Client() *kubernetes.Clientset
- func (c *Cluster) Config() *rest.Config
- func (c *Cluster) ControlPlanePreCheck(ctx context.Context, cfg *config.ControlPlaneConfiguration) error
- func (c *Cluster) CreateNodeCerts(ctx context.Context, cfg *config.ControlPlaneConfiguration) error
- func (c *Cluster) CreateOrDownloadCerts(ctx context.Context, cfg *config.ControlPlaneConfiguration) error
- func (c *Cluster) DeployCoreDNS(ctx context.Context, cfg *config.ControlPlaneConfiguration) error
- func (c *Cluster) DeployKubeProxy(ctx context.Context, cfg *config.ControlPlaneConfiguration) error
- func (c *Cluster) EnableCSRApprover(ctx context.Context, cfg *config.ControlPlaneConfiguration) error
- func (c *Cluster) MarkControlPlane(ctx context.Context, cfg *config.ControlPlaneConfiguration) error
- func (c *Cluster) StartKubelet(ctx context.Context, cfg *config.NodeConfiguration) error
- func (c *Cluster) StopKubelet(ctx context.Context, cfg *config.NodeConfiguration) error
- func (c *Cluster) UploadAuthProxyCA(ctx context.Context, cfg *config.ControlPlaneConfiguration) error
- func (c *Cluster) UploadETCDSecrets(ctx context.Context, cfg *config.ControlPlaneConfiguration) error
- func (c *Cluster) UploadInfo(ctx context.Context, cfg *config.ControlPlaneConfiguration) error
- func (c *Cluster) WaitClusterAvailable(ctx context.Context, cfg *config.ControlPlaneConfiguration) error
- func (c *Cluster) WorkerPreCheck(ctx context.Context, cfg *config.WorkerConfiguration) error
- func (c *Cluster) WriteBootstrapKubeletConfig(ctx context.Context, cfg *config.WorkerConfiguration) error
- func (c *Cluster) WriteBootstrapServerManifest(ctx context.Context, cfg *config.ControlPlaneConfiguration) error
- func (c *Cluster) WriteKubeConfigs(ctx context.Context, cfg *config.ControlPlaneConfiguration) error
- func (c *Cluster) WriteKubeManifests(ctx context.Context, cfg *config.ControlPlaneConfiguration) error
- func (c *Cluster) WriteKubeletConfigs(ctx context.Context, cfg *config.NodeConfiguration) error
- type ClusterFile
- type RuntimeConfig
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: 1874, compressedContent: []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x55\xcd\x8e\xe3\x36\x0c\xbe\xfb\x29\x78\xe8\xa1\x3d\xc8\x46\x6f\x03\x03\x7b\x08\xb2\x59\xa0\x68\x27\x13\xec\xa0\x05\x7a\x2a\x68\x99\xce\x08\x91\x45\x43\xa2\xdd\x18\xe9\xbe\x7b\xa1\xd8\x71\xec\x4d\xb2\x33\xbc\x24\xe0\x3f\xf9\x51\x9f\x95\x52\x09\x36\xe6\x2f\xf2\xc1\xb0\xcb\x01\x9b\x26\x64\xdd\xaf\xc9\xc1\xb8\x32\x87\xcf\x48\x35\xbb\x57\x92\xa4\x26\xc1\x12\x05\xf3\x04\xc0\x62\x41\x36\xc4\x7f\x00\x87\xa7\xa0\xb0\x69\x72\x38\xb4\x05\xa9\xc6\xf3\xb1\x4f\x00\x1c\xd6\x74\x47\x15\x1a\xd4\x17\x7d\xe8\x83\x50\x9d\x84\x86\x74\xcc\x14\xc8\x92\x16\xf6\x43\xd6\x1a\x45\xbf\xfd\x31\x2b\xf3\xa8\x50\xdb\x94\x28\xf4\x2a\x1e\x85\xf6\xfd\xe0\x2b\x7d\x43\x39\x7c\x65\x6b\x8d\xdb\xff\x79\x76\x48\x00\x84\xea\xc6\xa2\xd0\x58\x60\x36\x4e\x14\xbb\xa8\xf5\xa8\xda\x20\xa7\x93\x02\x53\x41\xfa\x7b\x5b\xd0\x2e\x5a\xd6\xec\x2a\xb3\x6f\x3d\x8a\x61\x97\x6e\x8e\xe2\x71\xe8\x1d\xbe\x7d\x4b\x4e\x27\x10\xfe\x1b\x6b\xfb\xa1\x80\xff\xc0\xb8\x92\x9c\xc0\x53\x8c\x9d\x57\x24\x57\x5e\x54\x97\x9d\x45\x69\xbc\x61\x6f\xa4\x5f\x5b\x0c\x61\x7b\x5e\xfb\xb0\x59\xe5\xb8\x24\xa5\xbd\x11\xa3\xd1\x8e\xde\x9a\x9d\xa0\x71\xe4\xa7\x51\xd5\x3d\xac\x06\x31\x35\xee\xa3\xe5\x29\xa4\x7b\xed\x53\xc3\xd9\xd5\x29\xef\x4e\x27\x48\xb7\x5c\xd2\x72\x96\x38\xa2\x77\x24\x14\xc6\x8b\x9a\x8f\x71\x4e\xb8\x6b\xad\xdd\xb1\x35\xba\xcf\xe1\xb7\x6a\xcb\xb2\xf3\x14\xc8\xc9\xe4\xa5\xb9\xae\xd1\x95\x57\x2c\x14\x64\x6d\xf0\x99\x65\x8d\x36\x2b\x8c\xcb\xee\xf4\xaa\x40\x29\x7d\xee\xe4\x53\xd6\xa1\xcf\xac\x29\x66\x6e\xd9\x60\x4a\xe3\xcf\x22\xe4\x8d\x83\xc4\xf9\x15\x77\xe4\xbd\x29\xe9\xd3\x4f\x3f\x6f\x5f\x3e\x6f\xfe\xd9\xae\x9e\x37\xbf\x4c\xae\x81\x74\x7b\x5e\x32\x3b\xa1\xa3\x5c\x5b\x3b\xef\xbf\x33\x96\xf6\x54\xe6\x20\xbe\xa5\xc9\xd4\xb1\x6d\x6b\x7a\xe6\xd6\x49\x98\xcf\x52\x47\xcd\x0e\xe5\x2d\x87\x3b\x9d\xce\x32\x3f\xc4\x65\x99\xc3\xb7\x2e\x3b\x0a\x16\x96\x42\x6a\x59\x1f\x6e\x32\x8c\x46\xf5\x9d\xd1\x13\x96\x2f\xce\xf6\x39\x54\x68\x03\x3d\xc8\x1e\xbb\xab\xb9\x6c\x2d\x85\x9b\xc4\xd6\x14\xea\xd6\x76\xcd\xbb\x58\x07\xb9\x6e\xbe\xb6\xcb\xd9\x4d\xcb\x9e\xd9\x00\x3a\xb4\x2d\x7d\xf1\x5c\xe7\x0b\x35\x40\x65\xc8\x96\x5f\xa9\xfa\x5e\x3f\x5a\x86\xa6\xe3\xf3\x48\xe3\xf5\xc7\xe7\x30\x3a\x46\xa0\xb7\x24\xff\xb2\x3f\x2c\x1a\x0b\xe4\x3b\xa3\x69\xa5\x75\x1c\x7a\x7b\x7f\xe5\x03\x94\x1f\x79\x32\xc3\x9d\x3d\x63\x93\xbf\x0f\xa4\xfa\x11\x3e\xb1\xdf\xf3\x34\xf3\x53\x7b\x17\xf0\x81\xf9\xbe\x18\x4b\x2f\x7e\xed\x69\x20\xbe\x79\xad\x7b\x90\xfd\xa0\xd4\x2d\xfa\xc2\x96\x86\xa7\x3e\x5b\xc7\x81\xfa\x1c\xd6\x23\xd3\xac\xca\x92\x5d\x88\x17\x30\xe5\xe3\x26\xc6\xb0\xcf\x61\x73\x34\x41\xc2\x14\xf8\xc0\x10\xb1\x7b\x5d\x7c\x0f\xa2\x14\x24\x98\x1e\x26\x7e\x89\x7c\xc4\x21\x8e\xe4\xda\xe3\xe8\xf4\x0e\x33\xaf\xaa\xca\x38\x23\xfd\x95\x93\x70\xd4\xe4\x1f\xa0\xe9\x29\xfa\x1e\x47\xcf\x18\xfa\xff\x00\x00\x00\xff\xff\x29\x83\x3f\xf0\x52\x07\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 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) Client ¶
func (c *Cluster) Client() *kubernetes.Clientset
func (*Cluster) ControlPlanePreCheck ¶
func (*Cluster) CreateNodeCerts ¶
CreateNodeCerts generates certs specific to the node. This should run after the shared cluster certs have been created/downloaded.
func (*Cluster) CreateOrDownloadCerts ¶
func (*Cluster) DeployCoreDNS ¶
func (*Cluster) DeployKubeProxy ¶
func (*Cluster) EnableCSRApprover ¶
func (*Cluster) MarkControlPlane ¶
func (*Cluster) StartKubelet ¶
func (*Cluster) StopKubelet ¶
func (*Cluster) UploadAuthProxyCA ¶
func (*Cluster) UploadETCDSecrets ¶
func (*Cluster) UploadInfo ¶
func (*Cluster) WaitClusterAvailable ¶
func (*Cluster) WorkerPreCheck ¶
func (*Cluster) WriteBootstrapKubeletConfig ¶
func (*Cluster) WriteBootstrapServerManifest ¶
func (*Cluster) WriteKubeConfigs ¶
func (*Cluster) WriteKubeManifests ¶
func (*Cluster) WriteKubeletConfigs ¶
type ClusterFile ¶
func (*ClusterFile) Write ¶
func (c *ClusterFile) Write() error
type RuntimeConfig ¶
Source Files ¶
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. |
Click to show internal directories.
Click to hide internal directories.