Documentation ¶
Index ¶
- Constants
- func FailureDomainLabel(failureDomain *string) map[string]string
- func List(ctx context.Context, filters container.FilterBuilder) ([]*types.Node, error)
- type ContainerNotRunningError
- type LoadBalancer
- type Machine
- func (m *Machine) Address(ctx context.Context) (string, error)
- func (m *Machine) CheckForBootstrapSuccess(ctx context.Context, logResult bool) error
- func (m *Machine) ContainerImage() string
- func (m *Machine) ContainerName() string
- func (m *Machine) Create(ctx context.Context, image string, role string, version *string, ...) error
- func (m *Machine) Delete(ctx context.Context) error
- func (m *Machine) ExecBootstrap(ctx context.Context, data string, format bootstrapv1.Format) error
- func (m *Machine) Exists() bool
- func (m *Machine) IsControlPlane() bool
- func (m *Machine) Name() string
- func (m *Machine) PreloadLoadImages(ctx context.Context, images []string) error
- func (m *Machine) ProviderID() string
- func (m *Machine) SetNodeProviderID(ctx context.Context, c client.Client) error
- type Manager
- func (m *Manager) CreateControlPlaneNode(ctx context.Context, name, image, clusterName, listenAddress string, ...) (*types.Node, error)
- func (m *Manager) CreateExternalLoadBalancerNode(ctx context.Context, name, image, clusterName, listenAddress string, ...) (*types.Node, error)
- func (m *Manager) CreateWorkerNode(ctx context.Context, name, image, clusterName string, mounts []v1alpha4.Mount, ...) (*types.Node, error)
Constants ¶
const ControlPlanePort = 6443
ControlPlanePort is the port for accessing the control plane API in the container.
const DefaultNetwork = "kind"
DefaultNetwork is the default network name to use in kind.
const KubeadmContainerPort = 6443
KubeadmContainerPort is the port that kubeadm listens on in the container.
Variables ¶
This section is empty.
Functions ¶
func FailureDomainLabel ¶
FailureDomainLabel returns a map with the docker label for the given failure domain.
func List ¶
List returns the list of container IDs for the kind "nodes", optionally filtered by docker ps filters https://docs.docker.com/engine/reference/commandline/ps/#filtering
Types ¶
type ContainerNotRunningError ¶
type ContainerNotRunningError struct {
Name string
}
ContainerNotRunningError is returned when trying to patch a container that is not running.
func (ContainerNotRunningError) Error ¶
func (cse ContainerNotRunningError) Error() string
Error returns the error string.
type LoadBalancer ¶
type LoadBalancer struct {
// contains filtered or unexported fields
}
LoadBalancer manages the load balancer for a specific docker cluster.
func NewLoadBalancer ¶
func NewLoadBalancer(ctx context.Context, cluster *clusterv1.Cluster, dockerCluster *infrav1.DockerCluster) (*LoadBalancer, error)
NewLoadBalancer returns a new helper for managing a docker loadbalancer with a given name.
func (*LoadBalancer) Create ¶
func (s *LoadBalancer) Create(ctx context.Context) error
Create creates a docker container hosting a load balancer for the cluster.
func (*LoadBalancer) Delete ¶
func (s *LoadBalancer) Delete(ctx context.Context) error
Delete the docker container hosting the cluster load balancer.
func (*LoadBalancer) IP ¶
func (s *LoadBalancer) IP(ctx context.Context) (string, error)
IP returns the load balancer IP address.
func (*LoadBalancer) UpdateConfiguration ¶
func (s *LoadBalancer) UpdateConfiguration(ctx context.Context) error
UpdateConfiguration updates the external load balancer configuration with new control plane nodes.
type Machine ¶
type Machine struct {
// contains filtered or unexported fields
}
Machine implement a service for managing the docker containers hosting a kubernetes nodes.
func ListMachinesByCluster ¶
func ListMachinesByCluster(ctx context.Context, cluster *clusterv1.Cluster, labels map[string]string) ([]*Machine, error)
ListMachinesByCluster will retrieve a list of all machines that are part of the given cluster.
func NewMachine ¶
func NewMachine(ctx context.Context, cluster *clusterv1.Cluster, machine string, filterLabels map[string]string) (*Machine, error)
NewMachine returns a new Machine service for the given Cluster/DockerCluster pair.
func (*Machine) Address ¶
Address will get the IP address of the machine. If IPv6 is enabled, it will return the IPv6 address, otherwise an IPv4 address.
func (*Machine) CheckForBootstrapSuccess ¶
CheckForBootstrapSuccess checks if bootstrap was successful by checking for existence of the sentinel file.
func (*Machine) ContainerImage ¶
ContainerImage return the image of the container for this machine or empty string if the container does not exist yet.
func (*Machine) ContainerName ¶
ContainerName return the name of the container for this machine.
func (*Machine) Create ¶
func (m *Machine) Create(ctx context.Context, image string, role string, version *string, labels map[string]string, mounts []infrav1.Mount) error
Create creates a docker container hosting a Kubernetes node.
func (*Machine) ExecBootstrap ¶
ExecBootstrap runs bootstrap on a node, this is generally `kubeadm <init|join>`.
func (*Machine) IsControlPlane ¶
IsControlPlane returns true if the container for this machine is a control plane node.
func (*Machine) PreloadLoadImages ¶
PreloadLoadImages takes a list of container images and imports them into a machine.
func (*Machine) ProviderID ¶
ProviderID return the provider identifier for this machine.
type Manager ¶
type Manager struct{}
Manager is the kind manager type.
func (*Manager) CreateControlPlaneNode ¶
func (m *Manager) CreateControlPlaneNode(ctx context.Context, name, image, clusterName, listenAddress string, port int32, mounts []v1alpha4.Mount, portMappings []v1alpha4.PortMapping, labels map[string]string, ipFamily clusterv1.ClusterIPFamily) (*types.Node, error)
CreateControlPlaneNode will create a new control plane container.
func (*Manager) CreateExternalLoadBalancerNode ¶
func (m *Manager) CreateExternalLoadBalancerNode(ctx context.Context, name, image, clusterName, listenAddress string, port int32) (*types.Node, error)
CreateExternalLoadBalancerNode will create a new container to act as the load balancer for external access.
func (*Manager) CreateWorkerNode ¶
func (m *Manager) CreateWorkerNode(ctx context.Context, name, image, clusterName string, mounts []v1alpha4.Mount, portMappings []v1alpha4.PortMapping, labels map[string]string, ipFamily clusterv1.ClusterIPFamily) (*types.Node, error)
CreateWorkerNode will create a new worker container.