Skip to content
This repository was archived by the owner on Jun 29, 2022. It is now read-only.

Commit 8d45554

Browse files
committed
Expose --conntrack-max-per-core kube-proxy flag
This commit exposes --conntrack-max-per-core kube-proxy flag in kubernetes Helm chart and adds required plumbing to expose it to the user using HCL. It also adds sample usage to CI configuration and e2e tests to verify that settings are properly applied. Closes #1081 Signed-off-by: Mateusz Gozdek <mateusz@kinvolk.io>
1 parent ef6488d commit 8d45554

File tree

29 files changed

+509
-125
lines changed

29 files changed

+509
-125
lines changed

assets/charts/control-plane/kubernetes/templates/kube-proxy.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ spec:
4242
- --proxy-mode=iptables
4343
- --metrics-bind-address=$(HOST_IP)
4444
- --healthz-bind-address=$(HOST_IP)
45+
{{- if not (eq (int .Values.kubeProxy.conntrackMaxPerCore) 32768) }}
46+
- --conntrack-max-per-core={{ .Values.kubeProxy.conntrackMaxPerCore }}
47+
{{- end }}
4548
env:
4649
- name: NODE_NAME
4750
valueFrom:

assets/charts/control-plane/kubernetes/values.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ kubeProxy:
1212
image: k8s.gcr.io/kube-proxy:v1.19.3
1313
podCIDR: 10.2.0.0/16
1414
trustedCertsDir: /usr/share/ca-certificates
15+
conntrackMaxPerCore: 32768
1516
kubeScheduler:
1617
image: k8s.gcr.io/kube-scheduler:v1.19.3
1718
controlPlaneReplicas: 1

assets/terraform-modules/aws/flatcar-linux/kubernetes/bootkube.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,6 @@ module "bootkube" {
3333
encrypt_pod_traffic = var.encrypt_pod_traffic
3434

3535
ignore_x509_cn_check = var.ignore_x509_cn_check
36+
37+
conntrack_max_per_core = var.conntrack_max_per_core
3638
}

assets/terraform-modules/aws/flatcar-linux/kubernetes/variables.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,3 +196,8 @@ variable "ignore_x509_cn_check" {
196196
type = bool
197197
default = false
198198
}
199+
200+
variable "conntrack_max_per_core" {
201+
description = "--conntrack-max-per-core value for kube-proxy"
202+
type = number
203+
}

assets/terraform-modules/bare-metal/flatcar-linux/kubernetes/bootkube.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,6 @@ module "bootkube" {
2626
encrypt_pod_traffic = var.encrypt_pod_traffic
2727

2828
ignore_x509_cn_check = var.ignore_x509_cn_check
29+
30+
conntrack_max_per_core = var.conntrack_max_per_core
2931
}

assets/terraform-modules/bare-metal/flatcar-linux/kubernetes/variables.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,3 +195,8 @@ variable "ignore_x509_cn_check" {
195195
type = bool
196196
default = false
197197
}
198+
199+
variable "conntrack_max_per_core" {
200+
description = "--conntrack-max-per-core value for kube-proxy"
201+
type = number
202+
}

assets/terraform-modules/bootkube/assets.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ resource "local_file" "kubernetes" {
8282
serviceaccount_key = base64encode(tls_private_key.service-account.private_key_pem)
8383
etcd_endpoints = var.etcd_endpoints
8484
enable_tls_bootstrap = var.enable_tls_bootstrap
85+
conntrack_max_per_core = var.conntrack_max_per_core
8586
})
8687
}
8788

assets/terraform-modules/bootkube/resources/charts/kubernetes.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ kubeProxy:
1212
image: ${kube_proxy_image}
1313
podCIDR: ${pod_cidr}
1414
trustedCertsDir: ${trusted_certs_dir}
15+
conntrackMaxPerCore: ${conntrack_max_per_core}
1516
kubeScheduler:
1617
image: ${kube_scheduler_image}
1718
controlPlaneReplicas: ${control_plane_replicas}

assets/terraform-modules/bootkube/variables.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,3 +185,8 @@ variable "encrypt_pod_traffic" {
185185
type = bool
186186
default = false
187187
}
188+
189+
variable "conntrack_max_per_core" {
190+
description = "--conntrack-max-per-core value for kube-proxy"
191+
type = number
192+
}

assets/terraform-modules/packet/flatcar-linux/kubernetes/bootkube.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,6 @@ module "bootkube" {
4848
encrypt_pod_traffic = var.encrypt_pod_traffic
4949

5050
ignore_x509_cn_check = var.ignore_x509_cn_check
51+
52+
conntrack_max_per_core = var.conntrack_max_per_core
5153
}

0 commit comments

Comments
 (0)