Skip to content

Commit

Permalink
feat(helm): add bgp speaker
Browse files Browse the repository at this point in the history
Signed-off-by: SkalaNetworks <[email protected]>
  • Loading branch information
SkalaNetworks committed Sep 9, 2024
1 parent 4f5ba51 commit 9e5031b
Show file tree
Hide file tree
Showing 4 changed files with 101 additions and 3 deletions.
68 changes: 68 additions & 0 deletions charts/kube-ovn/templates/speaker/speaker.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: kube-ovn-speaker
namespace: {{ .Values.namespace }}
{{- with .Values.speaker.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with .Values.speaker.labels }}
labels:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
selector:
matchLabels:
app.kubernetes.io/name: kube-ovn-speaker
app.kubernetes.io/part-of: kube-ovn
template:
metadata:
{{- with .Values.speaker.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
app.kubernetes.io/name: kube-ovn-speaker
app.kubernetes.io/part-of: kube-ovn
{{- with .Values.speaker.podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
tolerations:
- operator: Exists
effect: NoSchedule
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/name: kube-ovn-speaker
app.kubernetes.io/part-of: kube-ovn
topologyKey: kubernetes.io/hostname
priorityClassName: system-node-critical
serviceAccountName: ovn
hostNetwork: true
containers:
- name: kube-ovn-speaker
image: {{ .Values.global.registry.address }}/{{ .Values.global.images.kubeovn.repository }}:{{ .Values.global.images.kubeovn.tag }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
command:
- /kube-ovn/kube-ovn-speaker
{{- with .Values.speaker.args }}
args:
{{- toYaml . | trim | nindent 14 }}
{{- end }}
env:
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
{{- with .Values.speaker.resources }}
resources:
{{- toYaml . | trim | nindent 12 }}
{{- end }}
{{- with .Values.speaker.nodeSelector }}
nodeSelector:
{{- toYaml . | trim | nindent 8 }}
{{- end }}
36 changes: 33 additions & 3 deletions charts/kube-ovn/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,36 @@ ovsOvn:
cpu: "2"
memory: "1000Mi"

# -- Configuration for kube-ovn-speaker, the BGP speaker announcing routes to the external world
speaker:
# -- Annotations to be added to all top-level kube-ovn-speaker objects (resources under templates/speaker)
annotations: {}
# -- Labels to be added to all top-level kube-ovn-speaker objects (resources under templates/speaker)
labels: {}
# -- Annotations to be added to kube-ovn-speaker pods
podAnnotations: {}
# -- Labels to be added to kube-ovn-speaker pods
podLabels: {}

# -- kube-ovn-speaker resource limits & requests
# ref: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
resources:
requests:
cpu: "500m"
memory: "300Mi"
limits: {}

# -- Node selector to restrict the deployment of the speaker to specific nodes
nodeSelector: {}
# kubernetes.io/os: "linux"
# ovn.kubernetes.io/bgp: "true"

# Args passed to the kube-ovn-speaker pod
args: []
# - --neighbor-address=10.32.32.1
# - --neighbor-as=65030
# - --cluster-as=65000

# -- Configuration for kube-ovn-pinger, the agent monitoring and returning metrics for OVS/external connectivity
pinger:
# -- Annotations to be added to all top-level kube-ovn-pinger objects (resources under templates/pinger)
Expand All @@ -212,11 +242,11 @@ pinger:
# -- Configure the port on which the kube-ovn-monitor service will serve metrics
port: 8080

# -- Configuration for kube-ovn-monitors, the agent monitoring and returning metrics for the northbound/southbound DBs and northd
# -- Configuration for kube-ovn-monitor, the agent monitoring and returning metrics for the northbound/southbound DBs and northd
monitor:
# -- Annotations to be added to all top-level kube-ovn-monitors objects (resources under templates/monitors)
# -- Annotations to be added to all top-level kube-ovn-monitor objects (resources under templates/monitor)
annotations: {}
# -- Labels to be added to all top-level kube-ovn-monitors objects (resources under templates/monitors)
# -- Labels to be added to all top-level kube-ovn-monitor objects (resources under templates/monitor)
labels: {}
# -- Annotations to be added to kube-ovn-monitor pods
podAnnotations: {}
Expand Down

0 comments on commit 9e5031b

Please sign in to comment.