Skip to content

Commit 9e5031b

Browse files
committed
feat(helm): add bgp speaker
Signed-off-by: SkalaNetworks <[email protected]>
1 parent 4f5ba51 commit 9e5031b

File tree

4 files changed

+101
-3
lines changed

4 files changed

+101
-3
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
kind: DaemonSet
2+
apiVersion: apps/v1
3+
metadata:
4+
name: kube-ovn-speaker
5+
namespace: {{ .Values.namespace }}
6+
{{- with .Values.speaker.annotations }}
7+
annotations:
8+
{{- toYaml . | nindent 4 }}
9+
{{- end }}
10+
{{- with .Values.speaker.labels }}
11+
labels:
12+
{{- toYaml . | nindent 4 }}
13+
{{- end }}
14+
spec:
15+
selector:
16+
matchLabels:
17+
app.kubernetes.io/name: kube-ovn-speaker
18+
app.kubernetes.io/part-of: kube-ovn
19+
template:
20+
metadata:
21+
{{- with .Values.speaker.podAnnotations }}
22+
annotations:
23+
{{- toYaml . | nindent 8 }}
24+
{{- end }}
25+
labels:
26+
app.kubernetes.io/name: kube-ovn-speaker
27+
app.kubernetes.io/part-of: kube-ovn
28+
{{- with .Values.speaker.podLabels }}
29+
{{- toYaml . | nindent 8 }}
30+
{{- end }}
31+
spec:
32+
tolerations:
33+
- operator: Exists
34+
effect: NoSchedule
35+
affinity:
36+
podAntiAffinity:
37+
requiredDuringSchedulingIgnoredDuringExecution:
38+
- labelSelector:
39+
matchLabels:
40+
app.kubernetes.io/name: kube-ovn-speaker
41+
app.kubernetes.io/part-of: kube-ovn
42+
topologyKey: kubernetes.io/hostname
43+
priorityClassName: system-node-critical
44+
serviceAccountName: ovn
45+
hostNetwork: true
46+
containers:
47+
- name: kube-ovn-speaker
48+
image: {{ .Values.global.registry.address }}/{{ .Values.global.images.kubeovn.repository }}:{{ .Values.global.images.kubeovn.tag }}
49+
imagePullPolicy: {{ .Values.image.pullPolicy }}
50+
command:
51+
- /kube-ovn/kube-ovn-speaker
52+
{{- with .Values.speaker.args }}
53+
args:
54+
{{- toYaml . | trim | nindent 14 }}
55+
{{- end }}
56+
env:
57+
- name: POD_IP
58+
valueFrom:
59+
fieldRef:
60+
fieldPath: status.podIP
61+
{{- with .Values.speaker.resources }}
62+
resources:
63+
{{- toYaml . | trim | nindent 12 }}
64+
{{- end }}
65+
{{- with .Values.speaker.nodeSelector }}
66+
nodeSelector:
67+
{{- toYaml . | trim | nindent 8 }}
68+
{{- end }}

charts/kube-ovn/values.yaml

+33-3
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,36 @@ ovsOvn:
186186
cpu: "2"
187187
memory: "1000Mi"
188188

189+
# -- Configuration for kube-ovn-speaker, the BGP speaker announcing routes to the external world
190+
speaker:
191+
# -- Annotations to be added to all top-level kube-ovn-speaker objects (resources under templates/speaker)
192+
annotations: {}
193+
# -- Labels to be added to all top-level kube-ovn-speaker objects (resources under templates/speaker)
194+
labels: {}
195+
# -- Annotations to be added to kube-ovn-speaker pods
196+
podAnnotations: {}
197+
# -- Labels to be added to kube-ovn-speaker pods
198+
podLabels: {}
199+
200+
# -- kube-ovn-speaker resource limits & requests
201+
# ref: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
202+
resources:
203+
requests:
204+
cpu: "500m"
205+
memory: "300Mi"
206+
limits: {}
207+
208+
# -- Node selector to restrict the deployment of the speaker to specific nodes
209+
nodeSelector: {}
210+
# kubernetes.io/os: "linux"
211+
# ovn.kubernetes.io/bgp: "true"
212+
213+
# Args passed to the kube-ovn-speaker pod
214+
args: []
215+
# - --neighbor-address=10.32.32.1
216+
# - --neighbor-as=65030
217+
# - --cluster-as=65000
218+
189219
# -- Configuration for kube-ovn-pinger, the agent monitoring and returning metrics for OVS/external connectivity
190220
pinger:
191221
# -- Annotations to be added to all top-level kube-ovn-pinger objects (resources under templates/pinger)
@@ -212,11 +242,11 @@ pinger:
212242
# -- Configure the port on which the kube-ovn-monitor service will serve metrics
213243
port: 8080
214244

215-
# -- Configuration for kube-ovn-monitors, the agent monitoring and returning metrics for the northbound/southbound DBs and northd
245+
# -- Configuration for kube-ovn-monitor, the agent monitoring and returning metrics for the northbound/southbound DBs and northd
216246
monitor:
217-
# -- Annotations to be added to all top-level kube-ovn-monitors objects (resources under templates/monitors)
247+
# -- Annotations to be added to all top-level kube-ovn-monitor objects (resources under templates/monitor)
218248
annotations: {}
219-
# -- Labels to be added to all top-level kube-ovn-monitors objects (resources under templates/monitors)
249+
# -- Labels to be added to all top-level kube-ovn-monitor objects (resources under templates/monitor)
220250
labels: {}
221251
# -- Annotations to be added to kube-ovn-monitor pods
222252
podAnnotations: {}

0 commit comments

Comments
 (0)