Documentation

Overview

    Package cluster implements kind kubernetes-in-docker cluster management

    Index

    Constants

      DefaultName is the default cluster name

      Variables

      This section is empty.

      Functions

      This section is empty.

      Types

      type CreateOption

      type CreateOption interface {
      	// contains filtered or unexported methods
      }

        CreateOption is a Provider.Create option

        func CreateWithConfigFile

        func CreateWithConfigFile(path string) CreateOption

          CreateWithConfigFile configures the config file path to use

          func CreateWithDisplaySalutation

          func CreateWithDisplaySalutation(displaySalutation bool) CreateOption

            CreateWithDisplaySalutation enables display a salutation at the end of create cluster if displaySalutation is true

            func CreateWithDisplayUsage

            func CreateWithDisplayUsage(displayUsage bool) CreateOption

              CreateWithDisplayUsage enables displaying usage if displayUsage is true

              func CreateWithKubeconfigPath

              func CreateWithKubeconfigPath(explicitPath string) CreateOption

                CreateWithKubeconfigPath sets the explicit --kubeconfig path

                func CreateWithNodeImage

                func CreateWithNodeImage(nodeImage string) CreateOption

                  CreateWithNodeImage overrides the image on all nodes in config as an easy way to change the Kubernetes version

                  func CreateWithRawConfig

                  func CreateWithRawConfig(raw []byte) CreateOption

                    CreateWithRawConfig configures the config to use from raw (yaml) bytes

                    func CreateWithRetain

                    func CreateWithRetain(retain bool) CreateOption

                      CreateWithRetain disables deletion of nodes and any other cleanup that would normally occur after a failure to create This is mainly used for debugging purposes

                      func CreateWithStopBeforeSettingUpKubernetes

                      func CreateWithStopBeforeSettingUpKubernetes(stopBeforeSettingUpKubernetes bool) CreateOption

                        CreateWithStopBeforeSettingUpKubernetes enables skipping setting up kubernetes (kubeadm init etc.) after creating node containers This generally shouldn't be used and is only lightly supported, but allows provisioning node containers for experimentation

                        func CreateWithV1Alpha4Config

                        func CreateWithV1Alpha4Config(config *v1alpha4.Cluster) CreateOption

                          CreateWithV1Alpha4Config configures the cluster with a v1alpha4 config

                          func CreateWithWaitForReady

                          func CreateWithWaitForReady(waitTime time.Duration) CreateOption

                            CreateWithWaitForReady configures a maximum wait time for the control plane node(s) to be ready. By default no waiting is performed

                            type Provider

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

                              Provider is used to perform cluster operations

                              func NewProvider

                              func NewProvider(options ...ProviderOption) *Provider

                                NewProvider returns a new provider based on the supplied options

                                func (*Provider) CollectLogs

                                func (p *Provider) CollectLogs(name, dir string) error

                                  CollectLogs will populate dir with cluster logs and other debug files

                                  func (*Provider) Create

                                  func (p *Provider) Create(name string, options ...CreateOption) error

                                    Create provisions and starts a kubernetes-in-docker cluster TODO: move name to an option to override config

                                    func (*Provider) Delete

                                    func (p *Provider) Delete(name, explicitKubeconfigPath string) error

                                      Delete tears down a kubernetes-in-docker cluster

                                      func (*Provider) ExportKubeConfig

                                      func (p *Provider) ExportKubeConfig(name string, explicitPath string) error

                                        ExportKubeConfig exports the KUBECONFIG for the cluster, merging it into the selected file, following the rules from https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#config where explicitPath is the --kubeconfig value.

                                        func (*Provider) KubeConfig

                                        func (p *Provider) KubeConfig(name string, internal bool) (string, error)

                                          KubeConfig returns the KUBECONFIG for the cluster If internal is true, this will contain the internal IP etc. If internal is false, this will contain the host IP etc.

                                          func (*Provider) List

                                          func (p *Provider) List() ([]string, error)

                                            List returns a list of clusters for which nodes exist

                                            func (*Provider) ListInternalNodes

                                            func (p *Provider) ListInternalNodes(name string) ([]nodes.Node, error)

                                              ListInternalNodes returns the list of container IDs for the "nodes" in the cluster that are not external

                                              func (*Provider) ListNodes

                                              func (p *Provider) ListNodes(name string) ([]nodes.Node, error)

                                                ListNodes returns the list of container IDs for the "nodes" in the cluster

                                                type ProviderOption

                                                type ProviderOption interface {
                                                	// contains filtered or unexported methods
                                                }

                                                  ProviderOption is an option for configuring a provider

                                                  func ProviderWithDocker

                                                  func ProviderWithDocker() ProviderOption

                                                    ProviderWithDocker configures the provider to use docker runtime

                                                    func ProviderWithLogger

                                                    func ProviderWithLogger(logger log.Logger) ProviderOption

                                                      ProviderWithLogger configures the provider to use Logger logger

                                                      func ProviderWithPodman

                                                      func ProviderWithPodman() ProviderOption

                                                        ProviderWithPodman configures the provider to use podman runtime

                                                        Directories

                                                        Path Synopsis
                                                        Package constants contains well known constants for kind clusters
                                                        Package constants contains well known constants for kind clusters
                                                        Package nodes provides a kind specific definition of a cluster node
                                                        Package nodes provides a kind specific definition of a cluster node
                                                        Package nodeutils contains functionality for Kubernetes-in-Docker nodes It mostly exists to break up functionality from sigs.k8s.io/kind/pkg/cluster
                                                        Package nodeutils contains functionality for Kubernetes-in-Docker nodes It mostly exists to break up functionality from sigs.k8s.io/kind/pkg/cluster
                                                        internal
                                                        create/actions/config
                                                        Package config implements the kubeadm config action
                                                        Package config implements the kubeadm config action
                                                        create/actions/installcni
                                                        Package installcni implements the install CNI action
                                                        Package installcni implements the install CNI action
                                                        create/actions/installstorage
                                                        Package installstorage implements the an action to install a default storageclass
                                                        Package installstorage implements the an action to install a default storageclass
                                                        create/actions/kubeadminit
                                                        Package kubeadminit implements the kubeadm init action
                                                        Package kubeadminit implements the kubeadm init action
                                                        create/actions/kubeadmjoin
                                                        Package kubeadmjoin implements the kubeadm join action
                                                        Package kubeadmjoin implements the kubeadm join action
                                                        create/actions/loadbalancer
                                                        Package loadbalancer implements the load balancer configuration action
                                                        Package loadbalancer implements the load balancer configuration action
                                                        create/actions/waitforready
                                                        Package waitforready implements the wait for ready action
                                                        Package waitforready implements the wait for ready action
                                                        kubeadm
                                                        Package kubeadm contains kubeadm related constants and configuration
                                                        Package kubeadm contains kubeadm related constants and configuration
                                                        kubeconfig
                                                        Package kubeconfig provides utilities kind uses internally to manage kind cluster kubeconfigs
                                                        Package kubeconfig provides utilities kind uses internally to manage kind cluster kubeconfigs
                                                        loadbalancer
                                                        Package loadbalancer contains external loadbalancer related constants and configuration
                                                        Package loadbalancer contains external loadbalancer related constants and configuration
                                                        logs
                                                        Package logs contains tooling for obtaining cluster logs
                                                        Package logs contains tooling for obtaining cluster logs
                                                        patch
                                                        Package patch contains helpers for applying patches
                                                        Package patch contains helpers for applying patches
                                                        providers/common
                                                        Package common contains common code for implementing providers
                                                        Package common contains common code for implementing providers