package kubemark
import "k8s.io/kubernetes/pkg/kubemark"
Index ¶
- func GetHollowKubeletConfig(opt *HollowKubeletOptions) (*options.KubeletFlags, *kubeletconfig.KubeletConfiguration)
- type HollowKubelet
- 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 (hk *HollowKubelet) Run(ctx context.Context)
- type HollowKubeletOptions
- type KubemarkController
- func NewKubemarkController(externalClient kubeclient.Interface, externalInformerFactory informers.SharedInformerFactory, kubemarkClient kubeclient.Interface, kubemarkNodeInformer informersv1.NodeInformer) (*KubemarkController, error)
- func (kubemarkController *KubemarkController) GetNodeGroupForNode(node string) (string, error)
- func (kubemarkController *KubemarkController) GetNodeGroupSize(nodeGroup string) (int, error)
- func (kubemarkController *KubemarkController) GetNodeGroupTargetSize(nodeGroup string) (int, error)
- func (kubemarkController *KubemarkController) GetNodeNamesForNodeGroup(nodeGroup string) ([]string, error)
- func (kubemarkController *KubemarkController) RemoveNodeFromNodeGroup(nodeGroup string, node string) error
- func (kubemarkController *KubemarkController) Run(stopCh chan struct{})
- func (kubemarkController *KubemarkController) SetNodeGroupSize(nodeGroup string, size int) error
- func (kubemarkController *KubemarkController) WaitForCacheSync(stopCh chan struct{}) bool
Functions ¶
func GetHollowKubeletConfig ¶
func GetHollowKubeletConfig(opt *HollowKubeletOptions) (*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 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(ctx context.Context)
Starts this HollowKubelet and blocks.
type HollowKubeletOptions ¶
type HollowKubeletOptions struct { NodeName string KubeletPort int KubeletReadOnlyPort int MaxPods int PodsPerCore int NodeLabels map[string]string RegisterWithTaints []v1.Taint }
HollowKubeletOptions contains settable parameters for hollow kubelet.
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
- Version
- v1.33.0 (latest)
- Published
- Apr 23, 2025
- Platform
- linux/amd64
- Imports
- 47 packages
- Last checked
- 3 hours ago –
Tools for package owners.