Documentation ¶
Overview ¶
Package healthcheck provides tools for serving kube-proxy healthchecks.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FakeServiceHealthServer ¶
type FakeServiceHealthServer struct{}
FakeServiceHealthServer is a fake ServiceHealthServer for test programs
func (FakeServiceHealthServer) SyncEndpoints ¶
func (fake FakeServiceHealthServer) SyncEndpoints(_ map[types.NamespacedName]int) error
SyncEndpoints is part of ServiceHealthServer
func (FakeServiceHealthServer) SyncServices ¶
func (fake FakeServiceHealthServer) SyncServices(_ map[types.NamespacedName]uint16) error
SyncServices is part of ServiceHealthServer
type ProxierHealthServer ¶
type ProxierHealthServer struct {
// contains filtered or unexported fields
}
ProxierHealthServer returns 200 "OK" by default. It verifies that the delay between QueuedUpdate() calls and Updated() calls never exceeds healthTimeout.
func NewProxierHealthServer ¶
func NewProxierHealthServer(addr string, healthTimeout time.Duration, recorder record.EventRecorder, nodeRef *v1.ObjectReference) *ProxierHealthServer
NewProxierHealthServer returns a proxier health http server.
func (*ProxierHealthServer) QueuedUpdate ¶
func (hs *ProxierHealthServer) QueuedUpdate()
QueuedUpdate updates the lastQueued timestamp.
func (*ProxierHealthServer) Run ¶
func (hs *ProxierHealthServer) Run()
Run starts the healthz http server and returns.
func (*ProxierHealthServer) Updated ¶
func (hs *ProxierHealthServer) Updated()
Updated updates the lastUpdated timestamp.
type ProxierHealthUpdater ¶
type ProxierHealthUpdater interface { // QueuedUpdate should be called when the proxier receives a Service or Endpoints // event containing information that requires updating service rules. QueuedUpdate() // Updated should be called when the proxier has successfully updated the service // rules to reflect the current state. Updated() }
ProxierHealthUpdater allows callers to update healthz timestamp only.
type ServiceHealthServer ¶
type ServiceHealthServer interface { // Make the new set of services be active. Services that were open before // will be closed. Services that are new will be opened. Service that // existed and are in the new set will be left alone. The value of the map // is the healthcheck-port to listen on. SyncServices(newServices map[types.NamespacedName]uint16) error // Make the new set of endpoints be active. Endpoints for services that do // not exist will be dropped. The value of the map is the number of // endpoints the service has on this node. SyncEndpoints(newEndpoints map[types.NamespacedName]int) error }
ServiceHealthServer serves HTTP endpoints for each service name, with results based on the endpoints. If there are 0 endpoints for a service, it returns a 503 "Service Unavailable" error (telling LBs not to use this node). If there are 1 or more endpoints, it returns a 200 "OK".
func NewFakeServiceHealthServer ¶
func NewFakeServiceHealthServer() ServiceHealthServer
NewFakeServiceHealthServer allocates a new fake service healthcheck server manager
func NewServiceHealthServer ¶
func NewServiceHealthServer(hostname string, recorder record.EventRecorder) ServiceHealthServer
NewServiceHealthServer allocates a new service healthcheck server manager