docker

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2022 License: Apache-2.0 Imports: 29 Imported by: 1

Documentation

Index

Constants

View Source
const ControlPlanePort = 6443

ControlPlanePort is the port for accessing the control plane API in the container.

View Source
const DefaultNetwork = "kind"

DefaultNetwork is the default network name to use in kind.

View Source
const KubeadmContainerPort = 6443

KubeadmContainerPort is the port that kubeadm listens on in the container.

Variables

This section is empty.

Functions

func FailureDomainLabel

func FailureDomainLabel(failureDomain *string) map[string]string

FailureDomainLabel returns a map with the docker label for the given failure domain.

func List

func List(ctx context.Context, filters container.FilterBuilder) ([]*types.Node, error)

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

func (m *Machine) Address(ctx context.Context) (string, error)

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

func (m *Machine) CheckForBootstrapSuccess(ctx context.Context, logResult bool) error

CheckForBootstrapSuccess checks if bootstrap was successful by checking for existence of the sentinel file.

func (*Machine) ContainerImage

func (m *Machine) ContainerImage() string

ContainerImage return the image of the container for this machine or empty string if the container does not exist yet.

func (*Machine) ContainerName

func (m *Machine) ContainerName() string

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) Delete

func (m *Machine) Delete(ctx context.Context) error

Delete deletes a docker container hosting a Kubernetes node.

func (*Machine) ExecBootstrap

func (m *Machine) ExecBootstrap(ctx context.Context, data string, format bootstrapv1.Format) error

ExecBootstrap runs bootstrap on a node, this is generally `kubeadm <init|join>`.

func (*Machine) Exists

func (m *Machine) Exists() bool

Exists returns true if the container for this machine exists.

func (*Machine) IsControlPlane

func (m *Machine) IsControlPlane() bool

IsControlPlane returns true if the container for this machine is a control plane node.

func (*Machine) Name

func (m *Machine) Name() string

Name returns the name of the machine.

func (*Machine) PreloadLoadImages

func (m *Machine) PreloadLoadImages(ctx context.Context, images []string) error

PreloadLoadImages takes a list of container images and imports them into a machine.

func (*Machine) ProviderID

func (m *Machine) ProviderID() string

ProviderID return the provider identifier for this machine.

func (*Machine) SetNodeProviderID

func (m *Machine) SetNodeProviderID(ctx context.Context, c client.Client) error

SetNodeProviderID sets the docker provider ID for the kubernetes node.

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.

Directories

Path Synopsis
Package types implements type functionality.
Package types implements type functionality.

Jump to

Keyboard shortcuts

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