Merge pull request #6876 from ulm0/kube-proxy-extra-config

extra-config for kube-proxy
pull/7869/head
Thomas Strömberg 2020-04-23 09:02:46 -07:00 committed by GitHub
commit a698c25ead
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
59 changed files with 93 additions and 3 deletions

View File

@ -50,6 +50,8 @@ var componentToKubeadmConfigKey = map[string]string{
ControllerManager: "controllerManager",
Scheduler: "scheduler",
Kubeadm: "kubeadm",
// The KubeProxy is handled in different config block
Kubeproxy: "",
// The Kubelet is not configured in kubeadm, only in systemd.
Kubelet: "",
}
@ -178,6 +180,9 @@ func optionPairsForComponent(component string, version semver.Version, cp config
return nil
}
// kubeadm extra args should not be included in the kubeadm config in the extra args section (instead, they must
// be inserted explicitly in the appropriate places or supplied from the command line); here we remove all of the
// kubeadm extra args from the slice
// createExtraComponentConfig generates a map of component to extra args for all of the components except kubeadm
func createExtraComponentConfig(extraOptions config.ExtraOptionSlice, version semver.Version, componentFeatureArgs string, cp config.Node) ([]componentOptions, error) {
extraArgsSlice, err := newComponentOptions(extraOptions, version, componentFeatureArgs, cp)
@ -185,9 +190,6 @@ func createExtraComponentConfig(extraOptions config.ExtraOptionSlice, version se
return nil, err
}
// kubeadm extra args should not be included in the kubeadm config in the extra args section (instead, they must
// be inserted explicitly in the appropriate places or supplied from the command line); here we remove all of the
// kubeadm extra args from the slice
for i, extraArgs := range extraArgsSlice {
if extraArgs.Component == Kubeadm {
extraArgsSlice = append(extraArgsSlice[:i], extraArgsSlice[i+1:]...)
@ -197,6 +199,12 @@ func createExtraComponentConfig(extraOptions config.ExtraOptionSlice, version se
return extraArgsSlice, nil
}
// createKubeProxyOptions generates a map of extra config for kube-proxy
func createKubeProxyOptions(extraOptions config.ExtraOptionSlice) map[string]string {
kubeProxyOptions := extraOptions.AsMap().Get(Kubeproxy)
return kubeProxyOptions
}
func convertToFlags(opts map[string]string) string {
var flags []string
var keys []string

View File

@ -82,5 +82,9 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: "{{.PodSubnet }}"
metricsBindAddress: {{.AdvertiseAddress}}:10249
{{- range $i, $val := printMapInOrder .KubeProxyOptions ": " }}
{{$val}}
{{- end}}
`))

View File

@ -80,5 +80,9 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: "{{.PodSubnet }}"
metricsBindAddress: {{.AdvertiseAddress}}:10249
{{- range $i, $val := printMapInOrder .KubeProxyOptions ": " }}
{{$val}}
{{- end}}
`))

View File

@ -83,6 +83,7 @@ func GenerateKubeadmYAML(cc config.ClusterConfig, n config.Node, r cruntime.Mana
NoTaintMaster bool
NodeIP string
ControlPlaneAddress string
KubeProxyOptions map[string]string
}{
CertDir: vmpath.GuestKubernetesCertsDir,
ServiceCIDR: constants.DefaultServiceCIDR,
@ -102,6 +103,7 @@ func GenerateKubeadmYAML(cc config.ClusterConfig, n config.Node, r cruntime.Mana
DNSDomain: k8s.DNSDomain,
NodeIP: n.IP,
ControlPlaneAddress: cp.IP,
KubeProxyOptions: createKubeProxyOptions(k8s.ExtraOptions),
}
if k8s.ServiceCIDR != "" {
@ -135,6 +137,7 @@ const (
Apiserver = "apiserver"
Scheduler = "scheduler"
ControllerManager = "controller-manager"
Kubeproxy = "kube-proxy"
)
// InvokeKubeadm returns the invocation command for Kubeadm

View File

@ -55,6 +55,11 @@ func getExtraOpts() []config.ExtraOption {
Key: "dry-run",
Value: "true",
},
config.ExtraOption{
Component: Kubeproxy,
Key: "mode",
Value: "iptables",
},
}
}

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: "192.168.32.0/20"
metricsBindAddress: 1.1.1.1:10249

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -60,4 +60,6 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249
mode: "iptables"

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -51,4 +51,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -57,4 +57,6 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249
mode: "iptables"

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: "192.168.32.0/20"
metricsBindAddress: 1.1.1.1:10249

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -60,4 +60,6 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249
mode: "iptables"

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -51,4 +51,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -57,4 +57,6 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249
mode: "iptables"

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: "192.168.32.0/20"
metricsBindAddress: 1.1.1.1:10249

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -60,4 +60,6 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249
mode: "iptables"

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -50,4 +50,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -51,4 +51,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -57,4 +57,6 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249
mode: "iptables"

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: "192.168.32.0/20"
metricsBindAddress: 1.1.1.1:10249

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -58,4 +58,6 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249
mode: "iptables"

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -49,4 +49,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -55,4 +55,6 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249
mode: "iptables"

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: "192.168.32.0/20"
metricsBindAddress: 1.1.1.1:10249

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -58,4 +58,6 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249
mode: "iptables"

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -49,4 +49,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -55,4 +55,6 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249
mode: "iptables"

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: "192.168.32.0/20"
metricsBindAddress: 1.1.1.1:10249

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -58,4 +58,6 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249
mode: "iptables"

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -48,4 +48,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -49,4 +49,5 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249

View File

@ -55,4 +55,6 @@ evictionHard:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
clusterCIDR: ""
metricsBindAddress: 1.1.1.1:10249
mode: "iptables"