Skip to content

Commit 07a56c9

Browse files
committed
Controller: Use Protocol Buffers for API access.
1 parent 57b4a14 commit 07a56c9

File tree

5 files changed

+21
-2
lines changed

5 files changed

+21
-2
lines changed

cmd/nginx/main.go

+3
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import (
2929
"github.com/prometheus/client_golang/prometheus/collectors"
3030
"k8s.io/apimachinery/pkg/api/errors"
3131
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
32+
kuberuntime "k8s.io/apimachinery/pkg/runtime"
3233
"k8s.io/apimachinery/pkg/util/wait"
3334
discovery "k8s.io/apimachinery/pkg/version"
3435
"k8s.io/client-go/kubernetes"
@@ -202,6 +203,8 @@ func createApiserverClient(apiserverHost, rootCAFile, kubeConfig string) (*kuber
202203
cfg.TLSClientConfig = tlsClientConfig
203204
}
204205

206+
cfg.ContentType = kuberuntime.ContentTypeProtobuf
207+
205208
klog.InfoS("Creating API client", "host", cfg.Host)
206209

207210
client, err := kubernetes.NewForConfig(cfg)

cmd/plugin/request/request.go

+7
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
discoveryv1 "k8s.io/api/discovery/v1"
2626
networking "k8s.io/api/networking/v1"
2727
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
28+
"k8s.io/apimachinery/pkg/runtime"
2829
"k8s.io/cli-runtime/pkg/genericclioptions"
2930
appsv1client "k8s.io/client-go/kubernetes/typed/apps/v1"
3031
corev1 "k8s.io/client-go/kubernetes/typed/core/v1"
@@ -97,6 +98,7 @@ func GetDeployments(flags *genericclioptions.ConfigFlags, namespace string) ([]a
9798
if err != nil {
9899
return make([]appsv1.Deployment, 0), err
99100
}
101+
rawConfig.ContentType = runtime.ContentTypeProtobuf
100102

101103
api, err := appsv1client.NewForConfig(rawConfig)
102104
if err != nil {
@@ -117,6 +119,7 @@ func GetIngressDefinitions(flags *genericclioptions.ConfigFlags, namespace strin
117119
if err != nil {
118120
return make([]networking.Ingress, 0), err
119121
}
122+
rawConfig.ContentType = runtime.ContentTypeProtobuf
120123

121124
api, err := typednetworking.NewForConfig(rawConfig)
122125
if err != nil {
@@ -193,6 +196,7 @@ func getEndpointSlices(flags *genericclioptions.ConfigFlags, namespace string) (
193196
if err != nil {
194197
return nil, err
195198
}
199+
rawConfig.ContentType = runtime.ContentTypeProtobuf
196200

197201
api, err := discoveryv1client.NewForConfig(rawConfig)
198202
if err != nil {
@@ -259,6 +263,7 @@ func getPods(flags *genericclioptions.ConfigFlags) ([]apiv1.Pod, error) {
259263
if err != nil {
260264
return make([]apiv1.Pod, 0), err
261265
}
266+
rawConfig.ContentType = runtime.ContentTypeProtobuf
262267

263268
api, err := corev1.NewForConfig(rawConfig)
264269
if err != nil {
@@ -280,6 +285,7 @@ func getLabeledPods(flags *genericclioptions.ConfigFlags, label string) ([]apiv1
280285
if err != nil {
281286
return make([]apiv1.Pod, 0), err
282287
}
288+
rawConfig.ContentType = runtime.ContentTypeProtobuf
283289

284290
api, err := corev1.NewForConfig(rawConfig)
285291
if err != nil {
@@ -319,6 +325,7 @@ func getServices(flags *genericclioptions.ConfigFlags) ([]apiv1.Service, error)
319325
if err != nil {
320326
return make([]apiv1.Service, 0), err
321327
}
328+
rawConfig.ContentType = runtime.ContentTypeProtobuf
322329

323330
api, err := corev1.NewForConfig(rawConfig)
324331
if err != nil {

images/kube-webhook-certgen/rootfs/cmd/root.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ import (
66
"github.com/onrik/logrus/filename"
77
log "github.com/sirupsen/logrus"
88
"github.com/spf13/cobra"
9+
"k8s.io/apimachinery/pkg/runtime"
910
"k8s.io/client-go/kubernetes"
11+
"k8s.io/client-go/rest"
1012
"k8s.io/client-go/tools/clientcmd"
1113
"k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset"
1214
)
@@ -88,8 +90,10 @@ func newKubernetesClients(kubeconfig string) (kubernetes.Interface, clientset.In
8890
if err != nil {
8991
log.WithError(err).Fatal("error building kubernetes config")
9092
}
93+
coreConfig := rest.CopyConfig(config)
94+
coreConfig.ContentType = runtime.ContentTypeProtobuf
9195

92-
c, err := kubernetes.NewForConfig(config)
96+
c, err := kubernetes.NewForConfig(coreConfig)
9397
if err != nil {
9498
log.WithError(err).Fatal("error creating kubernetes client")
9599
}

internal/ingress/controller/store/store_test.go

+2
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import (
3232
k8sErrors "k8s.io/apimachinery/pkg/api/errors"
3333
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3434
"k8s.io/apimachinery/pkg/labels"
35+
"k8s.io/apimachinery/pkg/runtime"
3536
"k8s.io/client-go/kubernetes"
3637
"k8s.io/client-go/tools/cache"
3738
"sigs.k8s.io/controller-runtime/pkg/envtest"
@@ -98,6 +99,7 @@ func TestStore(t *testing.T) {
9899

99100
defer te.Stop() //nolint:errcheck // Ignore the error
100101

102+
cfg.ContentType = runtime.ContentTypeProtobuf
101103
clientSet, err := kubernetes.NewForConfig(cfg)
102104
if err != nil {
103105
t.Fatalf("error: %v", err)

test/e2e/framework/framework.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import (
3535
apierrors "k8s.io/apimachinery/pkg/api/errors"
3636
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3737
"k8s.io/apimachinery/pkg/fields"
38+
"k8s.io/apimachinery/pkg/runtime"
3839
"k8s.io/apimachinery/pkg/util/wait"
3940
"k8s.io/client-go/kubernetes"
4041
"k8s.io/client-go/kubernetes/scheme"
@@ -129,7 +130,9 @@ func (f *Framework) CreateEnvironment() {
129130
// TODO: remove after k8s v1.22
130131
f.KubeConfig.WarningHandler = rest.NoWarnings{}
131132

132-
f.KubeClientSet, err = kubernetes.NewForConfig(f.KubeConfig)
133+
coreConfig := rest.CopyConfig(f.KubeConfig)
134+
coreConfig.ContentType = runtime.ContentTypeProtobuf
135+
f.KubeClientSet, err = kubernetes.NewForConfig(coreConfig)
133136
assert.Nil(ginkgo.GinkgoT(), err, "creating a kubernetes client")
134137
}
135138

0 commit comments

Comments
 (0)