mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 03:41:45 +00:00
sanitize names and add more comments, and other essential boilerplate changes
This commit is contained in:
parent
1e48fd18cb
commit
75da310757
@ -5,9 +5,6 @@ licenses(["notice"])
|
|||||||
load(
|
load(
|
||||||
"@io_bazel_rules_go//go:def.bzl",
|
"@io_bazel_rules_go//go:def.bzl",
|
||||||
"go_binary",
|
"go_binary",
|
||||||
"go_library",
|
|
||||||
"go_test",
|
|
||||||
"cgo_library",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
go_binary(
|
go_binary(
|
||||||
|
@ -4,10 +4,7 @@ licenses(["notice"])
|
|||||||
|
|
||||||
load(
|
load(
|
||||||
"@io_bazel_rules_go//go:def.bzl",
|
"@io_bazel_rules_go//go:def.bzl",
|
||||||
"go_binary",
|
|
||||||
"go_library",
|
"go_library",
|
||||||
"go_test",
|
|
||||||
"cgo_library",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
go_library(
|
go_library(
|
||||||
@ -17,8 +14,8 @@ go_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//cmd/cloud-controller-manager/app/options:go_default_library",
|
"//cmd/cloud-controller-manager/app/options:go_default_library",
|
||||||
"//pkg/api/v1:go_default_library",
|
"//pkg/api/v1:go_default_library",
|
||||||
"//pkg/client/clientset_generated/release_1_5:go_default_library",
|
"//pkg/client/clientset_generated/clientset:go_default_library",
|
||||||
"//pkg/client/clientset_generated/release_1_5/typed/core/v1:go_default_library",
|
"//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library",
|
||||||
"//pkg/client/leaderelection:go_default_library",
|
"//pkg/client/leaderelection:go_default_library",
|
||||||
"//pkg/client/leaderelection/resourcelock:go_default_library",
|
"//pkg/client/leaderelection/resourcelock:go_default_library",
|
||||||
"//pkg/client/record:go_default_library",
|
"//pkg/client/record:go_default_library",
|
||||||
|
@ -14,12 +14,6 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Package app implements a server that runs a set of active
|
|
||||||
// components. This includes replication controllers, service endpoints and
|
|
||||||
// nodes.
|
|
||||||
//
|
|
||||||
// CAUTION: If you update code in this file, you may need to also update code
|
|
||||||
// in contrib/mesos/pkg/controllermanager/controllermanager.go
|
|
||||||
package app
|
package app
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -33,8 +27,8 @@ import (
|
|||||||
|
|
||||||
"k8s.io/kubernetes/cmd/cloud-controller-manager/app/options"
|
"k8s.io/kubernetes/cmd/cloud-controller-manager/app/options"
|
||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
|
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
|
||||||
v1core "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5/typed/core/v1"
|
v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1"
|
||||||
"k8s.io/kubernetes/pkg/client/leaderelection"
|
"k8s.io/kubernetes/pkg/client/leaderelection"
|
||||||
"k8s.io/kubernetes/pkg/client/leaderelection/resourcelock"
|
"k8s.io/kubernetes/pkg/client/leaderelection/resourcelock"
|
||||||
"k8s.io/kubernetes/pkg/client/record"
|
"k8s.io/kubernetes/pkg/client/record"
|
||||||
@ -61,20 +55,14 @@ const (
|
|||||||
ControllerStartJitter = 1.0
|
ControllerStartJitter = 1.0
|
||||||
)
|
)
|
||||||
|
|
||||||
// NewControllerManagerCommand creates a *cobra.Command object with default parameters
|
// NewCloudControllerManagerCommand creates a *cobra.Command object with default parameters
|
||||||
func NewControllerManagerCommand() *cobra.Command {
|
func NewCloudControllerManagerCommand() *cobra.Command {
|
||||||
s := options.NewExternalCMServer()
|
s := options.NewCloudControllerManagerServer()
|
||||||
s.AddFlags(pflag.CommandLine)
|
s.AddFlags(pflag.CommandLine)
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
Use: "cloud-controller-manager",
|
Use: "cloud-controller-manager",
|
||||||
Long: `The Kubernetes controller manager is a daemon that embeds
|
Long: `The Cloud controller manager is a daemon that embeds
|
||||||
the core control loops shipped with Kubernetes. In applications of robotics and
|
the cloud specific control loops shipped with Kubernetes.`,
|
||||||
automation, a control loop is a non-terminating loop that regulates the state of
|
|
||||||
the system. In Kubernetes, a controller is a control loop that watches the shared
|
|
||||||
state of the cluster through the apiserver and makes changes attempting to move the
|
|
||||||
current state towards the desired state. Examples of controllers that ship with
|
|
||||||
Kubernetes today are the replication controller, endpoints controller, namespace
|
|
||||||
controller, and serviceaccounts controller.`,
|
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -82,7 +70,8 @@ controller, and serviceaccounts controller.`,
|
|||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
||||||
func ResyncPeriod(s *options.ExternalCMServer) func() time.Duration {
|
// ResyncPeriod computes the time interval a shared informer waits before resyncing with the api server
|
||||||
|
func ResyncPeriod(s *options.CloudControllerManagerServer) func() time.Duration {
|
||||||
return func() time.Duration {
|
return func() time.Duration {
|
||||||
factor := rand.Float64() + 1
|
factor := rand.Float64() + 1
|
||||||
return time.Duration(float64(s.MinResyncPeriod.Nanoseconds()) * factor)
|
return time.Duration(float64(s.MinResyncPeriod.Nanoseconds()) * factor)
|
||||||
@ -90,7 +79,7 @@ func ResyncPeriod(s *options.ExternalCMServer) func() time.Duration {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Run runs the ExternalCMServer. This should never exit.
|
// Run runs the ExternalCMServer. This should never exit.
|
||||||
func Run(s *options.ExternalCMServer, cloud cloudprovider.Interface) error {
|
func Run(s *options.CloudControllerManagerServer, cloud cloudprovider.Interface) error {
|
||||||
if c, err := configz.New("componentconfig"); err == nil {
|
if c, err := configz.New("componentconfig"); err == nil {
|
||||||
c.Set(s.KubeControllerManagerConfiguration)
|
c.Set(s.KubeControllerManagerConfiguration)
|
||||||
} else {
|
} else {
|
||||||
@ -101,6 +90,7 @@ func Run(s *options.ExternalCMServer, cloud cloudprovider.Interface) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set the ContentType of the requests from kube client
|
||||||
kubeconfig.ContentConfig.ContentType = s.ContentType
|
kubeconfig.ContentConfig.ContentType = s.ContentType
|
||||||
// Override kubeconfig qps/burst settings from flags
|
// Override kubeconfig qps/burst settings from flags
|
||||||
kubeconfig.QPS = s.KubeAPIQPS
|
kubeconfig.QPS = s.KubeAPIQPS
|
||||||
@ -111,6 +101,7 @@ func Run(s *options.ExternalCMServer, cloud cloudprovider.Interface) error {
|
|||||||
}
|
}
|
||||||
leaderElectionClient := clientset.NewForConfigOrDie(restclient.AddUserAgent(kubeconfig, "leader-election"))
|
leaderElectionClient := clientset.NewForConfigOrDie(restclient.AddUserAgent(kubeconfig, "leader-election"))
|
||||||
|
|
||||||
|
// Start the external controller manager server
|
||||||
go func() {
|
go func() {
|
||||||
mux := http.NewServeMux()
|
mux := http.NewServeMux()
|
||||||
healthz.InstallHandler(mux)
|
healthz.InstallHandler(mux)
|
||||||
@ -159,12 +150,13 @@ func Run(s *options.ExternalCMServer, cloud cloudprovider.Interface) error {
|
|||||||
panic("unreachable")
|
panic("unreachable")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Identity used to distinguish between multiple cloud controller manager instances
|
||||||
id, err := os.Hostname()
|
id, err := os.Hostname()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: enable other lock types
|
// Lock required for leader election
|
||||||
rl := resourcelock.EndpointsLock{
|
rl := resourcelock.EndpointsLock{
|
||||||
EndpointsMeta: v1.ObjectMeta{
|
EndpointsMeta: v1.ObjectMeta{
|
||||||
Namespace: "kube-system",
|
Namespace: "kube-system",
|
||||||
@ -177,6 +169,7 @@ func Run(s *options.ExternalCMServer, cloud cloudprovider.Interface) error {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Try and become the leader and start cloud controller manager loops
|
||||||
leaderelection.RunOrDie(leaderelection.LeaderElectionConfig{
|
leaderelection.RunOrDie(leaderelection.LeaderElectionConfig{
|
||||||
Lock: &rl,
|
Lock: &rl,
|
||||||
LeaseDuration: s.LeaderElection.LeaseDuration.Duration,
|
LeaseDuration: s.LeaderElection.LeaseDuration.Duration,
|
||||||
@ -192,7 +185,9 @@ func Run(s *options.ExternalCMServer, cloud cloudprovider.Interface) error {
|
|||||||
panic("unreachable")
|
panic("unreachable")
|
||||||
}
|
}
|
||||||
|
|
||||||
func StartControllers(s *options.ExternalCMServer, kubeconfig *restclient.Config, rootClientBuilder, clientBuilder controller.ControllerClientBuilder, stop <-chan struct{}, recorder record.EventRecorder, cloud cloudprovider.Interface) error {
|
// StartControllers starts the cloud specific controller loops.
|
||||||
|
func StartControllers(s *options.CloudControllerManagerServer, kubeconfig *restclient.Config, rootClientBuilder, clientBuilder controller.ControllerClientBuilder, stop <-chan struct{}, recorder record.EventRecorder, cloud cloudprovider.Interface) error {
|
||||||
|
// Function to build the kube client object
|
||||||
client := func(serviceAccountName string) clientset.Interface {
|
client := func(serviceAccountName string) clientset.Interface {
|
||||||
return rootClientBuilder.ClientOrDie(serviceAccountName)
|
return rootClientBuilder.ClientOrDie(serviceAccountName)
|
||||||
}
|
}
|
||||||
@ -203,6 +198,7 @@ func StartControllers(s *options.ExternalCMServer, kubeconfig *restclient.Config
|
|||||||
glog.Warningf("Unsuccessful parsing of cluster CIDR %v: %v", s.ClusterCIDR, err)
|
glog.Warningf("Unsuccessful parsing of cluster CIDR %v: %v", s.ClusterCIDR, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Start the CloudNodeController
|
||||||
nodeController, err := nodecontroller.NewCloudNodeController(
|
nodeController, err := nodecontroller.NewCloudNodeController(
|
||||||
sharedInformers.Nodes(),
|
sharedInformers.Nodes(),
|
||||||
client("cloud-node-controller"), cloud,
|
client("cloud-node-controller"), cloud,
|
||||||
@ -213,6 +209,7 @@ func StartControllers(s *options.ExternalCMServer, kubeconfig *restclient.Config
|
|||||||
nodeController.Run()
|
nodeController.Run()
|
||||||
time.Sleep(wait.Jitter(s.ControllerStartInterval.Duration, ControllerStartJitter))
|
time.Sleep(wait.Jitter(s.ControllerStartInterval.Duration, ControllerStartJitter))
|
||||||
|
|
||||||
|
// Start the service controller
|
||||||
serviceController, err := servicecontroller.New(cloud, client("service-controller"), s.ClusterName)
|
serviceController, err := servicecontroller.New(cloud, client("service-controller"), s.ClusterName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Errorf("Failed to start service controller: %v", err)
|
glog.Errorf("Failed to start service controller: %v", err)
|
||||||
@ -221,6 +218,7 @@ func StartControllers(s *options.ExternalCMServer, kubeconfig *restclient.Config
|
|||||||
}
|
}
|
||||||
time.Sleep(wait.Jitter(s.ControllerStartInterval.Duration, ControllerStartJitter))
|
time.Sleep(wait.Jitter(s.ControllerStartInterval.Duration, ControllerStartJitter))
|
||||||
|
|
||||||
|
// If CIDRs should be allocated for pods and set on the CloudProvider, then start the route controller
|
||||||
if s.AllocateNodeCIDRs && s.ConfigureCloudRoutes {
|
if s.AllocateNodeCIDRs && s.ConfigureCloudRoutes {
|
||||||
if routes, ok := cloud.Routes(); !ok {
|
if routes, ok := cloud.Routes(); !ok {
|
||||||
glog.Warning("configure-cloud-routes is set, but cloud provider does not support routes. Will not configure cloud provider routes.")
|
glog.Warning("configure-cloud-routes is set, but cloud provider does not support routes. Will not configure cloud provider routes.")
|
||||||
|
@ -4,10 +4,7 @@ licenses(["notice"])
|
|||||||
|
|
||||||
load(
|
load(
|
||||||
"@io_bazel_rules_go//go:def.bzl",
|
"@io_bazel_rules_go//go:def.bzl",
|
||||||
"go_binary",
|
|
||||||
"go_library",
|
"go_library",
|
||||||
"go_test",
|
|
||||||
"cgo_library",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
go_library(
|
go_library(
|
||||||
|
@ -14,10 +14,6 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Package options provides the flags used for the controller manager.
|
|
||||||
//
|
|
||||||
// CAUTION: If you update code in this file, you may need to also update code
|
|
||||||
// in contrib/mesos/pkg/controllermanager/controllermanager.go
|
|
||||||
package options
|
package options
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -32,23 +28,22 @@ import (
|
|||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ExternalCMServer is the main context object for the controller manager.
|
// CloudControllerMangerServer is the main context object for the controller manager.
|
||||||
type ExternalCMServer struct {
|
type CloudControllerManagerServer struct {
|
||||||
componentconfig.KubeControllerManagerConfiguration
|
componentconfig.KubeControllerManagerConfiguration
|
||||||
|
|
||||||
Master string
|
Master string
|
||||||
Kubeconfig string
|
Kubeconfig string
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewCMServer creates a new ExternalCMServer with a default config.
|
// NewCloudControllerManagerServer creates a new ExternalCMServer with a default config.
|
||||||
func NewExternalCMServer() *ExternalCMServer {
|
func NewCloudControllerManagerServer() *CloudControllerManagerServer {
|
||||||
s := ExternalCMServer{
|
s := CloudControllerManagerServer{
|
||||||
KubeControllerManagerConfiguration: componentconfig.KubeControllerManagerConfiguration{
|
KubeControllerManagerConfiguration: componentconfig.KubeControllerManagerConfiguration{
|
||||||
Port: ports.ControllerManagerPort,
|
Port: ports.CloudControllerManagerPort,
|
||||||
Address: "0.0.0.0",
|
Address: "0.0.0.0",
|
||||||
ConcurrentServiceSyncs: 1,
|
ConcurrentServiceSyncs: 1,
|
||||||
MinResyncPeriod: metav1.Duration{Duration: 12 * time.Hour},
|
MinResyncPeriod: metav1.Duration{Duration: 12 * time.Hour},
|
||||||
RegisterRetryCount: 10,
|
|
||||||
NodeMonitorPeriod: metav1.Duration{Duration: 5 * time.Second},
|
NodeMonitorPeriod: metav1.Duration{Duration: 5 * time.Second},
|
||||||
ClusterName: "kubernetes",
|
ClusterName: "kubernetes",
|
||||||
ConfigureCloudRoutes: true,
|
ConfigureCloudRoutes: true,
|
||||||
@ -57,10 +52,6 @@ func NewExternalCMServer() *ExternalCMServer {
|
|||||||
KubeAPIBurst: 30,
|
KubeAPIBurst: 30,
|
||||||
LeaderElection: leaderelection.DefaultLeaderElectionConfiguration(),
|
LeaderElection: leaderelection.DefaultLeaderElectionConfiguration(),
|
||||||
ControllerStartInterval: metav1.Duration{Duration: 0 * time.Second},
|
ControllerStartInterval: metav1.Duration{Duration: 0 * time.Second},
|
||||||
EnableGarbageCollector: true,
|
|
||||||
ConcurrentGCSyncs: 20,
|
|
||||||
ClusterSigningCertFile: "/etc/kubernetes/ca/ca.pem",
|
|
||||||
ClusterSigningKeyFile: "/etc/kubernetes/ca/ca.key",
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
s.LeaderElection.LeaderElect = true
|
s.LeaderElection.LeaderElect = true
|
||||||
@ -68,8 +59,8 @@ func NewExternalCMServer() *ExternalCMServer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// AddFlags adds flags for a specific ExternalCMServer to the specified FlagSet
|
// AddFlags adds flags for a specific ExternalCMServer to the specified FlagSet
|
||||||
func (s *ExternalCMServer) AddFlags(fs *pflag.FlagSet) {
|
func (s *CloudControllerManagerServer) AddFlags(fs *pflag.FlagSet) {
|
||||||
fs.Int32Var(&s.Port, "port", s.Port, "The port that the controller-manager's http service runs on")
|
fs.Int32Var(&s.Port, "port", s.Port, "The port that the cloud-controller-manager's http service runs on")
|
||||||
fs.Var(componentconfig.IPVar{Val: &s.Address}, "address", "The IP address to serve on (set to 0.0.0.0 for all interfaces)")
|
fs.Var(componentconfig.IPVar{Val: &s.Address}, "address", "The IP address to serve on (set to 0.0.0.0 for all interfaces)")
|
||||||
fs.StringVar(&s.CloudProvider, "cloud-provider", s.CloudProvider, "The provider of cloud services. Empty for no provider.")
|
fs.StringVar(&s.CloudProvider, "cloud-provider", s.CloudProvider, "The provider of cloud services. Empty for no provider.")
|
||||||
fs.StringVar(&s.CloudConfigFile, "cloud-config", s.CloudConfigFile, "The path to the cloud provider configuration file. Empty string for no configuration file.")
|
fs.StringVar(&s.CloudConfigFile, "cloud-config", s.CloudConfigFile, "The path to the cloud provider configuration file. Empty string for no configuration file.")
|
||||||
|
@ -15,7 +15,7 @@ limitations under the License.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// The external controller manager is responsible for running controller loops that
|
// The external controller manager is responsible for running controller loops that
|
||||||
// are cloud provider dependent. It uses the API to listen for new events on resources.
|
// are cloud provider dependent. It uses the API to listen to new events on resources.
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
s := options.NewExternalCMServer()
|
s := options.NewCloudControllerManagerServer()
|
||||||
s.AddFlags(pflag.CommandLine)
|
s.AddFlags(pflag.CommandLine)
|
||||||
|
|
||||||
flag.InitFlags()
|
flag.InitFlags()
|
||||||
|
@ -378,9 +378,7 @@ func StartControllers(controllers map[string]InitFunc, s *options.CMServer, root
|
|||||||
time.Sleep(wait.Jitter(s.ControllerStartInterval.Duration, ControllerStartJitter))
|
time.Sleep(wait.Jitter(s.ControllerStartInterval.Duration, ControllerStartJitter))
|
||||||
|
|
||||||
if s.AllocateNodeCIDRs && s.ConfigureCloudRoutes {
|
if s.AllocateNodeCIDRs && s.ConfigureCloudRoutes {
|
||||||
if s.CloudProvider == "external" {
|
if cloud == nil {
|
||||||
glog.Warning("configure-cloud-routes is set, but external cloudprovider is specified. This manager will not configure cloud provider routes.")
|
|
||||||
} else if cloud == nil {
|
|
||||||
glog.Warning("configure-cloud-routes is set, but no cloud provider specified. Will not configure cloud provider routes.")
|
glog.Warning("configure-cloud-routes is set, but no cloud provider specified. Will not configure cloud provider routes.")
|
||||||
} else if routes, ok := cloud.Routes(); !ok {
|
} else if routes, ok := cloud.Routes(); !ok {
|
||||||
glog.Warning("configure-cloud-routes is set, but cloud provider does not support routes. Will not configure cloud provider routes.")
|
glog.Warning("configure-cloud-routes is set, but cloud provider does not support routes. Will not configure cloud provider routes.")
|
||||||
|
@ -90,11 +90,6 @@ func InitCloudProvider(name string, configFilePath string) (Interface, error) {
|
|||||||
var cloud Interface
|
var cloud Interface
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
if name == "external" {
|
|
||||||
glog.Info("cloud provider external specified.")
|
|
||||||
return nil, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
if name == "" {
|
if name == "" {
|
||||||
glog.Info("No cloud provider specified.")
|
glog.Info("No cloud provider specified.")
|
||||||
return nil, nil
|
return nil, nil
|
||||||
|
@ -4,10 +4,8 @@ licenses(["notice"])
|
|||||||
|
|
||||||
load(
|
load(
|
||||||
"@io_bazel_rules_go//go:def.bzl",
|
"@io_bazel_rules_go//go:def.bzl",
|
||||||
"go_binary",
|
|
||||||
"go_library",
|
"go_library",
|
||||||
"go_test",
|
"go_test",
|
||||||
"cgo_library",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
go_library(
|
go_library(
|
||||||
@ -17,8 +15,8 @@ go_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//pkg/api/v1:go_default_library",
|
"//pkg/api/v1:go_default_library",
|
||||||
"//pkg/apis/meta/v1:go_default_library",
|
"//pkg/apis/meta/v1:go_default_library",
|
||||||
"//pkg/client/clientset_generated/release_1_5:go_default_library",
|
"//pkg/client/clientset_generated/clientset:go_default_library",
|
||||||
"//pkg/client/clientset_generated/release_1_5/typed/core/v1:go_default_library",
|
"//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library",
|
||||||
"//pkg/client/record:go_default_library",
|
"//pkg/client/record:go_default_library",
|
||||||
"//pkg/cloudprovider:go_default_library",
|
"//pkg/cloudprovider:go_default_library",
|
||||||
"//pkg/controller/informers:go_default_library",
|
"//pkg/controller/informers:go_default_library",
|
||||||
@ -37,7 +35,7 @@ go_test(
|
|||||||
deps = [
|
deps = [
|
||||||
"//pkg/api/v1:go_default_library",
|
"//pkg/api/v1:go_default_library",
|
||||||
"//pkg/apis/meta/v1:go_default_library",
|
"//pkg/apis/meta/v1:go_default_library",
|
||||||
"//pkg/client/clientset_generated/release_1_5/fake:go_default_library",
|
"//pkg/client/clientset_generated/clientset/fake:go_default_library",
|
||||||
"//pkg/client/record:go_default_library",
|
"//pkg/client/record:go_default_library",
|
||||||
"//pkg/cloudprovider:go_default_library",
|
"//pkg/cloudprovider:go_default_library",
|
||||||
"//pkg/cloudprovider/providers/fake:go_default_library",
|
"//pkg/cloudprovider/providers/fake:go_default_library",
|
||||||
|
@ -24,8 +24,8 @@ import (
|
|||||||
|
|
||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
metav1 "k8s.io/kubernetes/pkg/apis/meta/v1"
|
metav1 "k8s.io/kubernetes/pkg/apis/meta/v1"
|
||||||
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
|
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
|
||||||
v1core "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5/typed/core/v1"
|
v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1"
|
||||||
"k8s.io/kubernetes/pkg/client/record"
|
"k8s.io/kubernetes/pkg/client/record"
|
||||||
"k8s.io/kubernetes/pkg/cloudprovider"
|
"k8s.io/kubernetes/pkg/cloudprovider"
|
||||||
"k8s.io/kubernetes/pkg/controller/informers"
|
"k8s.io/kubernetes/pkg/controller/informers"
|
||||||
@ -55,6 +55,7 @@ const (
|
|||||||
retrySleepTime = 20 * time.Millisecond
|
retrySleepTime = 20 * time.Millisecond
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// NewCloudNodeController creates a CloudNodeController object
|
||||||
func NewCloudNodeController(
|
func NewCloudNodeController(
|
||||||
nodeInformer informers.NodeInformer,
|
nodeInformer informers.NodeInformer,
|
||||||
kubeClient clientset.Interface,
|
kubeClient clientset.Interface,
|
||||||
|
@ -23,7 +23,7 @@ import (
|
|||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
|
|
||||||
"k8s.io/kubernetes/pkg/api/v1"
|
"k8s.io/kubernetes/pkg/api/v1"
|
||||||
"k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5/fake"
|
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake"
|
||||||
|
|
||||||
metav1 "k8s.io/kubernetes/pkg/apis/meta/v1"
|
metav1 "k8s.io/kubernetes/pkg/apis/meta/v1"
|
||||||
"k8s.io/kubernetes/pkg/client/record"
|
"k8s.io/kubernetes/pkg/client/record"
|
||||||
|
@ -29,6 +29,9 @@ const (
|
|||||||
// ControllerManagerPort is the default port for the controller manager status server.
|
// ControllerManagerPort is the default port for the controller manager status server.
|
||||||
// May be overridden by a flag at startup.
|
// May be overridden by a flag at startup.
|
||||||
ControllerManagerPort = 10252
|
ControllerManagerPort = 10252
|
||||||
|
// CloudControllerManagerPort is the default port for the cloud controller manager server.
|
||||||
|
// This value may be overriden by a flag at startup.
|
||||||
|
CloudControllerManagerPort = 10253
|
||||||
// KubeletReadOnlyPort exposes basic read-only services from the kubelet.
|
// KubeletReadOnlyPort exposes basic read-only services from the kubelet.
|
||||||
// May be overridden by a flag at startup.
|
// May be overridden by a flag at startup.
|
||||||
// This is necessary for heapster to collect monitoring stats from the kubelet
|
// This is necessary for heapster to collect monitoring stats from the kubelet
|
||||||
|
Loading…
Reference in New Issue
Block a user