kubemark

package
v0.0.0-...-8a55389 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2022 License: Apache-2.0 Imports: 46 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetHollowKubeletConfig

func GetHollowKubeletConfig(
	nodeName string,
	kubeletPort int,
	kubeletReadOnlyPort int,
	maxPods int,
	podsPerCore int) (*options.KubeletFlags, *kubeletconfig.KubeletConfiguration)

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

Types

type FakeProxier

type FakeProxier struct{}

func (*FakeProxier) OnEndpointsAdd

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

func (*FakeProxier) OnEndpointsDelete

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

func (*FakeProxier) OnEndpointsSynced

func (*FakeProxier) OnEndpointsSynced()

func (*FakeProxier) OnEndpointsUpdate

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

func (*FakeProxier) OnServiceAdd

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

func (*FakeProxier) OnServiceDelete

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

func (*FakeProxier) OnServiceSynced

func (*FakeProxier) OnServiceSynced()

func (*FakeProxier) OnServiceUpdate

func (*FakeProxier) OnServiceUpdate(oldService, service *api.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(
	nodeName string,
	client *clientset.Clientset,
	cadvisorInterface cadvisor.Interface,
	dockerClient libdocker.Interface,
	kubeletPort, kubeletReadOnlyPort int,
	containerManager cm.ContainerManager,
	maxPods int, podsPerCore int,
) *HollowKubelet

func (*HollowKubelet) Run

func (hk *HollowKubelet) Run()

Starts this HollowKubelet and blocks.

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,
) (*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.

Jump to

Keyboard shortcuts

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