Skip to content

Commit 029bb4e

Browse files
author
Kubernetes Submit Queue
authored
Merge pull request kubernetes#67688 from Lion-Wei/kube-proxy-config
Automatic merge from submit-queue (batch tested with PRs 64597, 67854, 67734, 67917, 67688). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Move kubeproxy ComponentConfig external types to `k8s.io/kube-proxy` **What this PR does / why we need it**: This PR implements most of kubernetes/community#2354 for the kube-proxy. The PR: - Moves k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig as-is to k8s.io/kubernetes/pkg/proxy/apis/config as agreed - Moves the external types to the new staging repo k8s.io/kube-proxy, in the k8s.io/kube-proxy/config/v1beta1 package. - Makes k8s.io/kubernetes/pkg/proxy/apis/config/v1beta1 source the types from k8s.io/kube-proxy/config/v1beta1. The defaulting and conversion code is kept in this package as before. - All references to these packages have been updated. Ref kubernetes#67233 **Special notes for your reviewer**: **Release note**: ```release-note kube-proxy v1beta1 external ComponentConfig types are now available in the `k8s.io/kube-proxy` repo ```
2 parents 8c9f145 + 4715380 commit 029bb4e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+910
-464
lines changed

api/api-rules/violation_exceptions.list

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,5 @@ API rule violation: names_match,k8s.io/kubernetes/pkg/apis/componentconfig/v1alp
170170
API rule violation: names_match,k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1,KubeletConfiguration,ResolverConfig
171171
API rule violation: names_match,k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1,KubeletConfiguration,IPTablesMasqueradeBit
172172
API rule violation: names_match,k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1,KubeletConfiguration,IPTablesDropBit
173-
API rule violation: names_match,k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1,ClientConnectionConfiguration,KubeConfigFile
174-
API rule violation: names_match,k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1,KubeProxyConfiguration,IPTables
175173
API rule violation: names_match,k8s.io/metrics/pkg/apis/custom_metrics/v1beta1,MetricValue,WindowSeconds
176174
API rule violation: names_match,k8s.io/metrics/pkg/apis/external_metrics/v1beta1,ExternalMetricValue,WindowSeconds

