healthcheck

package
v1.16.3 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2019 License: Apache-2.0 Imports: 15 Imported by: 0

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

Jump to

Keyboard shortcuts

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