Add support for the Globalnet controller

Added a chart for the globalnet controller which uses the global CIDR.
Also added the global CIDR to the submariner engine pod env so it can
utilize it.
The controller will only be deployed if the CIDR is specified.
This commit is contained in:
Mike Kolesnik
2020-01-13 10:22:23 +02:00
parent e1a313755c
commit 409c875713
3 changed files with 63 additions and 1 deletions
+3 -1
View File
@@ -60,6 +60,8 @@ spec:
value: "{{ .Values.submariner.clusterCidr }}" value: "{{ .Values.submariner.clusterCidr }}"
- name: SUBMARINER_SERVICECIDR - name: SUBMARINER_SERVICECIDR
value: "{{ .Values.submariner.serviceCidr }}" value: "{{ .Values.submariner.serviceCidr }}"
- name: SUBMARINER_GLOBALCIDR
value: "{{ .Values.submariner.globalCidr }}"
- name: SUBMARINER_TOKEN - name: SUBMARINER_TOKEN
value: "{{ .Values.submariner.apiToken }}" value: "{{ .Values.submariner.apiToken }}"
- name: SUBMARINER_CLUSTERID - name: SUBMARINER_CLUSTERID
@@ -124,4 +126,4 @@ spec:
schedulerName: default-scheduler schedulerName: default-scheduler
securityContext: {} securityContext: {}
terminationGracePeriodSeconds: 0 terminationGracePeriodSeconds: 0
serviceAccountName: {{ template "submariner.engineServiceAccountName" . }} serviceAccountName: {{ template "submariner.engineServiceAccountName" . }}
+59
View File
@@ -0,0 +1,59 @@
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: {{ template "submariner.fullname" . }}-globalnet
labels:
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.fullname" . }}-globalnet
component: globalnet
spec:
selector:
matchLabels:
app: {{ template "submariner.fullname" . }}-globalnet
template:
metadata:
labels:
app: {{ template "submariner.fullname" . }}-globalnet
spec:
hostNetwork: true
serviceAccountName: submariner-globalnet
serviceAccount: submariner-globalnet
nodeSelector:
{{- if eq .Values.submariner.globalCidr "" }}
nowhere: 'noplace'
{{- else }}
submariner.io/gateway: 'true'
{{- end }}
containers:
- name: {{ template "submariner.fullname" . }}-globalnet
image: submariner-globalnet:local
imagePullPolicy: IfNotPresent
env:
- name: SUBMARINER_CLUSTERID
value: '{{ .Values.submariner.clusterId }}'
- name: SUBMARINER_GLOBALCIDR
value: '{{ .Values.submariner.globalCidr }}'
- name: SUBMARINER_EXCLUDENS
value: 'submariner,kube-system,operators'
- name: SUBMARINER_NAMESPACE
value: '{{ .Release.Namespace }}'
securityContext:
allowPrivilegeEscalation: true
capabilities:
add:
- ALL
privileged: true
readOnlyRootFilesystem: false
runAsNonRoot: false
volumeMounts:
# Because we don't actually run iptables locally, but chroot in to the host
- mountPath: /host
name: host-slash
readOnly: true
volumes:
- name: host-slash
hostPath:
path: /
+1
View File
@@ -4,6 +4,7 @@ submariner:
token: "" token: ""
clusterCidr: "10.42.0.0/16" clusterCidr: "10.42.0.0/16"
serviceCidr: "10.43.0.0/16" serviceCidr: "10.43.0.0/16"
globalCidr: ""
natEnabled: false natEnabled: false
colorCodes: blue colorCodes: blue
debug: false debug: false