mirror of https://github.com/k3s-io/k3s
Merge pull request #42375 from nikhiljindal/controllerRequiredResources
Automatic merge from submit-queue (batch tested with PRs 42369, 42375, 42397, 42435, 42455) Fixing federation controllers to support controllers flag Fixes https://github.com/kubernetes/kubernetes/issues/42374 cc @kubernetes/sig-federation-pr-reviewspull/6/head
commit
6675dada8d
|
@ -38,7 +38,7 @@ import (
|
||||||
"k8s.io/kubernetes/federation/pkg/dnsprovider"
|
"k8s.io/kubernetes/federation/pkg/dnsprovider"
|
||||||
clustercontroller "k8s.io/kubernetes/federation/pkg/federation-controller/cluster"
|
clustercontroller "k8s.io/kubernetes/federation/pkg/federation-controller/cluster"
|
||||||
configmapcontroller "k8s.io/kubernetes/federation/pkg/federation-controller/configmap"
|
configmapcontroller "k8s.io/kubernetes/federation/pkg/federation-controller/configmap"
|
||||||
daemonset "k8s.io/kubernetes/federation/pkg/federation-controller/daemonset"
|
daemonsetcontroller "k8s.io/kubernetes/federation/pkg/federation-controller/daemonset"
|
||||||
deploymentcontroller "k8s.io/kubernetes/federation/pkg/federation-controller/deployment"
|
deploymentcontroller "k8s.io/kubernetes/federation/pkg/federation-controller/deployment"
|
||||||
ingresscontroller "k8s.io/kubernetes/federation/pkg/federation-controller/ingress"
|
ingresscontroller "k8s.io/kubernetes/federation/pkg/federation-controller/ingress"
|
||||||
namespacecontroller "k8s.io/kubernetes/federation/pkg/federation-controller/namespace"
|
namespacecontroller "k8s.io/kubernetes/federation/pkg/federation-controller/namespace"
|
||||||
|
@ -154,11 +154,6 @@ func StartControllers(s *options.CMServer, restClientCfg *restclient.Config) err
|
||||||
glog.Infof("Loading client config for cluster controller %q", "cluster-controller")
|
glog.Infof("Loading client config for cluster controller %q", "cluster-controller")
|
||||||
ccClientset := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, "cluster-controller"))
|
ccClientset := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, "cluster-controller"))
|
||||||
glog.Infof("Running cluster controller")
|
glog.Infof("Running cluster controller")
|
||||||
go clustercontroller.NewclusterController(ccClientset, s.ClusterMonitorPeriod.Duration).Run()
|
|
||||||
dns, err := dnsprovider.InitDnsProvider(s.DnsProvider, s.DnsConfigFile)
|
|
||||||
if err != nil {
|
|
||||||
glog.Fatalf("Cloud provider could not be initialized: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
discoveryClient := discovery.NewDiscoveryClientForConfigOrDie(restClientCfg)
|
discoveryClient := discovery.NewDiscoveryClientForConfigOrDie(restClientCfg)
|
||||||
serverResources, err := discoveryClient.ServerResources()
|
serverResources, err := discoveryClient.ServerResources()
|
||||||
|
@ -166,32 +161,60 @@ func StartControllers(s *options.CMServer, restClientCfg *restclient.Config) err
|
||||||
glog.Fatalf("Could not find resources from API Server: %v", err)
|
glog.Fatalf("Could not find resources from API Server: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
go clustercontroller.NewclusterController(ccClientset, s.ClusterMonitorPeriod.Duration).Run()
|
||||||
|
|
||||||
|
if controllerEnabled(s.Controllers, serverResources, servicecontroller.ControllerName, servicecontroller.RequiredResources, true) {
|
||||||
|
dns, err := dnsprovider.InitDnsProvider(s.DnsProvider, s.DnsConfigFile)
|
||||||
|
if err != nil {
|
||||||
|
glog.Fatalf("Cloud provider could not be initialized: %v", err)
|
||||||
|
}
|
||||||
|
glog.Infof("Loading client config for service controller %q", servicecontroller.UserAgentName)
|
||||||
|
scClientset := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, servicecontroller.UserAgentName))
|
||||||
|
servicecontroller := servicecontroller.New(scClientset, dns, s.FederationName, s.ServiceDnsSuffix, s.ZoneName, s.ZoneID)
|
||||||
|
glog.Infof("Running service controller")
|
||||||
|
if err := servicecontroller.Run(s.ConcurrentServiceSyncs, wait.NeverStop); err != nil {
|
||||||
|
glog.Errorf("Failed to start service controller: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if controllerEnabled(s.Controllers, serverResources, namespacecontroller.ControllerName, namespacecontroller.RequiredResources, true) {
|
||||||
glog.Infof("Loading client config for namespace controller %q", "namespace-controller")
|
glog.Infof("Loading client config for namespace controller %q", "namespace-controller")
|
||||||
nsClientset := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, "namespace-controller"))
|
nsClientset := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, "namespace-controller"))
|
||||||
namespaceController := namespacecontroller.NewNamespaceController(nsClientset, dynamic.NewDynamicClientPool(restclient.AddUserAgent(restClientCfg, "namespace-controller")))
|
namespaceController := namespacecontroller.NewNamespaceController(nsClientset, dynamic.NewDynamicClientPool(restclient.AddUserAgent(restClientCfg, "namespace-controller")))
|
||||||
glog.Infof("Running namespace controller")
|
glog.Infof("Running namespace controller")
|
||||||
namespaceController.Run(wait.NeverStop)
|
namespaceController.Run(wait.NeverStop)
|
||||||
|
}
|
||||||
|
|
||||||
|
if controllerEnabled(s.Controllers, serverResources, secretcontroller.ControllerName, secretcontroller.RequiredResources, true) {
|
||||||
secretcontrollerClientset := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, "secret-controller"))
|
secretcontrollerClientset := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, "secret-controller"))
|
||||||
secretcontroller := secretcontroller.NewSecretController(secretcontrollerClientset)
|
secretcontroller := secretcontroller.NewSecretController(secretcontrollerClientset)
|
||||||
secretcontroller.Run(wait.NeverStop)
|
secretcontroller.Run(wait.NeverStop)
|
||||||
|
}
|
||||||
|
|
||||||
|
if controllerEnabled(s.Controllers, serverResources, configmapcontroller.ControllerName, configmapcontroller.RequiredResources, true) {
|
||||||
configmapcontrollerClientset := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, "configmap-controller"))
|
configmapcontrollerClientset := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, "configmap-controller"))
|
||||||
configmapcontroller := configmapcontroller.NewConfigMapController(configmapcontrollerClientset)
|
configmapcontroller := configmapcontroller.NewConfigMapController(configmapcontrollerClientset)
|
||||||
configmapcontroller.Run(wait.NeverStop)
|
configmapcontroller.Run(wait.NeverStop)
|
||||||
|
}
|
||||||
|
|
||||||
|
if controllerEnabled(s.Controllers, serverResources, daemonsetcontroller.ControllerName, daemonsetcontroller.RequiredResources, true) {
|
||||||
daemonsetcontrollerClientset := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, "daemonset-controller"))
|
daemonsetcontrollerClientset := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, "daemonset-controller"))
|
||||||
daemonsetcontroller := daemonset.NewDaemonSetController(daemonsetcontrollerClientset)
|
daemonsetcontroller := daemonsetcontroller.NewDaemonSetController(daemonsetcontrollerClientset)
|
||||||
daemonsetcontroller.Run(wait.NeverStop)
|
daemonsetcontroller.Run(wait.NeverStop)
|
||||||
|
}
|
||||||
|
|
||||||
|
if controllerEnabled(s.Controllers, serverResources, replicasetcontroller.ControllerName, replicasetcontroller.RequiredResources, true) {
|
||||||
replicaSetClientset := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, replicasetcontroller.UserAgentName))
|
replicaSetClientset := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, replicasetcontroller.UserAgentName))
|
||||||
replicaSetController := replicasetcontroller.NewReplicaSetController(replicaSetClientset)
|
replicaSetController := replicasetcontroller.NewReplicaSetController(replicaSetClientset)
|
||||||
go replicaSetController.Run(s.ConcurrentReplicaSetSyncs, wait.NeverStop)
|
go replicaSetController.Run(s.ConcurrentReplicaSetSyncs, wait.NeverStop)
|
||||||
|
}
|
||||||
|
|
||||||
|
if controllerEnabled(s.Controllers, serverResources, deploymentcontroller.ControllerName, deploymentcontroller.RequiredResources, true) {
|
||||||
deploymentClientset := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, deploymentcontroller.UserAgentName))
|
deploymentClientset := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, deploymentcontroller.UserAgentName))
|
||||||
deploymentController := deploymentcontroller.NewDeploymentController(deploymentClientset)
|
deploymentController := deploymentcontroller.NewDeploymentController(deploymentClientset)
|
||||||
// TODO: rename s.ConcurentReplicaSetSyncs
|
// TODO: rename s.ConcurentReplicaSetSyncs
|
||||||
go deploymentController.Run(s.ConcurrentReplicaSetSyncs, wait.NeverStop)
|
go deploymentController.Run(s.ConcurrentReplicaSetSyncs, wait.NeverStop)
|
||||||
|
}
|
||||||
|
|
||||||
if controllerEnabled(s.Controllers, serverResources, ingresscontroller.ControllerName, ingresscontroller.RequiredResources, true) {
|
if controllerEnabled(s.Controllers, serverResources, ingresscontroller.ControllerName, ingresscontroller.RequiredResources, true) {
|
||||||
glog.Infof("Loading client config for ingress controller %q", "ingress-controller")
|
glog.Infof("Loading client config for ingress controller %q", "ingress-controller")
|
||||||
|
@ -201,14 +224,6 @@ func StartControllers(s *options.CMServer, restClientCfg *restclient.Config) err
|
||||||
ingressController.Run(wait.NeverStop)
|
ingressController.Run(wait.NeverStop)
|
||||||
}
|
}
|
||||||
|
|
||||||
glog.Infof("Loading client config for service controller %q", servicecontroller.UserAgentName)
|
|
||||||
scClientset := federationclientset.NewForConfigOrDie(restclient.AddUserAgent(restClientCfg, servicecontroller.UserAgentName))
|
|
||||||
servicecontroller := servicecontroller.New(scClientset, dns, s.FederationName, s.ServiceDnsSuffix, s.ZoneName, s.ZoneID)
|
|
||||||
glog.Infof("Running service controller")
|
|
||||||
if err := servicecontroller.Run(s.ConcurrentServiceSyncs, wait.NeverStop); err != nil {
|
|
||||||
glog.Errorf("Failed to start service controller: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
select {}
|
select {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -123,8 +123,8 @@ func (s *CMServer) AddFlags(fs *pflag.FlagSet) {
|
||||||
fs.StringVar(&s.DnsProvider, "dns-provider", s.DnsProvider, "DNS provider. Valid values are: "+fmt.Sprintf("%q", dnsprovider.RegisteredDnsProviders()))
|
fs.StringVar(&s.DnsProvider, "dns-provider", s.DnsProvider, "DNS provider. Valid values are: "+fmt.Sprintf("%q", dnsprovider.RegisteredDnsProviders()))
|
||||||
fs.StringVar(&s.DnsConfigFile, "dns-provider-config", s.DnsConfigFile, "Path to config file for configuring DNS provider.")
|
fs.StringVar(&s.DnsConfigFile, "dns-provider-config", s.DnsConfigFile, "Path to config file for configuring DNS provider.")
|
||||||
fs.Var(&s.Controllers, "controllers", ""+
|
fs.Var(&s.Controllers, "controllers", ""+
|
||||||
"A set of key=value pairs that describe controller configuration that may be passed "+
|
"A set of key=value pairs that describe controller configuration "+
|
||||||
"to controller manager to enable/disable specific controllers. Valid options are: \n"+
|
"to enable/disable specific controllers. Key should be the resource name (like services) and value should be true or false. "+
|
||||||
"ingress=true|false (default=true)")
|
"For example: services=false,ingresses=false")
|
||||||
leaderelection.BindFlags(&s.LeaderElection, fs)
|
leaderelection.BindFlags(&s.LeaderElection, fs)
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@ go_library(
|
||||||
"//vendor:k8s.io/apimachinery/pkg/api/errors",
|
"//vendor:k8s.io/apimachinery/pkg/api/errors",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
|
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
|
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/types",
|
"//vendor:k8s.io/apimachinery/pkg/types",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/client-go/pkg/api/v1",
|
"//vendor:k8s.io/client-go/pkg/api/v1",
|
||||||
|
|
|
@ -23,6 +23,7 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/api/errors"
|
"k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
pkgruntime "k8s.io/apimachinery/pkg/runtime"
|
pkgruntime "k8s.io/apimachinery/pkg/runtime"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
clientv1 "k8s.io/client-go/pkg/api/v1"
|
clientv1 "k8s.io/client-go/pkg/api/v1"
|
||||||
|
@ -44,6 +45,11 @@ import (
|
||||||
|
|
||||||
const (
|
const (
|
||||||
allClustersKey = "ALL_CLUSTERS"
|
allClustersKey = "ALL_CLUSTERS"
|
||||||
|
ControllerName = "configmaps"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
RequiredResources = []schema.GroupVersionResource{apiv1.SchemeGroupVersion.WithResource("configmaps")}
|
||||||
)
|
)
|
||||||
|
|
||||||
type ConfigMapController struct {
|
type ConfigMapController struct {
|
||||||
|
|
|
@ -26,6 +26,7 @@ go_library(
|
||||||
"//vendor:k8s.io/apimachinery/pkg/api/errors",
|
"//vendor:k8s.io/apimachinery/pkg/api/errors",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
|
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
|
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/types",
|
"//vendor:k8s.io/apimachinery/pkg/types",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/client-go/pkg/api/v1",
|
"//vendor:k8s.io/client-go/pkg/api/v1",
|
||||||
|
|
|
@ -24,6 +24,7 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/api/errors"
|
"k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
pkgruntime "k8s.io/apimachinery/pkg/runtime"
|
pkgruntime "k8s.io/apimachinery/pkg/runtime"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
clientv1 "k8s.io/client-go/pkg/api/v1"
|
clientv1 "k8s.io/client-go/pkg/api/v1"
|
||||||
|
@ -45,6 +46,11 @@ import (
|
||||||
|
|
||||||
const (
|
const (
|
||||||
allClustersKey = "ALL_CLUSTERS"
|
allClustersKey = "ALL_CLUSTERS"
|
||||||
|
ControllerName = "daemonsets"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
RequiredResources = []schema.GroupVersionResource{extensionsv1.SchemeGroupVersion.WithResource("daemonsets")}
|
||||||
)
|
)
|
||||||
|
|
||||||
type DaemonSetController struct {
|
type DaemonSetController struct {
|
||||||
|
|
|
@ -30,6 +30,7 @@ go_library(
|
||||||
"//vendor:k8s.io/apimachinery/pkg/api/errors",
|
"//vendor:k8s.io/apimachinery/pkg/api/errors",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
|
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
|
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/wait",
|
"//vendor:k8s.io/apimachinery/pkg/util/wait",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/client-go/pkg/api/v1",
|
"//vendor:k8s.io/client-go/pkg/api/v1",
|
||||||
|
|
|
@ -28,6 +28,7 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/api/errors"
|
"k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
clientv1 "k8s.io/client-go/pkg/api/v1"
|
clientv1 "k8s.io/client-go/pkg/api/v1"
|
||||||
|
@ -54,9 +55,11 @@ const (
|
||||||
FedDeploymentPreferencesAnnotation = "federation.kubernetes.io/deployment-preferences"
|
FedDeploymentPreferencesAnnotation = "federation.kubernetes.io/deployment-preferences"
|
||||||
allClustersKey = "THE_ALL_CLUSTER_KEY"
|
allClustersKey = "THE_ALL_CLUSTER_KEY"
|
||||||
UserAgentName = "Federation-Deployment-Controller"
|
UserAgentName = "Federation-Deployment-Controller"
|
||||||
|
ControllerName = "deployments"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
RequiredResources = []schema.GroupVersionResource{extensionsv1.SchemeGroupVersion.WithResource("deployments")}
|
||||||
deploymentReviewDelay = 10 * time.Second
|
deploymentReviewDelay = 10 * time.Second
|
||||||
clusterAvailableDelay = 20 * time.Second
|
clusterAvailableDelay = 20 * time.Second
|
||||||
clusterUnavailableDelay = 60 * time.Second
|
clusterUnavailableDelay = 60 * time.Second
|
||||||
|
|
|
@ -60,7 +60,7 @@ const (
|
||||||
// We wait for ingress to be created in this cluster before creating it any
|
// We wait for ingress to be created in this cluster before creating it any
|
||||||
// other cluster.
|
// other cluster.
|
||||||
firstClusterAnnotation = "ingress.federation.kubernetes.io/first-cluster"
|
firstClusterAnnotation = "ingress.federation.kubernetes.io/first-cluster"
|
||||||
ControllerName = "ingress"
|
ControllerName = "ingresses"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
|
@ -27,6 +27,7 @@ go_library(
|
||||||
"//vendor:k8s.io/apimachinery/pkg/api/errors",
|
"//vendor:k8s.io/apimachinery/pkg/api/errors",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
|
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
|
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/client-go/dynamic",
|
"//vendor:k8s.io/client-go/dynamic",
|
||||||
"//vendor:k8s.io/client-go/pkg/api/v1",
|
"//vendor:k8s.io/client-go/pkg/api/v1",
|
||||||
|
|
|
@ -23,6 +23,7 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/api/errors"
|
"k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
"k8s.io/client-go/dynamic"
|
"k8s.io/client-go/dynamic"
|
||||||
clientv1 "k8s.io/client-go/pkg/api/v1"
|
clientv1 "k8s.io/client-go/pkg/api/v1"
|
||||||
|
@ -45,6 +46,11 @@ import (
|
||||||
|
|
||||||
const (
|
const (
|
||||||
allClustersKey = "ALL_CLUSTERS"
|
allClustersKey = "ALL_CLUSTERS"
|
||||||
|
ControllerName = "namespaces"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
RequiredResources = []schema.GroupVersionResource{apiv1.SchemeGroupVersion.WithResource("namespaces")}
|
||||||
)
|
)
|
||||||
|
|
||||||
type NamespaceController struct {
|
type NamespaceController struct {
|
||||||
|
|
|
@ -32,6 +32,7 @@ go_library(
|
||||||
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
|
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/labels",
|
"//vendor:k8s.io/apimachinery/pkg/labels",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
|
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/util/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/wait",
|
"//vendor:k8s.io/apimachinery/pkg/util/wait",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
|
|
|
@ -29,6 +29,7 @@ import (
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
|
@ -57,9 +58,11 @@ const (
|
||||||
FedReplicaSetPreferencesAnnotation = "federation.kubernetes.io/replica-set-preferences"
|
FedReplicaSetPreferencesAnnotation = "federation.kubernetes.io/replica-set-preferences"
|
||||||
allClustersKey = "THE_ALL_CLUSTER_KEY"
|
allClustersKey = "THE_ALL_CLUSTER_KEY"
|
||||||
UserAgentName = "Federation-replicaset-Controller"
|
UserAgentName = "Federation-replicaset-Controller"
|
||||||
|
ControllerName = "replicasets"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
RequiredResources = []schema.GroupVersionResource{extensionsv1.SchemeGroupVersion.WithResource("replicasets")}
|
||||||
replicaSetReviewDelay = 10 * time.Second
|
replicaSetReviewDelay = 10 * time.Second
|
||||||
clusterAvailableDelay = 20 * time.Second
|
clusterAvailableDelay = 20 * time.Second
|
||||||
clusterUnavailableDelay = 60 * time.Second
|
clusterUnavailableDelay = 60 * time.Second
|
||||||
|
|
|
@ -26,6 +26,7 @@ go_library(
|
||||||
"//vendor:k8s.io/apimachinery/pkg/api/errors",
|
"//vendor:k8s.io/apimachinery/pkg/api/errors",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
|
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
|
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/types",
|
"//vendor:k8s.io/apimachinery/pkg/types",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/watch",
|
"//vendor:k8s.io/apimachinery/pkg/watch",
|
||||||
"//vendor:k8s.io/client-go/pkg/api/v1",
|
"//vendor:k8s.io/client-go/pkg/api/v1",
|
||||||
|
|
|
@ -23,6 +23,7 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/api/errors"
|
"k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
pkgruntime "k8s.io/apimachinery/pkg/runtime"
|
pkgruntime "k8s.io/apimachinery/pkg/runtime"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
clientv1 "k8s.io/client-go/pkg/api/v1"
|
clientv1 "k8s.io/client-go/pkg/api/v1"
|
||||||
|
@ -44,6 +45,11 @@ import (
|
||||||
|
|
||||||
const (
|
const (
|
||||||
allClustersKey = "ALL_CLUSTERS"
|
allClustersKey = "ALL_CLUSTERS"
|
||||||
|
ControllerName = "secrets"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
RequiredResources = []schema.GroupVersionResource{apiv1.SchemeGroupVersion.WithResource("secrets")}
|
||||||
)
|
)
|
||||||
|
|
||||||
type SecretController struct {
|
type SecretController struct {
|
||||||
|
|
|
@ -37,6 +37,7 @@ go_library(
|
||||||
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
|
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/conversion",
|
"//vendor:k8s.io/apimachinery/pkg/conversion",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/runtime",
|
||||||
|
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/runtime",
|
"//vendor:k8s.io/apimachinery/pkg/util/runtime",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/sets",
|
"//vendor:k8s.io/apimachinery/pkg/util/sets",
|
||||||
"//vendor:k8s.io/apimachinery/pkg/util/wait",
|
"//vendor:k8s.io/apimachinery/pkg/util/wait",
|
||||||
|
|
|
@ -28,6 +28,7 @@ import (
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/conversion"
|
"k8s.io/apimachinery/pkg/conversion"
|
||||||
pkgruntime "k8s.io/apimachinery/pkg/runtime"
|
pkgruntime "k8s.io/apimachinery/pkg/runtime"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/util/runtime"
|
"k8s.io/apimachinery/pkg/util/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
|
@ -78,6 +79,11 @@ const (
|
||||||
updateTimeout = 30 * time.Second
|
updateTimeout = 30 * time.Second
|
||||||
allClustersKey = "ALL_CLUSTERS"
|
allClustersKey = "ALL_CLUSTERS"
|
||||||
clusterAvailableDelay = time.Second * 20
|
clusterAvailableDelay = time.Second * 20
|
||||||
|
ControllerName = "services"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
RequiredResources = []schema.GroupVersionResource{v1.SchemeGroupVersion.WithResource("services")}
|
||||||
)
|
)
|
||||||
|
|
||||||
type cachedService struct {
|
type cachedService struct {
|
||||||
|
|
Loading…
Reference in New Issue