mirror of
https://github.com/submariner-io/submariner-charts.git
synced 2026-09-22 07:20:35 +00:00
Merge pull request #12 from mkolesnik/ipam-support
Add support for the Globalnet controller
This commit is contained in:
@@ -51,4 +51,15 @@ Create the name of the submariner-route-agent service account to use
|
|||||||
{{- else -}}
|
{{- else -}}
|
||||||
{{ default "default" .Values.serviceAccounts.routeAgent.name }}
|
{{ default "default" .Values.serviceAccounts.routeAgent.name }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the name of the submariner-globalnet service account to use
|
||||||
|
*/}}
|
||||||
|
{{- define "submariner.globalnetServiceAccountName" -}}
|
||||||
|
{{- if .Values.serviceAccounts.globalnet.create -}}
|
||||||
|
{{ default (printf "%s-globalnet" (include "submariner.fullname" .)) .Values.serviceAccounts.globalnet.name }}
|
||||||
|
{{- else -}}
|
||||||
|
{{ default "default" .Values.serviceAccounts.globalnet.name }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|||||||
@@ -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" . }}
|
||||||
|
|||||||
@@ -0,0 +1,54 @@
|
|||||||
|
{{- if ne .Values.submariner.globalCidr "" }}
|
||||||
|
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:
|
||||||
|
submariner.io/gateway: 'true'
|
||||||
|
containers:
|
||||||
|
- name: {{ template "submariner.fullname" . }}-globalnet
|
||||||
|
image: submariner-globalnet:local
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
env:
|
||||||
|
- name: SUBMARINER_CLUSTERID
|
||||||
|
value: '{{ .Values.submariner.clusterId }}'
|
||||||
|
- 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: /
|
||||||
|
{{- end }}
|
||||||
@@ -61,4 +61,34 @@ subjects:
|
|||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
name: {{ template "submariner.routeAgentServiceAccountName" . }}
|
name: {{ template "submariner.routeAgentServiceAccountName" . }}
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ .Release.Namespace }}
|
||||||
|
---
|
||||||
|
{{- if ne .Values.submariner.globalCidr "" }}
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
name: {{ template "submariner.fullname" . }}:globalnet
|
||||||
|
rules:
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["services", "namespaces", "pods"]
|
||||||
|
verbs: ["get", "list", "watch", "update"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["nodes"]
|
||||||
|
verbs: ["get"]
|
||||||
|
- apiGroups: ["submariner.io"]
|
||||||
|
resources: ["endpoints", "clusters"]
|
||||||
|
verbs: ["get", "list", "watch"]
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: {{ template "submariner.fullname" . }}:globalnet
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: {{ template "submariner.fullname" . }}:globalnet
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: {{ template "submariner.globalnetServiceAccountName" . }}
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|||||||
@@ -20,4 +20,16 @@ metadata:
|
|||||||
release: {{ .Release.Name | quote }}
|
release: {{ .Release.Name | quote }}
|
||||||
chart: {{ template "submariner.chart" . }}
|
chart: {{ template "submariner.chart" . }}
|
||||||
app: {{ template "submariner.name" . }}
|
app: {{ template "submariner.name" . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
---
|
||||||
|
{{- if .Values.serviceAccounts.globalnet.create }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: {{ template "submariner.globalnetServiceAccountName" . }}
|
||||||
|
labels:
|
||||||
|
heritage: {{ .Release.Service | quote }}
|
||||||
|
release: {{ .Release.Name | quote }}
|
||||||
|
chart: {{ template "submariner.chart" . }}
|
||||||
|
app: {{ template "submariner.name" . }}
|
||||||
|
{{- end }}
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -55,3 +56,6 @@ serviceAccounts:
|
|||||||
routeAgent:
|
routeAgent:
|
||||||
create: true
|
create: true
|
||||||
name: ""
|
name: ""
|
||||||
|
globalnet:
|
||||||
|
create: false
|
||||||
|
name: ""
|
||||||
|
|||||||
Reference in New Issue
Block a user