mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 03:41:45 +00:00
Address comments.
This commit is contained in:
parent
716122ccec
commit
9b3d42f20a
@ -61,10 +61,12 @@ func main() {
|
|||||||
// Here is an example to add an controller(NodeIpamController) which will be used by cloud provider
|
// Here is an example to add an controller(NodeIpamController) which will be used by cloud provider
|
||||||
// generate nodeIPAMConfig. Here is an sample code.
|
// generate nodeIPAMConfig. Here is an sample code.
|
||||||
// If you do not need additional controller, please ignore.
|
// If you do not need additional controller, please ignore.
|
||||||
nodeIPAMControllerOptions.NodeIPAMControllerConfiguration = &nodeIPAMControllerConfiguration
|
|
||||||
|
nodeIpamController := nodeIPAMController{}
|
||||||
|
nodeIpamController.nodeIPAMControllerOptions.NodeIPAMControllerConfiguration = &nodeIpamController.nodeIPAMControllerConfiguration
|
||||||
fs := pflag.NewFlagSet("fs", pflag.ContinueOnError)
|
fs := pflag.NewFlagSet("fs", pflag.ContinueOnError)
|
||||||
nodeIPAMControllerOptions.AddFlags(fs)
|
nodeIpamController.nodeIPAMControllerOptions.AddFlags(fs)
|
||||||
controllerInitializers["nodeipam"] = startNodeIpamControllerWrapper
|
controllerInitializers["nodeipam"] = nodeIpamController.startNodeIpamControllerWrapper
|
||||||
|
|
||||||
command := app.NewCloudControllerManagerCommand(ccmOptions, cloudInitializer, controllerInitializers, fs, wait.NeverStop)
|
command := app.NewCloudControllerManagerCommand(ccmOptions, cloudInitializer, controllerInitializers, fs, wait.NeverStop)
|
||||||
|
|
||||||
|
@ -22,7 +22,6 @@ package main
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
nodeipamcontrolleroptions "k8s.io/kubernetes/cmd/kube-controller-manager/app/options"
|
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
@ -34,6 +33,7 @@ import (
|
|||||||
genericcontrollermanager "k8s.io/controller-manager/app"
|
genericcontrollermanager "k8s.io/controller-manager/app"
|
||||||
"k8s.io/controller-manager/pkg/features"
|
"k8s.io/controller-manager/pkg/features"
|
||||||
"k8s.io/klog/v2"
|
"k8s.io/klog/v2"
|
||||||
|
nodeipamcontrolleroptions "k8s.io/kubernetes/cmd/kube-controller-manager/app/options"
|
||||||
nodeipamcontroller "k8s.io/kubernetes/pkg/controller/nodeipam"
|
nodeipamcontroller "k8s.io/kubernetes/pkg/controller/nodeipam"
|
||||||
nodeipamconfig "k8s.io/kubernetes/pkg/controller/nodeipam/config"
|
nodeipamconfig "k8s.io/kubernetes/pkg/controller/nodeipam/config"
|
||||||
"k8s.io/kubernetes/pkg/controller/nodeipam/ipam"
|
"k8s.io/kubernetes/pkg/controller/nodeipam/ipam"
|
||||||
@ -47,18 +47,20 @@ const (
|
|||||||
defaultNodeMaskCIDRIPv6 = 64
|
defaultNodeMaskCIDRIPv6 = 64
|
||||||
)
|
)
|
||||||
|
|
||||||
var nodeIPAMControllerConfiguration nodeipamconfig.NodeIPAMControllerConfiguration
|
type nodeIPAMController struct {
|
||||||
var nodeIPAMControllerOptions nodeipamcontrolleroptions.NodeIPAMControllerOptions
|
nodeIPAMControllerConfiguration nodeipamconfig.NodeIPAMControllerConfiguration
|
||||||
|
nodeIPAMControllerOptions nodeipamcontrolleroptions.NodeIPAMControllerOptions
|
||||||
|
}
|
||||||
|
|
||||||
func startNodeIpamControllerWrapper(completedConfig *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface) app.InitFunc {
|
func (nodeIpamController *nodeIPAMController) startNodeIpamControllerWrapper(completedConfig *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface) app.InitFunc {
|
||||||
errors := nodeIPAMControllerOptions.Validate()
|
errors := nodeIpamController.nodeIPAMControllerOptions.Validate()
|
||||||
if len(errors) > 0 {
|
if len(errors) > 0 {
|
||||||
klog.Fatal("NodeIPAM controller values are not properly set.")
|
klog.Fatal("NodeIPAM controller values are not properly set.")
|
||||||
}
|
}
|
||||||
nodeIPAMControllerOptions.ApplyTo(&nodeIPAMControllerConfiguration)
|
nodeIpamController.nodeIPAMControllerOptions.ApplyTo(&nodeIpamController.nodeIPAMControllerConfiguration)
|
||||||
|
|
||||||
return func(ctx genericcontrollermanager.ControllerContext) (http.Handler, bool, error) {
|
return func(ctx genericcontrollermanager.ControllerContext) (http.Handler, bool, error) {
|
||||||
return startNodeIpamController(completedConfig, nodeIPAMControllerConfiguration, ctx, cloud)
|
return startNodeIpamController(completedConfig, nodeIpamController.nodeIPAMControllerConfiguration, ctx, cloud)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,6 +66,7 @@ const (
|
|||||||
|
|
||||||
// NewCloudControllerManagerCommand creates a *cobra.Command object with default parameters
|
// NewCloudControllerManagerCommand creates a *cobra.Command object with default parameters
|
||||||
// initFuncConstructor is a map of named controller groups (you can start more than one in an init func) paired to their InitFuncConstructor.
|
// initFuncConstructor is a map of named controller groups (you can start more than one in an init func) paired to their InitFuncConstructor.
|
||||||
|
// additionalFlags provides controller specific flags to be included in the complete set of controller manager flags
|
||||||
func NewCloudControllerManagerCommand(s *options.CloudControllerManagerOptions, cloudInitializer InitCloudFunc, initFuncConstructor map[string]InitFuncConstructor, additionalFlags *pflag.FlagSet, stopCh <-chan struct{}) *cobra.Command {
|
func NewCloudControllerManagerCommand(s *options.CloudControllerManagerOptions, cloudInitializer InitCloudFunc, initFuncConstructor map[string]InitFuncConstructor, additionalFlags *pflag.FlagSet, stopCh <-chan struct{}) *cobra.Command {
|
||||||
|
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
|
Loading…
Reference in New Issue
Block a user