adds CONN_LIMIT to the WeaveNetworkingSpec

Weave limits the number of connections between peers and the default is 30.
As described here: ce9c5162bd/site/kubernetes/kube-addon.md
Setting the CONN_LIMIT environment variable controls this setting. Adding a field in the
WeaveNetworkingSpec and adding the env var to the associated templates lets users
have clusters larger than 30 nodes and still use weave's peer discovery

The weave authors have indicated that 100 is not an unreasonable setting.
https://github.com/weaveworks/weave/issues/1621#issuecomment-152713060
This commit is contained in:
Chris Phillips 2018-02-06 10:56:15 -08:00
parent 43286385bc
commit b620deba0f
8 changed files with 23 additions and 8 deletions

View File

@ -57,7 +57,8 @@ type KopeioNetworkingSpec struct {
// WeaveNetworkingSpec declares that we want Weave networking // WeaveNetworkingSpec declares that we want Weave networking
type WeaveNetworkingSpec struct { type WeaveNetworkingSpec struct {
MTU *int32 `json:"mtu,omitempty"` MTU *int32 `json:"mtu,omitempty"`
ConnLimit *int32 `json:"connLimit,omitempty"`
} }
// FlannelNetworkingSpec declares that we want Flannel networking // FlannelNetworkingSpec declares that we want Flannel networking

View File

@ -57,7 +57,8 @@ type KopeioNetworkingSpec struct {
// WeaveNetworkingSpec declares that we want Weave networking // WeaveNetworkingSpec declares that we want Weave networking
type WeaveNetworkingSpec struct { type WeaveNetworkingSpec struct {
MTU *int32 `json:"mtu,omitempty"` MTU *int32 `json:"mtu,omitempty"`
ConnLimit *int32 `json:"connLimit,omitempty"`
} }
// FlannelNetworkingSpec declares that we want Flannel networking // FlannelNetworkingSpec declares that we want Flannel networking

View File

@ -57,7 +57,8 @@ type KopeioNetworkingSpec struct {
// WeaveNetworkingSpec declares that we want Weave networking // WeaveNetworkingSpec declares that we want Weave networking
type WeaveNetworkingSpec struct { type WeaveNetworkingSpec struct {
MTU *int32 `json:"mtu,omitempty"` MTU *int32 `json:"mtu,omitempty"`
ConnLimit *int32 `json:"connLimit,omitempty"`
} }
// FlannelNetworkingSpec declares that we want Flannel networking // FlannelNetworkingSpec declares that we want Flannel networking

View File

@ -123,6 +123,10 @@ spec:
- name: WEAVE_MTU - name: WEAVE_MTU
value: "{{ .Networking.Weave.MTU }}" value: "{{ .Networking.Weave.MTU }}"
{{- end }} {{- end }}
{{- if .Networking.Weave.ConnLimit }}
- name: CONN_LIMIT
value: "{{ .Networking.Weave.ConnLimit }}"
{{- end }}
image: 'weaveworks/weave-kube:2.1.3' image: 'weaveworks/weave-kube:2.1.3'
livenessProbe: livenessProbe:
httpGet: httpGet:

View File

@ -131,6 +131,10 @@ spec:
- name: WEAVE_MTU - name: WEAVE_MTU
value: "{{ .Networking.Weave.MTU }}" value: "{{ .Networking.Weave.MTU }}"
{{- end }} {{- end }}
{{- if .Networking.Weave.ConnLimit }}
- name: CONN_LIMIT
value: "{{ .Networking.Weave.ConnLimit }}"
{{- end }}
image: 'weaveworks/weave-kube:2.1.3' image: 'weaveworks/weave-kube:2.1.3'
livenessProbe: livenessProbe:
httpGet: httpGet:

View File

@ -42,6 +42,10 @@ spec:
- name: WEAVE_MTU - name: WEAVE_MTU
value: "{{ .Networking.Weave.MTU }}" value: "{{ .Networking.Weave.MTU }}"
{{- end }} {{- end }}
{{- if .Networking.Weave.ConnLimit }}
- name: CONN_LIMIT
value: "{{ .Networking.Weave.ConnLimit }}"
{{- end }}
image: 'weaveworks/weave-kube:2.1.3' image: 'weaveworks/weave-kube:2.1.3'
livenessProbe: livenessProbe:
httpGet: httpGet:

View File

@ -388,8 +388,8 @@ func (b *BootstrapChannelBuilder) buildManifest() (*channelsapi.Addons, map[stri
if b.cluster.Spec.Networking.Weave != nil { if b.cluster.Spec.Networking.Weave != nil {
key := "networking.weave" key := "networking.weave"
// 2.1.3-kops.1 = 2.1.3, kops packaging version 1. // 2.1.3-kops.2 = 2.1.3, kops packaging version 2.
version := "2.1.3-kops.1" version := "2.1.3-kops.2"
{ {
location := key + "/pre-k8s-1.6.yaml" location := key + "/pre-k8s-1.6.yaml"

View File

@ -69,18 +69,18 @@ spec:
name: networking.weave name: networking.weave
selector: selector:
role.kubernetes.io/networking: "1" role.kubernetes.io/networking: "1"
version: 2.1.3-kops.1 version: 2.1.3-kops.2
- id: k8s-1.6 - id: k8s-1.6
kubernetesVersion: '>=1.6.0 <1.7.0' kubernetesVersion: '>=1.6.0 <1.7.0'
manifest: networking.weave/k8s-1.6.yaml manifest: networking.weave/k8s-1.6.yaml
name: networking.weave name: networking.weave
selector: selector:
role.kubernetes.io/networking: "1" role.kubernetes.io/networking: "1"
version: 2.1.3-kops.1 version: 2.1.3-kops.2
- id: k8s-1.7 - id: k8s-1.7
kubernetesVersion: '>=1.7.0' kubernetesVersion: '>=1.7.0'
manifest: networking.weave/k8s-1.7.yaml manifest: networking.weave/k8s-1.7.yaml
name: networking.weave name: networking.weave
selector: selector:
role.kubernetes.io/networking: "1" role.kubernetes.io/networking: "1"
version: 2.1.3-kops.1 version: 2.1.3-kops.2