kubernetesk8s.io/kubernetes/pkg/master Index | Files | Directories

package master

import "k8s.io/kubernetes/pkg/master"

Package master contains code for setting up and running a Kubernetes cluster master.

Index

Functions

func DefaultAPIResourceConfigSource

func DefaultAPIResourceConfigSource() *genericapiserver.ResourceConfig

func MetricsWithReset

func MetricsWithReset(w http.ResponseWriter, req *http.Request)

MetricsWithReset is a handler that resets metrics when DELETE is passed to the endpoint.

Types

type Config

type Config struct {
	*genericapiserver.Config

	EnableCoreControllers   bool
	DeleteCollectionWorkers int
	EventTTL                time.Duration
	KubeletClient           kubeletclient.KubeletClient
	// Used to start and monitor tunneling
	Tunneler genericapiserver.Tunneler
	// contains filtered or unexported fields
}

type Controller

type Controller struct {
	NamespaceRegistry namespace.Registry
	ServiceRegistry   service.Registry
	// TODO: MasterCount is yucky
	MasterCount int

	ServiceClusterIPRegistry service.RangeRegistry
	ServiceClusterIPInterval time.Duration
	ServiceClusterIPRange    *net.IPNet

	ServiceNodePortRegistry service.RangeRegistry
	ServiceNodePortInterval time.Duration
	ServiceNodePortRange    utilnet.PortRange

	EndpointRegistry endpoint.Registry
	EndpointInterval time.Duration

	SystemNamespaces         []string
	SystemNamespacesInterval time.Duration

	PublicIP net.IP

	ServiceIP                 net.IP
	ServicePort               int
	ExtraServicePorts         []api.ServicePort
	ExtraEndpointPorts        []api.EndpointPort
	PublicServicePort         int
	KubernetesServiceNodePort int
	// contains filtered or unexported fields
}

Controller is the controller manager for the core bootstrap Kubernetes controller loops, which manage creating the "kubernetes" service, the "default" and "kube-system" namespace, and provide the IP repair check on service IPs

func (*Controller) CreateNamespaceIfNeeded

func (c *Controller) CreateNamespaceIfNeeded(ns string) error

CreateNamespaceIfNeeded will create a namespace if it doesn't already exist

func (*Controller) CreateOrUpdateMasterServiceIfNeeded

func (c *Controller) CreateOrUpdateMasterServiceIfNeeded(serviceName string, serviceIP net.IP, servicePorts []api.ServicePort, serviceType api.ServiceType, reconcile bool) error

CreateMasterServiceIfNeeded will create the specified service if it doesn't already exist.

func (*Controller) ReconcileEndpoints

func (c *Controller) ReconcileEndpoints(serviceName string, ip net.IP, endpointPorts []api.EndpointPort, reconcilePorts bool) error

ReconcileEndpoints sets the endpoints for the given apiserver service (ro or rw). ReconcileEndpoints expects that the endpoints objects it manages will all be managed only by ReconcileEndpoints; therefore, to understand this, you need only understand the requirements and the body of this function.

Requirements:

func (*Controller) RunKubernetesNamespaces

func (c *Controller) RunKubernetesNamespaces(ch chan struct{})

RunKubernetesNamespaces periodically makes sure that all internal namespaces exist

func (*Controller) RunKubernetesService

func (c *Controller) RunKubernetesService(ch chan struct{})

RunKubernetesService periodically updates the kubernetes service

func (*Controller) Start

func (c *Controller) Start()

Start begins the core controller loops that must exist for bootstrapping a cluster.

func (*Controller) UpdateKubernetesService

func (c *Controller) UpdateKubernetesService(reconcile bool) error

UpdateKubernetesService attempts to update the default Kube service.

type Master

type Master struct {
	*genericapiserver.GenericAPIServer
	// contains filtered or unexported fields
}

Master contains state for a Kubernetes cluster master/api server.

func New

func New(c *Config) (*Master, error)

New returns a new instance of Master from the given config. Certain config fields will be set to a default value if unset. Certain config fields must be specified, including:

KubeletClient

func (*Master) GetRESTOptionsOrDie

func (m *Master) GetRESTOptionsOrDie(c *Config, resource unversioned.GroupResource) generic.RESTOptions

func (*Master) HasThirdPartyResource

func (m *Master) HasThirdPartyResource(rsrc *extensions.ThirdPartyResource) (bool, error)

HasThirdPartyResource returns true if a particular third party resource currently installed.

func (*Master) InstallAPIs

func (m *Master) InstallAPIs(c *Config)

func (*Master) InstallThirdPartyResource

func (m *Master) InstallThirdPartyResource(rsrc *extensions.ThirdPartyResource) error

InstallThirdPartyResource installs a third party resource specified by 'rsrc'. When a resource is installed a corresponding RESTful resource is added as a valid path in the web service provided by the master.

For example, if you install a resource ThirdPartyResource{ Name: "foo.company.com", Versions: {"v1"} } then the following RESTful resource is created on the server:

http://<host>/apis/company.com/v1/foos/...

func (*Master) IsTunnelSyncHealthy

func (m *Master) IsTunnelSyncHealthy(req *http.Request) error

func (*Master) ListThirdPartyResources

func (m *Master) ListThirdPartyResources() []string

ListThirdPartyResources lists all currently installed third party resources

func (*Master) NewBootstrapController

func (m *Master) NewBootstrapController() *Controller

NewBootstrapController returns a controller for watching the core capabilities of the master.

func (*Master) RemoveThirdPartyResource

func (m *Master) RemoveThirdPartyResource(path string) error

RemoveThirdPartyResource removes all resources matching `path`. Also deletes any stored data

type ThirdPartyController

type ThirdPartyController struct {
	// contains filtered or unexported fields
}

ThirdPartyController is a control loop that knows how to synchronize ThirdPartyResource objects with RESTful resources which are present in the API server.

func (*ThirdPartyController) SyncOneResource

func (t *ThirdPartyController) SyncOneResource(rsrc *expapi.ThirdPartyResource) error

Synchronize a single resource with RESTful resources on the master

func (*ThirdPartyController) SyncResources

func (t *ThirdPartyController) SyncResources() error

Synchronize all resources with RESTful resources on the master

Source Files

controller.go doc.go import_known_versions.go master.go thirdparty_controller.go

Directories

PathSynopsis
pkg/master/portsPackage ports defines ports used by various pieces of the kubernetes infrastructure.
Version
v1.3.0-alpha.4
Published
May 17, 2016
Platform
js/wasm
Imports
93 packages
Last checked
6 seconds ago

Tools for package owners.