mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 12:43:23 +00:00
Update NodeIPAM wrapper
This commit is contained in:
parent
f098e66cee
commit
716122ccec
@ -41,15 +41,10 @@ import (
|
|||||||
_ "k8s.io/component-base/metrics/prometheus/clientgo" // load all the prometheus client-go plugins
|
_ "k8s.io/component-base/metrics/prometheus/clientgo" // load all the prometheus client-go plugins
|
||||||
_ "k8s.io/component-base/metrics/prometheus/version" // for version metric registration
|
_ "k8s.io/component-base/metrics/prometheus/version" // for version metric registration
|
||||||
"k8s.io/klog/v2"
|
"k8s.io/klog/v2"
|
||||||
nodeipamcontrolleroptions "k8s.io/kubernetes/cmd/kube-controller-manager/app/options"
|
|
||||||
nodeipamconfig "k8s.io/kubernetes/pkg/controller/nodeipam/config"
|
|
||||||
// For existing cloud providers, the option to import legacy providers is still available.
|
// For existing cloud providers, the option to import legacy providers is still available.
|
||||||
// e.g. _"k8s.io/legacy-cloud-providers/<provider>"
|
// e.g. _"k8s.io/legacy-cloud-providers/<provider>"
|
||||||
)
|
)
|
||||||
|
|
||||||
var nodeIPAMControllerConfiguration nodeipamconfig.NodeIPAMControllerConfiguration
|
|
||||||
var nodeIPAMControllerOptions nodeipamcontrolleroptions.NodeIPAMControllerOptions
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
rand.Seed(time.Now().UnixNano())
|
rand.Seed(time.Now().UnixNano())
|
||||||
|
|
||||||
|
@ -22,8 +22,7 @@ package main
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/spf13/pflag"
|
nodeipamcontrolleroptions "k8s.io/kubernetes/cmd/kube-controller-manager/app/options"
|
||||||
|
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
@ -35,7 +34,6 @@ 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"
|
||||||
@ -49,19 +47,18 @@ const (
|
|||||||
defaultNodeMaskCIDRIPv6 = 64
|
defaultNodeMaskCIDRIPv6 = 64
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var nodeIPAMControllerConfiguration nodeipamconfig.NodeIPAMControllerConfiguration
|
||||||
|
var nodeIPAMControllerOptions nodeipamcontrolleroptions.NodeIPAMControllerOptions
|
||||||
|
|
||||||
func startNodeIpamControllerWrapper(completedConfig *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface) app.InitFunc {
|
func startNodeIpamControllerWrapper(completedConfig *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface) app.InitFunc {
|
||||||
fs := pflag.NewFlagSet("fs", pflag.ContinueOnError)
|
|
||||||
var nodeIPAMControllerOptions nodeipamcontrolleroptions.NodeIPAMControllerOptions
|
|
||||||
nodeIPAMControllerOptions.AddFlags(fs)
|
|
||||||
errors := nodeIPAMControllerOptions.Validate()
|
errors := 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.")
|
||||||
}
|
}
|
||||||
var nodeIPAMConfig nodeipamconfig.NodeIPAMControllerConfiguration
|
nodeIPAMControllerOptions.ApplyTo(&nodeIPAMControllerConfiguration)
|
||||||
nodeIPAMControllerOptions.ApplyTo(&nodeIPAMConfig)
|
|
||||||
|
|
||||||
return func(ctx genericcontrollermanager.ControllerContext) (http.Handler, bool, error) {
|
return func(ctx genericcontrollermanager.ControllerContext) (http.Handler, bool, error) {
|
||||||
return startNodeIpamController(completedConfig, nodeIPAMConfig, ctx, cloud)
|
return startNodeIpamController(completedConfig, nodeIPAMControllerConfiguration, ctx, cloud)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user