kubernetes: k8s.io/kubernetes/pkg/kubelet/dockershim/network/hostport Index | Files | Directories

package hostport

import "k8s.io/kubernetes/pkg/kubelet/dockershim/network/hostport"

Index

Package Files

fake_iptables.go hostport.go hostport_manager.go hostport_syncer.go

func NewFakeIPTables Uses

func NewFakeIPTables() *fakeIPTables

type HostPortManager Uses

type HostPortManager interface {
    // Add implements port mappings.
    // id should be a unique identifier for a pod, e.g. podSandboxID.
    // podPortMapping is the associated port mapping information for the pod.
    // natInterfaceName is the interface that localhost used to talk to the given pod.
    Add(id string, podPortMapping *PodPortMapping, natInterfaceName string) error
    // Remove cleans up matching port mappings
    // Remove must be able to clean up port mappings without pod IP
    Remove(id string, podPortMapping *PodPortMapping) error
}

HostPortManager is an interface for adding and removing hostport for a given pod sandbox.

func NewHostportManager Uses

func NewHostportManager(iptables utiliptables.Interface) HostPortManager

type HostportSyncer Uses

type HostportSyncer interface {
    // SyncHostports gathers all hostports on node and setup iptables rules to enable them.
    // On each invocation existing ports are synced and stale rules are deleted.
    SyncHostports(natInterfaceName string, activePodPortMappings []*PodPortMapping) error
    // OpenPodHostportsAndSync opens hostports for a new PodPortMapping, gathers all hostports on
    // node, sets up iptables rules enable them. On each invocation existing ports are synced and stale rules are deleted.
    // 'newPortMapping' must also be present in 'activePodPortMappings'.
    OpenPodHostportsAndSync(newPortMapping *PodPortMapping, natInterfaceName string, activePodPortMappings []*PodPortMapping) error
}

HostportSyncer takes a list of PodPortMappings and implements hostport all at once

func NewHostportSyncer Uses

func NewHostportSyncer(iptables utiliptables.Interface) HostportSyncer

type PodPortMapping Uses

type PodPortMapping struct {
    Namespace    string
    Name         string
    PortMappings []*PortMapping
    HostNetwork  bool
    IP           net.IP
}

PodPortMapping represents a pod's network state and associated container port mappings

type PortMapping Uses

type PortMapping struct {
    Name          string
    HostPort      int32
    ContainerPort int32
    Protocol      v1.Protocol
    HostIP        string
}

PortMapping represents a network port in a container

Directories

PathSynopsis
testing

Package hostport imports 18 packages (graph) and is imported by 94 packages. Updated 2019-02-09. Refresh now. Tools for package owners.