From 91dc0ca33985869efb7c657ccf78c42c2a85145a Mon Sep 17 00:00:00 2001 From: Cole Mickens Date: Fri, 27 Oct 2017 10:55:38 -0700 Subject: [PATCH] hyperkube: add cloud-controller-manager --- cmd/cloud-controller-manager/BUILD | 2 - .../controller-manager.go | 2 - cmd/hyperkube/BUILD | 3 ++ cmd/hyperkube/cloud-controller-manager.go | 39 +++++++++++++++++++ cmd/hyperkube/main.go | 1 + 5 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 cmd/hyperkube/cloud-controller-manager.go diff --git a/cmd/cloud-controller-manager/BUILD b/cmd/cloud-controller-manager/BUILD index d637599ba0..0a30843ab6 100644 --- a/cmd/cloud-controller-manager/BUILD +++ b/cmd/cloud-controller-manager/BUILD @@ -28,11 +28,9 @@ go_library( "//cmd/cloud-controller-manager/app:go_default_library", "//cmd/cloud-controller-manager/app/options:go_default_library", "//pkg/client/metrics/prometheus:go_default_library", - "//pkg/cloudprovider:go_default_library", "//pkg/cloudprovider/providers:go_default_library", "//pkg/version/prometheus:go_default_library", "//pkg/version/verflag:go_default_library", - "//vendor/github.com/golang/glog:go_default_library", "//vendor/github.com/spf13/pflag:go_default_library", "//vendor/k8s.io/apiserver/pkg/util/flag:go_default_library", "//vendor/k8s.io/apiserver/pkg/util/logs:go_default_library", diff --git a/cmd/cloud-controller-manager/controller-manager.go b/cmd/cloud-controller-manager/controller-manager.go index 17f33112e8..1d8b498fbf 100644 --- a/cmd/cloud-controller-manager/controller-manager.go +++ b/cmd/cloud-controller-manager/controller-manager.go @@ -28,14 +28,12 @@ import ( "k8s.io/kubernetes/cmd/cloud-controller-manager/app" "k8s.io/kubernetes/cmd/cloud-controller-manager/app/options" _ "k8s.io/kubernetes/pkg/client/metrics/prometheus" // for client metric registration - "k8s.io/kubernetes/pkg/cloudprovider" // NOTE: Importing all in-tree cloud-providers is not required when // implementing an out-of-tree cloud-provider. _ "k8s.io/kubernetes/pkg/cloudprovider/providers" _ "k8s.io/kubernetes/pkg/version/prometheus" // for version metric registration "k8s.io/kubernetes/pkg/version/verflag" - "github.com/golang/glog" "github.com/spf13/pflag" ) diff --git a/cmd/hyperkube/BUILD b/cmd/hyperkube/BUILD index c74587b057..af3f17aae7 100644 --- a/cmd/hyperkube/BUILD +++ b/cmd/hyperkube/BUILD @@ -30,6 +30,7 @@ go_test( go_library( name = "go_default_library", srcs = [ + "cloud-controller-manager.go", "hyperkube.go", "kube-aggregator.go", "kube-apiserver.go", @@ -43,6 +44,8 @@ go_library( ], importpath = "k8s.io/kubernetes/cmd/hyperkube", deps = [ + "//cmd/cloud-controller-manager/app:go_default_library", + "//cmd/cloud-controller-manager/app/options:go_default_library", "//cmd/kube-apiserver/app:go_default_library", "//cmd/kube-apiserver/app/options:go_default_library", "//cmd/kube-controller-manager/app:go_default_library", diff --git a/cmd/hyperkube/cloud-controller-manager.go b/cmd/hyperkube/cloud-controller-manager.go new file mode 100644 index 0000000000..cd454cf4bc --- /dev/null +++ b/cmd/hyperkube/cloud-controller-manager.go @@ -0,0 +1,39 @@ +/* +Copyright 2015 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package main + +import ( + "k8s.io/kubernetes/cmd/cloud-controller-manager/app" + "k8s.io/kubernetes/cmd/cloud-controller-manager/app/options" +) + +// NewCloudControllerManager creates a new hyperkube Server object that includes the +// description and flags. +func NewCloudControllerManager() *Server { + s := options.NewCloudControllerManagerServer() + + hks := Server{ + name: "cloud-controller-manager", + SimpleUsage: "cloud-controller-manager", + Long: "A server that acts as an external cloud provider.", + Run: func(_ *Server, args []string, stopCh <-chan struct{}) error { + return app.Run(s) + }, + } + s.AddFlags(hks.Flags()) + return &hks +} diff --git a/cmd/hyperkube/main.go b/cmd/hyperkube/main.go index de5b58fca1..af159dc328 100644 --- a/cmd/hyperkube/main.go +++ b/cmd/hyperkube/main.go @@ -36,6 +36,7 @@ func main() { hk.AddServer(NewKubectlServer()) hk.AddServer(NewKubeAPIServer()) hk.AddServer(NewKubeControllerManager()) + hk.AddServer(NewCloudControllerManager()) hk.AddServer(NewScheduler()) if kubelet, err := NewKubelet(); err != nil { fmt.Fprintf(os.Stderr, "error: %v\n", err)