kubernetes: k8s.io/kubernetes/pkg/util/ipvs Index | Files | Directories

package ipvs

import "k8s.io/kubernetes/pkg/util/ipvs"

Index

Package Files

ipvs.go ipvs_linux.go

Constants

const (
    // FlagPersistent specify IPVS service session affinity
    FlagPersistent = 0x1
    // FlagHashed specify IPVS service hash flag
    FlagHashed = 0x2
    // IPVSProxyMode is match set up cluster with ipvs proxy model
    IPVSProxyMode = "ipvs"
)
const (
    // KernelModuleIPVS is the kernel module "ip_vs"
    KernelModuleIPVS string = "ip_vs"
    // KernelModuleIPVSRR is the kernel module "ip_vs_rr"
    KernelModuleIPVSRR string = "ip_vs_rr"
    // KernelModuleIPVSWRR is the kernel module "ip_vs_wrr"
    KernelModuleIPVSWRR string = "ip_vs_wrr"
    // KernelModuleIPVSSH is the kernel module "ip_vs_sh"
    KernelModuleIPVSSH string = "ip_vs_sh"
    // KernelModuleNfConntrackIPV4 is the module "nf_conntrack_ipv4"
    KernelModuleNfConntrackIPV4 string = "nf_conntrack_ipv4"
    // KernelModuleNfConntrack is the kernel module "nf_conntrack"
    KernelModuleNfConntrack string = "nf_conntrack"
)

IPVS required kernel modules.

func GetRequiredIPVSModules Uses

func GetRequiredIPVSModules(kernelVersion *version.Version) []string

GetRequiredIPVSModules returns the required ipvs modules for the given linux kernel version.

type Interface Uses

type Interface interface {
    // Flush clears all virtual servers in system. return occurred error immediately.
    Flush() error
    // AddVirtualServer creates the specified virtual server.
    AddVirtualServer(*VirtualServer) error
    // UpdateVirtualServer updates an already existing virtual server.  If the virtual server does not exist, return error.
    UpdateVirtualServer(*VirtualServer) error
    // DeleteVirtualServer deletes the specified virtual server.  If the virtual server does not exist, return error.
    DeleteVirtualServer(*VirtualServer) error
    // Given a partial virtual server, GetVirtualServer will return the specified virtual server information in the system.
    GetVirtualServer(*VirtualServer) (*VirtualServer, error)
    // GetVirtualServers lists all virtual servers in the system.
    GetVirtualServers() ([]*VirtualServer, error)
    // AddRealServer creates the specified real server for the specified virtual server.
    AddRealServer(*VirtualServer, *RealServer) error
    // GetRealServers returns all real servers for the specified virtual server.
    GetRealServers(*VirtualServer) ([]*RealServer, error)
    // DeleteRealServer deletes the specified real server from the specified virtual server.
    DeleteRealServer(*VirtualServer, *RealServer) error
    // UpdateRealServer updates the specified real server from the specified virtual server.
    UpdateRealServer(*VirtualServer, *RealServer) error
}

Interface is an injectable interface for running ipvs commands. Implementations must be goroutine-safe.

func New Uses

func New(exec utilexec.Interface) Interface

New returns a new Interface which will call ipvs APIs.

type Protocol Uses

type Protocol uint16

Protocol is the IPVS service protocol type

type RealServer Uses

type RealServer struct {
    Address      net.IP
    Port         uint16
    Weight       int
    ActiveConn   int
    InactiveConn int
}

RealServer is an user-oriented definition of an IPVS real server in its entirety.

func (*RealServer) Equal Uses

func (rs *RealServer) Equal(other *RealServer) bool

Equal check the equality of real server. We don't use struct == since it doesn't work because of slice.

func (*RealServer) String Uses

func (rs *RealServer) String() string

type ServiceFlags Uses

type ServiceFlags uint32

ServiceFlags is used to specify session affinity, ip hash etc.

type VirtualServer Uses

type VirtualServer struct {
    Address   net.IP
    Protocol  string
    Port      uint16
    Scheduler string
    Flags     ServiceFlags
    Timeout   uint32
}

VirtualServer is an user-oriented definition of an IPVS virtual server in its entirety.

func (*VirtualServer) Equal Uses

func (svc *VirtualServer) Equal(other *VirtualServer) bool

Equal check the equality of virtual server. We don't use struct == since it doesn't work because of slice.

func (*VirtualServer) String Uses

func (svc *VirtualServer) String() string

Directories

PathSynopsis
testing

Package ipvs imports 11 packages (graph) and is imported by 41 packages. Updated 2019-08-02. Refresh now. Tools for package owners.