cmd/kube-proxy/app/BUILD

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,9 @@ go_library(
2323
"//pkg/kubelet/qos:go_default_library",
2424
"//pkg/master/ports:go_default_library",
2525
"//pkg/proxy:go_default_library",
26-
"//pkg/proxy/apis/kubeproxyconfig:go_default_library",
27-
"//pkg/proxy/apis/kubeproxyconfig/scheme:go_default_library",
28-
"//pkg/proxy/apis/kubeproxyconfig/v1alpha1:go_default_library",
29-
"//pkg/proxy/apis/kubeproxyconfig/validation:go_default_library",
26+
"//pkg/proxy/apis/config:go_default_library",
27+
"//pkg/proxy/apis/config/scheme:go_default_library",
28+
"//pkg/proxy/apis/config/validation:go_default_library",
3029
"//pkg/proxy/config:go_default_library",
3130
"//pkg/proxy/healthcheck:go_default_library",
3231
"//pkg/proxy/iptables:go_default_library",
@@ -45,6 +44,7 @@ go_library(
4544
"//pkg/version:go_default_library",
4645
"//pkg/version/verflag:go_default_library",
4746
"//staging/src/k8s.io/api/core/v1:go_default_library",
47+
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
4848
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
4949
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
5050
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
@@ -63,6 +63,7 @@ go_library(
6363
"//staging/src/k8s.io/client-go/tools/clientcmd:go_default_library",
6464
"//staging/src/k8s.io/client-go/tools/clientcmd/api:go_default_library",
6565
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
66+
"//staging/src/k8s.io/kube-proxy/config/v1alpha1:go_default_library",
6667
"//vendor/github.com/golang/glog:go_default_library",
6768
"//vendor/github.com/prometheus/client_golang/prometheus:go_default_library",
6869
"//vendor/github.com/spf13/cobra:go_default_library",
@@ -151,8 +152,9 @@ go_test(
151152
embed = [":go_default_library"],
152153
deps = [
153154
"//pkg/apis/core:go_default_library",
154-
"//pkg/proxy/apis/kubeproxyconfig:go_default_library",
155+
"//pkg/proxy/apis/config:go_default_library",
155156
"//pkg/util/configz:go_default_library",
157+
"//staging/src/k8s.io/apimachinery/pkg/apis/config:go_default_library",
156158
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
157159
"//staging/src/k8s.io/apimachinery/pkg/util/diff:go_default_library",
158160
"//vendor/github.com/stretchr/testify/assert:go_default_library",

cmd/kube-proxy/app/server.go

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
"time"
3131

3232
"k8s.io/api/core/v1"
33+
apimachineryconfig "k8s.io/apimachinery/pkg/apis/config"
3334
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3435
"k8s.io/apimachinery/pkg/runtime"
3536
"k8s.io/apimachinery/pkg/runtime/serializer"
@@ -48,15 +49,15 @@ import (
4849
"k8s.io/client-go/tools/clientcmd"
4950
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
5051
"k8s.io/client-go/tools/record"
52+
"k8s.io/kube-proxy/config/v1alpha1"
5153
"k8s.io/kubernetes/pkg/apis/componentconfig"
5254
api "k8s.io/kubernetes/pkg/apis/core"
5355
"k8s.io/kubernetes/pkg/kubelet/qos"
5456
"k8s.io/kubernetes/pkg/master/ports"
5557
"k8s.io/kubernetes/pkg/proxy"
56-
"k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig"
57-
"k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/scheme"
58-
"k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1"
59-
"k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/validation"
58+
kubeproxyconfig "k8s.io/kubernetes/pkg/proxy/apis/config"
59+
"k8s.io/kubernetes/pkg/proxy/apis/config/scheme"
60+
"k8s.io/kubernetes/pkg/proxy/apis/config/validation"
6061
"k8s.io/kubernetes/pkg/proxy/config"
6162
"k8s.io/kubernetes/pkg/proxy/healthcheck"
6263
"k8s.io/kubernetes/pkg/proxy/iptables"
@@ -105,7 +106,7 @@ type Options struct {
105106
config *kubeproxyconfig.KubeProxyConfiguration
106107

107108
// The fields below here are placeholders for flags that can't be directly mapped into
108-
// kubeproxyconfig.KubeProxyConfiguration.
109+
// config.KubeProxyConfiguration.
109110
//
110111
// TODO remove these fields once the deprecated flags are removed.
111112

@@ -138,7 +139,7 @@ func (o *Options) AddFlags(fs *pflag.FlagSet) {
138139
fs.Int32Var(o.config.OOMScoreAdj, "oom-score-adj", utilpointer.Int32PtrDerefOr(o.config.OOMScoreAdj, int32(qos.KubeProxyOOMScoreAdj)), "The oom-score-adj value for kube-proxy process. Values must be within the range [-1000, 1000]")
139140
fs.StringVar(&o.config.ResourceContainer, "resource-container", o.config.ResourceContainer, "Absolute name of the resource-only container to create and run the Kube-proxy in (Default: /kube-proxy).")
140141
fs.MarkDeprecated("resource-container", "This feature will be removed in a later release.")
141-
fs.StringVar(&o.config.ClientConnection.KubeConfigFile, "kubeconfig", o.config.ClientConnection.KubeConfigFile, "Path to kubeconfig file with authorization information (the master location is set by the master flag).")
142+
fs.StringVar(&o.config.ClientConnection.Kubeconfig, "kubeconfig", o.config.ClientConnection.Kubeconfig, "Path to kubeconfig file with authorization information (the master location is set by the master flag).")
142143
fs.Var(componentconfig.PortRangeVar{Val: &o.config.PortRange}, "proxy-port-range", "Range of host ports (beginPort-endPort, single port or beginPort+offset, inclusive) that may be consumed in order to proxy service traffic. If (unspecified, 0, or 0-0) then ports will be randomly chosen.")
143144
fs.StringVar(&o.config.HostnameOverride, "hostname-override", o.config.HostnameOverride, "If non-empty, will use this string as identification instead of the actual hostname.")
144145
fs.Var(&o.config.Mode, "proxy-mode", "Which proxy mode to use: 'userspace' (older) or 'iptables' (faster) or 'ipvs' (experimental). If blank, use the best-available proxy (currently iptables). If the iptables proxy is selected, regardless of how, but the system's kernel or iptables versions are insufficient, this always falls back to the userspace proxy.")
@@ -404,18 +405,18 @@ type ProxyServer struct {
404405

405406
// createClients creates a kube client and an event client from the given config and masterOverride.
406407
// TODO remove masterOverride when CLI flags are removed.
407-
func createClients(config kubeproxyconfig.ClientConnectionConfiguration, masterOverride string) (clientset.Interface, v1core.EventsGetter, error) {
408+
func createClients(config apimachineryconfig.ClientConnectionConfiguration, masterOverride string) (clientset.Interface, v1core.EventsGetter, error) {
408409
var kubeConfig *rest.Config
409410
var err error
410411

411-
if len(config.KubeConfigFile) == 0 && len(masterOverride) == 0 {
412+
if len(config.Kubeconfig) == 0 && len(masterOverride) == 0 {
412413
glog.Info("Neither kubeconfig file nor master URL was specified. Falling back to in-cluster config.")
413414
kubeConfig, err = rest.InClusterConfig()
414415
} else {
415416
// This creates a client, first loading any specified kubeconfig
416417
// file, and then overriding the Master flag, if non-empty.
417418
kubeConfig, err = clientcmd.NewNonInteractiveDeferredLoadingClientConfig(
418-
&clientcmd.ClientConfigLoadingRules{ExplicitPath: config.KubeConfigFile},
419+
&clientcmd.ClientConfigLoadingRules{ExplicitPath: config.Kubeconfig},
419420
&clientcmd.ConfigOverrides{ClusterInfo: clientcmdapi.Cluster{Server: masterOverride}}).ClientConfig()
420421
}
421422
if err != nil {

cmd/kube-proxy/app/server_others.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import (
3232
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
3333
"k8s.io/client-go/tools/record"
3434
"k8s.io/kubernetes/pkg/proxy"
35-
proxyconfigapi "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig"
35+
proxyconfigapi "k8s.io/kubernetes/pkg/proxy/apis/config"
3636
proxyconfig "k8s.io/kubernetes/pkg/proxy/config"
3737
"k8s.io/kubernetes/pkg/proxy/healthcheck"
3838
"k8s.io/kubernetes/pkg/proxy/iptables"

cmd/kube-proxy/app/server_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,11 @@ import (
2626

2727
"github.com/stretchr/testify/assert"
2828

29+
apimachineryconfig "k8s.io/apimachinery/pkg/apis/config"
2930
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3031
"k8s.io/apimachinery/pkg/util/diff"
3132
api "k8s.io/kubernetes/pkg/apis/core"
32-
"k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig"
33+
kubeproxyconfig "k8s.io/kubernetes/pkg/proxy/apis/config"
3334
"k8s.io/kubernetes/pkg/util/configz"
3435
utilpointer "k8s.io/utils/pointer"
3536
)
@@ -288,11 +289,11 @@ nodePortAddresses:
288289
}
289290
expected := &kubeproxyconfig.KubeProxyConfiguration{
290291
BindAddress: expBindAddr,
291-
ClientConnection: kubeproxyconfig.ClientConnectionConfiguration{
292+
ClientConnection: apimachineryconfig.ClientConnectionConfiguration{
292293
AcceptContentTypes: "abc",
293294
Burst: 100,
294295
ContentType: "content-type",
295-
KubeConfigFile: "/path/to/kubeconfig",
296+
Kubeconfig: "/path/to/kubeconfig",
296297
QPS: 7,
297298
},
298299
ClusterCIDR: tc.clusterCIDR,

cmd/kube-proxy/app/server_windows.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import (
3232
utilnet "k8s.io/apimachinery/pkg/util/net"
3333
"k8s.io/client-go/tools/record"
3434
"k8s.io/kubernetes/pkg/proxy"
35-
proxyconfigapi "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig"
35+
proxyconfigapi "k8s.io/kubernetes/pkg/proxy/apis/config"
3636
proxyconfig "k8s.io/kubernetes/pkg/proxy/config"
3737
"k8s.io/kubernetes/pkg/proxy/healthcheck"
3838
"k8s.io/kubernetes/pkg/proxy/winkernel"

cmd/kubeadm/.import-restrictions

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@
112112
"k8s.io/kubernetes/pkg/master/reconcilers",
113113
"k8s.io/kubernetes/pkg/printers",
114114
"k8s.io/kubernetes/pkg/printers/internalversion",
115-
"k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig",
115+
"k8s.io/kubernetes/pkg/proxy/apis/config",
116116
"k8s.io/kubernetes/pkg/registry/core/endpoint",
117117
"k8s.io/kubernetes/pkg/registry/core/service/allocator",
118118
"k8s.io/kubernetes/pkg/registry/core/service/ipallocator",

cmd/kubeadm/app/apis/kubeadm/BUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ go_library(
1919
importpath = "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm",
2020
deps = [
2121
"//pkg/kubelet/apis/kubeletconfig:go_default_library",
22-
"//pkg/proxy/apis/kubeproxyconfig:go_default_library",
22+
"//pkg/proxy/apis/config:go_default_library",
2323
"//staging/src/k8s.io/api/core/v1:go_default_library",
2424
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
2525
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",

cmd/kubeadm/app/apis/kubeadm/fuzzer/BUILD

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ go_library(
1515
"//cmd/kubeadm/app/componentconfigs:go_default_library",
1616
"//pkg/kubelet/apis/kubeletconfig:go_default_library",
1717
"//pkg/kubelet/apis/kubeletconfig/v1beta1:go_default_library",
18-
"//pkg/proxy/apis/kubeproxyconfig:go_default_library",
19-
"//pkg/proxy/apis/kubeproxyconfig/v1alpha1:go_default_library",
18+
"//pkg/proxy/apis/config:go_default_library",
2019
"//staging/src/k8s.io/api/core/v1:go_default_library",
2120
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
2221
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
22+
"//staging/src/k8s.io/kube-proxy/config/v1alpha1:go_default_library",
2323
"//vendor/github.com/google/gofuzz:go_default_library",
2424
"//vendor/k8s.io/utils/pointer:go_default_library",
2525
],

cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ import (
2424
"k8s.io/api/core/v1"
2525
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2626
runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer"
27+
kubeproxyconfigv1alpha1 "k8s.io/kube-proxy/config/v1alpha1"
2728
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
2829
"k8s.io/kubernetes/cmd/kubeadm/app/componentconfigs"
2930
"k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig"
3031
kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
31-
"k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig"
32-
kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1"
32+
kubeproxyconfig "k8s.io/kubernetes/pkg/proxy/apis/config"
3333
utilpointer "k8s.io/utils/pointer"
3434
)
3535

0 commit comments

Comments
 (0)