kubernetesk8s.io/kubernetes/pkg/kubemark Index | Files

package kubemark

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

Index

Functions

func GetHollowKubeletConfig

Builds a KubeletConfiguration for the HollowKubelet, ensuring that the usual defaults are applied for fields we do not override.

Types

type FakeProxier

func (*FakeProxier) OnEndpointsAdd

func (*FakeProxier) OnEndpointsAdd(endpoints *v1.Endpoints)

func (*FakeProxier) OnEndpointsDelete

func (*FakeProxier) OnEndpointsDelete(endpoints *v1.Endpoints)

func (*FakeProxier) OnEndpointsSynced

func (*FakeProxier) OnEndpointsSynced()

func (*FakeProxier) OnEndpointsUpdate

func (*FakeProxier) OnEndpointsUpdate(oldEndpoints, endpoints *v1.Endpoints)

func (*FakeProxier) OnServiceAdd

func (*FakeProxier) OnServiceAdd(service *v1.Service)

func (*FakeProxier) OnServiceDelete

func (*FakeProxier) OnServiceDelete(service *v1.Service)

func (*FakeProxier) OnServiceSynced

func (*FakeProxier) OnServiceSynced()

func (*FakeProxier) OnServiceUpdate

func (*FakeProxier) OnServiceUpdate(oldService, service *v1.Service)

func (*FakeProxier) Sync

func (*FakeProxier) Sync()

func (*FakeProxier) SyncLoop

func (*FakeProxier) SyncLoop()

type HollowKubelet

type HollowKubelet struct {
	KubeletFlags         *options.KubeletFlags
	KubeletConfiguration *kubeletconfig.KubeletConfiguration
	KubeletDeps          *kubelet.Dependencies
}

func NewHollowKubelet

func NewHollowKubelet(
	flags *options.KubeletFlags,
	config *kubeletconfig.KubeletConfiguration,
	client *clientset.Clientset,
	heartbeatClient *clientset.Clientset,
	cadvisorInterface cadvisor.Interface,
	imageService internalapi.ImageManagerService,
	runtimeService internalapi.RuntimeService,
	containerManager cm.ContainerManager) *HollowKubelet

func (*HollowKubelet) Run

func (hk *HollowKubelet) Run()

Starts this HollowKubelet and blocks.

type HollowKubletOptions

type HollowKubletOptions struct {
	NodeName            string
	KubeletPort         int
	KubeletReadOnlyPort int
	MaxPods             int
	PodsPerCore         int
	NodeLabels          map[string]string
}

HollowKubletOptions contains settable parameters for hollow kubelet.

type HollowProxy

type HollowProxy struct {
	ProxyServer *proxyapp.ProxyServer
}

func NewHollowProxyOrDie

func NewHollowProxyOrDie(
	nodeName string,
	client clientset.Interface,
	eventClient v1core.EventsGetter,
	iptInterface utiliptables.Interface,
	sysctl utilsysctl.Interface,
	execer utilexec.Interface,
	broadcaster record.EventBroadcaster,
	recorder record.EventRecorder,
	useRealProxier bool,
	proxierSyncPeriod time.Duration,
	proxierMinSyncPeriod time.Duration,
) (*HollowProxy, error)

func (*HollowProxy) Run

func (hp *HollowProxy) Run()

type KubemarkController

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

KubemarkController is a simplified version of cloud provider for kubemark. It allows to add and delete nodes from a kubemark cluster and introduces nodegroups by applying labels to the kubemark's hollow-nodes.

func NewKubemarkController

func NewKubemarkController(externalClient kubeclient.Interface, externalInformerFactory informers.SharedInformerFactory,
	kubemarkClient kubeclient.Interface, kubemarkNodeInformer informersv1.NodeInformer) (*KubemarkController, error)

NewKubemarkController creates KubemarkController using the provided clients to talk to external and kubemark clusters.

func (*KubemarkController) GetNodeGroupForNode

func (kubemarkController *KubemarkController) GetNodeGroupForNode(node string) (string, error)

GetNodeGroupForNode returns the name of the node group to which the node belongs.

func (*KubemarkController) GetNodeGroupSize

func (kubemarkController *KubemarkController) GetNodeGroupSize(nodeGroup string) (int, error)

GetNodeGroupSize returns the current size for the node group as observed.

func (*KubemarkController) GetNodeGroupTargetSize

func (kubemarkController *KubemarkController) GetNodeGroupTargetSize(nodeGroup string) (int, error)

GetNodeGroupTargetSize returns the size of the node group as a sum of current observed size and number of upcoming nodes.

func (*KubemarkController) GetNodeNamesForNodeGroup

func (kubemarkController *KubemarkController) GetNodeNamesForNodeGroup(nodeGroup string) ([]string, error)

GetNodeNamesForNodeGroup returns list of the nodes in the node group.

func (*KubemarkController) RemoveNodeFromNodeGroup

func (kubemarkController *KubemarkController) RemoveNodeFromNodeGroup(nodeGroup string, node string) error

func (*KubemarkController) Run

func (kubemarkController *KubemarkController) Run(stopCh chan struct{})

Run populates the node template needed for creation of kubemark nodes and starts the worker routine for creating new nodes.

func (*KubemarkController) SetNodeGroupSize

func (kubemarkController *KubemarkController) SetNodeGroupSize(nodeGroup string, size int) error

SetNodeGroupSize changes the size of node group by adding or removing nodes.

func (*KubemarkController) WaitForCacheSync

func (kubemarkController *KubemarkController) WaitForCacheSync(stopCh chan struct{}) bool

WaitForCacheSync waits until all caches in the controller are populated.

Source Files

controller.go hollow_kubelet.go hollow_proxy.go

Version
v1.19.7
Published
Jan 13, 2021
Platform
js/wasm
Imports
64 packages
Last checked
1 minute ago

Tools for package owners.