Documentation
¶
Overview ¶
Package master contains code for setting up and running a Kubernetes cluster master.
Index ¶
- func DefaultAPIResourceConfigSource() *genericapiserver.ResourceConfig
- func MetricsWithReset(w http.ResponseWriter, req *http.Request)
- func NewMasterCountEndpointReconciler(masterCount int, endpointRegistry endpoint.Registry) *masterCountEndpointReconciler
- type Config
- type Controller
- func (c *Controller) CreateNamespaceIfNeeded(ns string) error
- func (c *Controller) CreateOrUpdateMasterServiceIfNeeded(serviceName string, serviceIP net.IP, servicePorts []api.ServicePort, ...) error
- func (c *Controller) RunKubernetesNamespaces(ch chan struct{})
- func (c *Controller) RunKubernetesService(ch chan struct{})
- func (c *Controller) Start()
- func (c *Controller) UpdateKubernetesService(reconcile bool) error
- type EndpointReconciler
- type Master
- func (m *Master) GetRESTOptionsOrDie(c *Config, resource unversioned.GroupResource) generic.RESTOptions
- func (m *Master) HasThirdPartyResource(rsrc *extensions.ThirdPartyResource) (bool, error)
- func (m *Master) InstallAPIs(c *Config)
- func (m *Master) InstallThirdPartyResource(rsrc *extensions.ThirdPartyResource) error
- func (m *Master) IsTunnelSyncHealthy(req *http.Request) error
- func (m *Master) ListThirdPartyResources() []string
- func (m *Master) NewBootstrapController() *Controller
- func (m *Master) RemoveThirdPartyResource(path string) error
- type ThirdPartyController
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultAPIResourceConfigSource ¶ added in v1.3.0
func DefaultAPIResourceConfigSource() *genericapiserver.ResourceConfig
func MetricsWithReset ¶ added in v1.3.0
func MetricsWithReset(w http.ResponseWriter, req *http.Request)
MetricsWithReset is a handler that resets metrics when DELETE is passed to the endpoint.
func NewMasterCountEndpointReconciler ¶ added in v1.3.0
func NewMasterCountEndpointReconciler(masterCount int, endpointRegistry endpoint.Registry) *masterCountEndpointReconciler
NewMasterCountEndpointReconciler creates a new EndpointReconciler that reconciles based on a specified expected number of masters.
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 ¶ added in v0.17.0
type Controller struct {
NamespaceRegistry namespace.Registry
ServiceRegistry service.Registry
ServiceClusterIPRegistry service.RangeRegistry
ServiceClusterIPInterval time.Duration
ServiceClusterIPRange *net.IPNet
ServiceNodePortRegistry service.RangeRegistry
ServiceNodePortInterval time.Duration
ServiceNodePortRange utilnet.PortRange
EndpointReconciler EndpointReconciler
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 ¶ added in v0.17.0
func (c *Controller) CreateNamespaceIfNeeded(ns string) error
CreateNamespaceIfNeeded will create a namespace if it doesn't already exist
func (*Controller) CreateOrUpdateMasterServiceIfNeeded ¶ added in v1.2.0
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) RunKubernetesNamespaces ¶ added in v1.3.0
func (c *Controller) RunKubernetesNamespaces(ch chan struct{})
RunKubernetesNamespaces periodically makes sure that all internal namespaces exist
func (*Controller) RunKubernetesService ¶ added in v0.17.0
func (c *Controller) RunKubernetesService(ch chan struct{})
RunKubernetesService periodically updates the kubernetes service
func (*Controller) Start ¶ added in v0.17.0
func (c *Controller) Start()
Start begins the core controller loops that must exist for bootstrapping a cluster.
func (*Controller) UpdateKubernetesService ¶ added in v0.17.0
func (c *Controller) UpdateKubernetesService(reconcile bool) error
UpdateKubernetesService attempts to update the default Kube service.
type EndpointReconciler ¶ added in v1.3.0
type EndpointReconciler interface {
// 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.
//
// Requirements:
// * All apiservers MUST use the same ports for their {rw, ro} services.
// * All apiservers MUST use ReconcileEndpoints and only ReconcileEndpoints to manage the
// endpoints for their {rw, ro} services.
// * ReconcileEndpoints is called periodically from all apiservers.
ReconcileEndpoints(serviceName string, ip net.IP, endpointPorts []api.EndpointPort, reconcilePorts bool) error
}
EndpointReconciler knows how to reconcile the endpoints for the apiserver 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 ¶ added in v1.3.0
func (m *Master) GetRESTOptionsOrDie(c *Config, resource unversioned.GroupResource) generic.RESTOptions
func (*Master) HasThirdPartyResource ¶ added in v1.1.0
func (m *Master) HasThirdPartyResource(rsrc *extensions.ThirdPartyResource) (bool, error)
HasThirdPartyResource returns true if a particular third party resource currently installed.
func (*Master) InstallAPIs ¶ added in v1.2.0
func (m *Master) InstallAPIs(c *Config)
func (*Master) InstallThirdPartyResource ¶ added in v1.1.0
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 ¶ added in v1.0.1
func (m *Master) IsTunnelSyncHealthy(req *http.Request) error
func (*Master) ListThirdPartyResources ¶ added in v1.1.0
func (m *Master) ListThirdPartyResources() []string
ListThirdPartyResources lists all currently installed third party resources
func (*Master) NewBootstrapController ¶ added in v0.17.0
func (m *Master) NewBootstrapController() *Controller
NewBootstrapController returns a controller for watching the core capabilities of the master.
func (*Master) RemoveThirdPartyResource ¶ added in v1.1.0
func (m *Master) RemoveThirdPartyResource(path string) error
RemoveThirdPartyResource removes all resources matching `path`. Also deletes any stored data
type ThirdPartyController ¶ added in v1.1.0
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 ¶ added in v1.1.0
func (t *ThirdPartyController) SyncOneResource(rsrc *expapi.ThirdPartyResource) error
Synchronize a single resource with RESTful resources on the master
func (*ThirdPartyController) SyncResources ¶ added in v1.1.0
func (t *ThirdPartyController) SyncResources() error
Synchronize all resources with RESTful resources on the master