Skip to content

Commit

Permalink
Fix kube config for backend and frontend config CRDs
Browse files Browse the repository at this point in the history
  • Loading branch information
skmatti authored and Satish Matti committed Mar 11, 2020
1 parent d7b2c3a commit 62212ee
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 8 deletions.
10 changes: 6 additions & 4 deletions cmd/glbc/app/clients.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,10 @@ const (
cloudClientRetryInterval = 10 * time.Second
)

// NewKubeConfig returns a Kubernetes client config given the command line settings.
func NewKubeConfig() (*rest.Config, error) {
config, err := newKubeConfig()
// NewKubeConfigForProtobuf returns a Kubernetes client config that uses protobufs
// for given the command line settings.
func NewKubeConfigForProtobuf() (*rest.Config, error) {
config, err := NewKubeConfig()
if err != nil {
return nil, err
}
Expand All @@ -55,7 +56,8 @@ func NewKubeConfig() (*rest.Config, error) {
return config, nil
}

func newKubeConfig() (*rest.Config, error) {
// NewKubeConfig returns a Kubernetes client config given the command line settings.
func NewKubeConfig() (*rest.Config, error) {
if flags.F.InCluster {
klog.V(0).Infof("Using in cluster configuration")
return rest.InClusterConfig()
Expand Down
14 changes: 10 additions & 4 deletions cmd/glbc/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,22 +69,28 @@ func main() {

klog.V(2).Infof("Flags = %+v", flags.F)
defer klog.Flush()
kubeConfig, err := app.NewKubeConfig()
// Create kube-config that uses protobufs to communicate to API server.
kubeConfigForProtobuf, err := app.NewKubeConfigForProtobuf()
if err != nil {
klog.Fatalf("Failed to create kubernetes client config: %v", err)
klog.Fatalf("Failed to create kubernetes client config for protobuf: %v", err)
}

kubeClient, err := kubernetes.NewForConfig(kubeConfig)
kubeClient, err := kubernetes.NewForConfig(kubeConfigForProtobuf)
if err != nil {
klog.Fatalf("Failed to create kubernetes client: %v", err)
}

// Due to scaling issues, leader election must be configured with a separate k8s client.
leaderElectKubeClient, err := kubernetes.NewForConfig(restclient.AddUserAgent(kubeConfig, "leader-election"))
leaderElectKubeClient, err := kubernetes.NewForConfig(restclient.AddUserAgent(kubeConfigForProtobuf, "leader-election"))
if err != nil {
klog.Fatalf("Failed to create kubernetes client for leader election: %v", err)
}

// Create kube-config for CRDs.
kubeConfig, err := app.NewKubeConfig()
if err != nil {
klog.Fatalf("Failed to create kubernetes client config: %v", err)
}
var backendConfigClient backendconfigclient.Interface
crdClient, err := crdclient.NewForConfig(kubeConfig)
if err != nil {
Expand Down

0 comments on commit 62212ee

Please sign in to comment.