kubernetesk8s.io/kubernetes/pkg/controlplane/controller/kubernetesservice Index | Files

package kubernetesservice

import "k8s.io/kubernetes/pkg/controlplane/controller/kubernetesservice"

Index

Types

type Config

type Config struct {
	PublicIP net.IP

	EndpointReconciler reconcilers.EndpointReconciler
	EndpointInterval   time.Duration

	// ServiceIP indicates where the kubernetes service will live.  It may not be nil.
	ServiceIP                 net.IP
	ServicePort               int
	PublicServicePort         int
	KubernetesServiceNodePort int
}

type Controller

type Controller struct {
	Config
	// contains filtered or unexported fields
}

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

func New

func New(config Config, client kubernetes.Interface, serviceInformer v1informers.ServiceInformer) *Controller

New returns a controller for watching the kubernetes service endpoints.

func (*Controller) CreateOrUpdateMasterServiceIfNeeded

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

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

func (*Controller) Run

func (c *Controller) Run(ch <-chan struct{})

Run periodically updates the kubernetes service

func (*Controller) Start

func (c *Controller) Start(stopCh <-chan struct{})

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

func (*Controller) Stop

func (c *Controller) Stop()

Stop cleans up this API Servers endpoint reconciliation leases so another master can take over more quickly.

func (*Controller) UpdateKubernetesService

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

UpdateKubernetesService attempts to update the default Kube service.

Source Files

controller.go

Version
v1.33.0 (latest)
Published
Apr 23, 2025
Platform
linux/amd64
Imports
19 packages
Last checked
3 hours ago

Tools for package owners.