ciliumendpointslice

package
v1.14.2 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2023 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// default qps limit value for workqueues, this only for retries.
	CESControllerWorkQueueQPSLimit = 10
	// default burst limit value for workqueues.
	CESControllerWorkQueueBurstLimit = 100
	// Delayed CES Synctime, CES's are synced with k8s-apiserver after certain delay
	// Some CES's are delayed to sync with k8s-apiserver.
	DelayedCESSyncTime = 15 * time.Second
	// Default CES Synctime, multiple consecutive syncs with k8s-apiserver are
	// batched and synced together after a short delay.
	DefaultCESSyncTime = 500 * time.Millisecond
)

Variables

This section is empty.

Functions

func GetCEPNameFromCCEP

func GetCEPNameFromCCEP(cep *capi_v2a1.CoreCiliumEndpoint, namespace string) string

Derives the unique name from CoreCiliumEndpoint object. This unique name is used for mapping CiliumEndpoint to CiliumEndpointSlice. Used widely, to determine if the given CEP is mapped to any CES or not.

Types

type CEPName

type CEPName string

type CESName

type CESName string

type CESToCEPMapping

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

CESToCEPMapping is used to map CiliumEndpointSlice name to cesTracker object which in turn consists of CEPs, a CES name to list of all CEPs. Also, it manages a map CEP name to CES name. These maps are used by the CES manager, primarily used for storing and retrieving the desired CESs by thread-safe. This map is protected by lock for consistent and concurrent access.

type CiliumEndpointSliceController

type CiliumEndpointSliceController struct {

	// Manager is used to create and maintain a local datastore. Manager watches for
	// cilium endpoint changes and enqueues/dequeues the cilium endpoint changes in CES.
	// It maintains the desired state of the CESs in dataStore
	Manager operations
	// contains filtered or unexported fields
}

func NewCESController

func NewCESController(
	ctx context.Context,
	wg *sync.WaitGroup,
	clientset k8sClient.Clientset,
	maxCEPsInCES int,
	slicingMode string,
	qpsLimit float64,
	burstLimit int,
) *CiliumEndpointSliceController

NewCESController, creates and initializes the CES controller

func (*CiliumEndpointSliceController) Run

func (c *CiliumEndpointSliceController) Run(ces cache.Indexer, stopCh <-chan struct{})

start the worker thread, reconciles the modified CESs with api-server

Jump to

Keyboard shortcuts

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