Add affinity support (#1170)
* Add support for setting nodeSelector/affinity/tolerations on all deployments of fission components. * Add extraCoreComponmentPodConfig helm value to allow setting of affinty/tolerations/nodeSelectors/etc on core pods
This commit is contained in:
committed by
Ta-Ching Chen
parent
4632269314
commit
897771546b
@@ -64,6 +64,7 @@ Parameter | Description | Default
|
||||
`debugEnv` | If there are any pod specialization errors when a function is triggered and this flag is set to true, the error summary is returned as part of http response | `true`
|
||||
`prometheusDeploy` | Set to true if prometheus needs to be deployed along with fission | `true` in `fission-all`, `false` in `fission-core`
|
||||
`canaryDeployment.enabled` | Set to true if you need canary deployment feature | `true` in `fission-all`, `false` in `fission-core`
|
||||
`extraCoreComponmentPodConfig` | Extend the container specs for the core fission pods. Can be used to add things like affinty/tolerations/nodeSelectors/etc. | None
|
||||
|
||||
### Extra configuration for `fission-all`
|
||||
|
||||
|
||||
@@ -163,6 +163,9 @@ spec:
|
||||
- name: config-volume
|
||||
configMap:
|
||||
name: feature-config
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
@@ -235,6 +238,9 @@ spec:
|
||||
- containerPort: 8888
|
||||
name: http
|
||||
serviceAccount: fission-svc
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
@@ -316,6 +322,9 @@ spec:
|
||||
- containerPort: 8888
|
||||
name: http
|
||||
serviceAccount: fission-svc
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
@@ -359,6 +368,9 @@ spec:
|
||||
- name: FETCHER_MAXMEM
|
||||
value: {{ .Values.fetcherMaxMem | default "128Mi" | quote }}
|
||||
serviceAccount: fission-svc
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
@@ -384,6 +396,9 @@ spec:
|
||||
- name: TRACING_SAMPLING_RATE
|
||||
value: {{ .Values.traceSamplingRate | default "0.5" | quote }}
|
||||
serviceAccount: fission-svc
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
@@ -432,6 +447,9 @@ spec:
|
||||
secretKeyRef:
|
||||
name: influxdb
|
||||
key: password
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.heapster }}
|
||||
---
|
||||
@@ -497,6 +515,9 @@ spec:
|
||||
command: ["/fission-bundle"]
|
||||
args: ["--timer", "--routerUrl", "http://router.{{ .Release.Namespace }}"]
|
||||
serviceAccount: fission-svc
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
|
||||
#
|
||||
# This is commented out until fission-ui allows configuring the
|
||||
@@ -554,6 +575,9 @@ spec:
|
||||
- containerPort: 4222
|
||||
hostPort: 4222
|
||||
protocol: TCP
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Deployment
|
||||
@@ -583,6 +607,9 @@ spec:
|
||||
- name: TRACING_SAMPLING_RATE
|
||||
value: {{ .Values.traceSamplingRate | default "0.5" | quote }}
|
||||
serviceAccount: fission-svc
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.kafka.enabled }}
|
||||
@@ -617,6 +644,9 @@ spec:
|
||||
- name: TRACING_SAMPLING_RATE
|
||||
value: {{ .Values.traceSamplingRate | default "0.5" | quote }}
|
||||
serviceAccount: fission-svc
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.azureStorageQueue.enabled }}
|
||||
@@ -654,6 +684,9 @@ spec:
|
||||
name: azure-storage-account-key
|
||||
key: key
|
||||
serviceAccount: fission-svc
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
@@ -705,4 +738,7 @@ spec:
|
||||
claimName: {{ .Values.persistence.existingClaim | default "fission-storage-pvc" }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end -}}
|
||||
{{- end }}
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
|
||||
@@ -106,6 +106,24 @@ persistence:
|
||||
accessMode: ReadWriteOnce
|
||||
size: 8Gi
|
||||
|
||||
## Extend the container specs for the core fission pods.
|
||||
## Can be used to add things like affinty/tolerations/nodeSelectors/etc.
|
||||
## For example:
|
||||
## extraCoreComponmentPodConfig:
|
||||
## affinity:
|
||||
## nodeAffinity:
|
||||
## requiredDuringSchedulingIgnoredDuringExecution:
|
||||
## nodeSelectorTerms:
|
||||
## - matchExpressions:
|
||||
## - key: capability
|
||||
## operator: In
|
||||
## values:
|
||||
## - app
|
||||
extraCoreComponmentPodConfig:
|
||||
# affinity:
|
||||
# tolerations:
|
||||
# nodeSelector:
|
||||
|
||||
## Analytics let us count how many people installed fission. Set to
|
||||
## false to disable analytics.
|
||||
analytics: true
|
||||
|
||||
@@ -164,6 +164,9 @@ spec:
|
||||
- name: config-volume
|
||||
configMap:
|
||||
name: feature-config
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
@@ -232,6 +235,9 @@ spec:
|
||||
initialDelaySeconds: 35
|
||||
periodSeconds: 5
|
||||
serviceAccount: fission-svc
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
@@ -306,6 +312,9 @@ spec:
|
||||
initialDelaySeconds: 35
|
||||
periodSeconds: 5
|
||||
serviceAccount: fission-svc
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
@@ -349,6 +358,9 @@ spec:
|
||||
- name: FETCHER_MAXMEM
|
||||
value: {{ .Values.fetcherMaxMem | default "128Mi" | quote }}
|
||||
serviceAccount: fission-svc
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
@@ -374,6 +386,9 @@ spec:
|
||||
- name: TRACING_SAMPLING_RATE
|
||||
value: {{ .Values.traceSamplingRate | default "0.5" | quote }}
|
||||
serviceAccount: fission-svc
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
@@ -399,6 +414,9 @@ spec:
|
||||
- name: TRACING_SAMPLING_RATE
|
||||
value: {{ .Values.traceSamplingRate | default "0.5" | quote }}
|
||||
serviceAccount: fission-svc
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
|
||||
---
|
||||
apiVersion: extensions/v1beta1
|
||||
@@ -437,4 +455,7 @@ spec:
|
||||
claimName: {{ .Values.persistence.existingClaim | default "fission-storage-pvc" }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{- end -}}
|
||||
{{- end }}
|
||||
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||
{{- end }}
|
||||
|
||||
@@ -68,6 +68,24 @@ persistence:
|
||||
accessMode: ReadWriteOnce
|
||||
size: 8Gi
|
||||
|
||||
## Extend the container specs for the core fission pods.
|
||||
## Can be used to add things like affinty/tolerations/nodeSelectors/etc.
|
||||
## For example:
|
||||
## extraCoreComponmentPodConfig:
|
||||
## affinity:
|
||||
## nodeAffinity:
|
||||
## requiredDuringSchedulingIgnoredDuringExecution:
|
||||
## nodeSelectorTerms:
|
||||
## - matchExpressions:
|
||||
## - key: capability
|
||||
## operator: In
|
||||
## values:
|
||||
## - app
|
||||
extraCoreComponmentPodConfig:
|
||||
# affinity:
|
||||
# tolerations:
|
||||
# nodeSelector:
|
||||
|
||||
## Analytics let us count how many people installed fission. Set to
|
||||
## false to disable analytics.
|
||||
analytics: true
|
||||
|
||||
Reference in New Issue
Block a user