Documentation
¶
Overview ¶
Package ccm implements a Kubernetes Cloud Controller Manager
Index ¶
- Constants
- func NewCommand() (*cobra.Command, error)
- type Options
- func (opts *Options) AddController(name, clientName string, f app.InitFuncConstructor, aliases ...string)
- func (opts *Options) Cloud() cloudprovider.Interface
- func (opts *Options) FlagSet(name string) *pflag.FlagSet
- func (opts *Options) FlagSets() *flag.NamedFlagSets
- func (opts *Options) NewCommand() (*cobra.Command, error)
- func (opts *Options) RemoveController(name string)
- type Provider
- func (*Provider) Clusters() (cloudprovider.Clusters, bool)
- func (*Provider) HasClusterID() bool
- func (*Provider) Initialize(_ cloudprovider.ControllerClientBuilder, _ <-chan struct{})
- func (*Provider) Instances() (cloudprovider.Instances, bool)
- func (*Provider) InstancesV2() (cloudprovider.InstancesV2, bool)
- func (*Provider) LoadBalancer() (cloudprovider.LoadBalancer, bool)
- func (*Provider) ProviderName() string
- func (*Provider) Routes() (cloudprovider.Routes, bool)
- func (*Provider) Zones() (cloudprovider.Zones, bool)
Constants ¶
const ( // ProviderName is the name used when registering ourselves // as cloud providers ProviderName = "darvaza" )
Variables ¶
This section is empty.
Functions ¶
func NewCommand ¶
NewCommand creates a cobra.Command for the Cloud Controller Manager using the default options
Types ¶
type Options ¶
type Options struct {
// contains filtered or unexported fields
}
Options describes the Cloud Controller Manager (CCM) we want to build
func NewOptions ¶
NewOptions create Options to build a Cloud Controller Manager instance
func (*Options) AddController ¶
func (opts *Options) AddController(name, clientName string, f app.InitFuncConstructor, aliases ...string)
AddController adds a controller to the options
func (*Options) Cloud ¶
func (opts *Options) Cloud() cloudprovider.Interface
Cloud returns the initialized cloud provider
func (*Options) FlagSets ¶
func (opts *Options) FlagSets() *flag.NamedFlagSets
FlagSets returns the cli flags
func (*Options) NewCommand ¶
NewCommand creates a cobra.Command based on the Options
func (*Options) RemoveController ¶
RemoveController removes a controller from the options
type Provider ¶
type Provider struct {
// contains filtered or unexported fields
}
Provider is an instance of the cloud we implement
func (*Provider) Clusters ¶
func (*Provider) Clusters() (cloudprovider.Clusters, bool)
Clusters returns a clusters interface. Also returns true if the interface is supported, false otherwise.
func (*Provider) HasClusterID ¶
HasClusterID returns true if a ClusterID is required and set
func (*Provider) Initialize ¶
func (*Provider) Initialize(_ cloudprovider.ControllerClientBuilder, _ <-chan struct{})
Initialize provides the cloud with a kubernetes client builder and may spawn goroutines to perform housekeeping or run custom controllers specific to the cloud provider. Any tasks started here should be cleaned up when the stop channel closes.
func (*Provider) Instances ¶
func (*Provider) Instances() (cloudprovider.Instances, bool)
Instances returns an instances interface. Also returns true if the interface is supported, false otherwise.
func (*Provider) InstancesV2 ¶
func (*Provider) InstancesV2() (cloudprovider.InstancesV2, bool)
InstancesV2 is an implementation for instances and should only be implemented by external cloud providers. Implementing InstancesV2 is behaviorally identical to Instances but is optimized to significantly reduce API calls to the cloud provider when registering and syncing nodes. Implementation of this interface will disable calls to the Zones interface. Also returns true if the interface is supported, false otherwise.
func (*Provider) LoadBalancer ¶
func (*Provider) LoadBalancer() (cloudprovider.LoadBalancer, bool)
LoadBalancer returns a balancer interface. Also returns true if the interface is supported, false otherwise.
func (*Provider) ProviderName ¶
ProviderName returns the cloud provider ID.
func (*Provider) Routes ¶
func (*Provider) Routes() (cloudprovider.Routes, bool)
Routes returns a routes interface along with whether the interface is supported.
func (*Provider) Zones ¶
func (*Provider) Zones() (cloudprovider.Zones, bool)
Zones returns a zones interface. Also returns true if the interface is supported, false otherwise. DEPRECATED: Zones is deprecated in favor of retrieving zone/region information from InstancesV2. This interface will not be called if InstancesV2 is enabled.