kubernetes: k8s.io/kubernetes/pkg/kubemark Index | Files

package kubemark

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


Package Files

controller.go hollow_kubelet.go hollow_proxy.go

func GetHollowKubeletConfig Uses

func GetHollowKubeletConfig(opt *HollowKubletOptions) (*options.KubeletFlags, *kubeletconfig.KubeletConfiguration)

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

type FakeProxier Uses

type FakeProxier struct {

func (*FakeProxier) OnEndpointsAdd Uses

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

func (*FakeProxier) OnEndpointsDelete Uses

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

func (*FakeProxier) OnEndpointsSynced Uses

func (*FakeProxier) OnEndpointsSynced()

func (*FakeProxier) OnEndpointsUpdate Uses

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

func (*FakeProxier) OnServiceAdd Uses

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

func (*FakeProxier) OnServiceDelete Uses

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

func (*FakeProxier) OnServiceSynced Uses

func (*FakeProxier) OnServiceSynced()

func (*FakeProxier) OnServiceUpdate Uses

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

func (*FakeProxier) Sync Uses

func (*FakeProxier) Sync()

func (*FakeProxier) SyncLoop Uses

func (*FakeProxier) SyncLoop()

type HollowKubelet Uses

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

func NewHollowKubelet Uses

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 Uses

func (hk *HollowKubelet) Run()

Starts this HollowKubelet and blocks.

type HollowKubletOptions Uses

type HollowKubletOptions struct {
    NodeName            string
    KubeletPort         int
    KubeletReadOnlyPort int
    MaxPods             int
    PodsPerCore         int
    NodeLabels          map[string]string
    RegisterWithTaints  []core.Taint

HollowKubletOptions contains settable parameters for hollow kubelet.

type HollowProxy Uses

type HollowProxy struct {
    ProxyServer *proxyapp.ProxyServer

func NewHollowProxyOrDie Uses

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 Uses

func (hp *HollowProxy) Run()

type KubemarkController Uses

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 Uses

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 Uses

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

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

func (*KubemarkController) GetNodeGroupSize Uses

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

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

func (*KubemarkController) GetNodeGroupTargetSize Uses

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 Uses

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

GetNodeNamesForNodeGroup returns list of the nodes in the node group.

func (*KubemarkController) RemoveNodeFromNodeGroup Uses

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

func (*KubemarkController) Run Uses

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 Uses

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

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

func (*KubemarkController) WaitForCacheSync Uses

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

WaitForCacheSync waits until all caches in the controller are populated.

Package kubemark imports 65 packages (graph) and is imported by 93 packages. Updated 2021-01-18. Refresh now. Tools for package owners.