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`
|
`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`
|
`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`
|
`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`
|
### Extra configuration for `fission-all`
|
||||||
|
|
||||||
|
|||||||
@@ -163,6 +163,9 @@ spec:
|
|||||||
- name: config-volume
|
- name: config-volume
|
||||||
configMap:
|
configMap:
|
||||||
name: feature-config
|
name: feature-config
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
---
|
---
|
||||||
apiVersion: extensions/v1beta1
|
apiVersion: extensions/v1beta1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
@@ -235,6 +238,9 @@ spec:
|
|||||||
- containerPort: 8888
|
- containerPort: 8888
|
||||||
name: http
|
name: http
|
||||||
serviceAccount: fission-svc
|
serviceAccount: fission-svc
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@@ -316,6 +322,9 @@ spec:
|
|||||||
- containerPort: 8888
|
- containerPort: 8888
|
||||||
name: http
|
name: http
|
||||||
serviceAccount: fission-svc
|
serviceAccount: fission-svc
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: extensions/v1beta1
|
apiVersion: extensions/v1beta1
|
||||||
@@ -359,6 +368,9 @@ spec:
|
|||||||
- name: FETCHER_MAXMEM
|
- name: FETCHER_MAXMEM
|
||||||
value: {{ .Values.fetcherMaxMem | default "128Mi" | quote }}
|
value: {{ .Values.fetcherMaxMem | default "128Mi" | quote }}
|
||||||
serviceAccount: fission-svc
|
serviceAccount: fission-svc
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: extensions/v1beta1
|
apiVersion: extensions/v1beta1
|
||||||
@@ -384,6 +396,9 @@ spec:
|
|||||||
- name: TRACING_SAMPLING_RATE
|
- name: TRACING_SAMPLING_RATE
|
||||||
value: {{ .Values.traceSamplingRate | default "0.5" | quote }}
|
value: {{ .Values.traceSamplingRate | default "0.5" | quote }}
|
||||||
serviceAccount: fission-svc
|
serviceAccount: fission-svc
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@@ -432,6 +447,9 @@ spec:
|
|||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: influxdb
|
name: influxdb
|
||||||
key: password
|
key: password
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{- if .Values.heapster }}
|
{{- if .Values.heapster }}
|
||||||
---
|
---
|
||||||
@@ -497,6 +515,9 @@ spec:
|
|||||||
command: ["/fission-bundle"]
|
command: ["/fission-bundle"]
|
||||||
args: ["--timer", "--routerUrl", "http://router.{{ .Release.Namespace }}"]
|
args: ["--timer", "--routerUrl", "http://router.{{ .Release.Namespace }}"]
|
||||||
serviceAccount: fission-svc
|
serviceAccount: fission-svc
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
#
|
#
|
||||||
# This is commented out until fission-ui allows configuring the
|
# This is commented out until fission-ui allows configuring the
|
||||||
@@ -554,6 +575,9 @@ spec:
|
|||||||
- containerPort: 4222
|
- containerPort: 4222
|
||||||
hostPort: 4222
|
hostPort: 4222
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
---
|
---
|
||||||
apiVersion: extensions/v1beta1
|
apiVersion: extensions/v1beta1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
@@ -583,6 +607,9 @@ spec:
|
|||||||
- name: TRACING_SAMPLING_RATE
|
- name: TRACING_SAMPLING_RATE
|
||||||
value: {{ .Values.traceSamplingRate | default "0.5" | quote }}
|
value: {{ .Values.traceSamplingRate | default "0.5" | quote }}
|
||||||
serviceAccount: fission-svc
|
serviceAccount: fission-svc
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{- if .Values.kafka.enabled }}
|
{{- if .Values.kafka.enabled }}
|
||||||
@@ -617,6 +644,9 @@ spec:
|
|||||||
- name: TRACING_SAMPLING_RATE
|
- name: TRACING_SAMPLING_RATE
|
||||||
value: {{ .Values.traceSamplingRate | default "0.5" | quote }}
|
value: {{ .Values.traceSamplingRate | default "0.5" | quote }}
|
||||||
serviceAccount: fission-svc
|
serviceAccount: fission-svc
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{- if .Values.azureStorageQueue.enabled }}
|
{{- if .Values.azureStorageQueue.enabled }}
|
||||||
@@ -654,6 +684,9 @@ spec:
|
|||||||
name: azure-storage-account-key
|
name: azure-storage-account-key
|
||||||
key: key
|
key: key
|
||||||
serviceAccount: fission-svc
|
serviceAccount: fission-svc
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
---
|
---
|
||||||
apiVersion: extensions/v1beta1
|
apiVersion: extensions/v1beta1
|
||||||
@@ -705,4 +738,7 @@ spec:
|
|||||||
claimName: {{ .Values.persistence.existingClaim | default "fission-storage-pvc" }}
|
claimName: {{ .Values.persistence.existingClaim | default "fission-storage-pvc" }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
emptyDir: {}
|
emptyDir: {}
|
||||||
{{- end -}}
|
{{- end }}
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
|
|||||||
@@ -106,6 +106,24 @@ persistence:
|
|||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
size: 8Gi
|
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
|
## Analytics let us count how many people installed fission. Set to
|
||||||
## false to disable analytics.
|
## false to disable analytics.
|
||||||
analytics: true
|
analytics: true
|
||||||
|
|||||||
@@ -164,6 +164,9 @@ spec:
|
|||||||
- name: config-volume
|
- name: config-volume
|
||||||
configMap:
|
configMap:
|
||||||
name: feature-config
|
name: feature-config
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: extensions/v1beta1
|
apiVersion: extensions/v1beta1
|
||||||
@@ -232,6 +235,9 @@ spec:
|
|||||||
initialDelaySeconds: 35
|
initialDelaySeconds: 35
|
||||||
periodSeconds: 5
|
periodSeconds: 5
|
||||||
serviceAccount: fission-svc
|
serviceAccount: fission-svc
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@@ -306,6 +312,9 @@ spec:
|
|||||||
initialDelaySeconds: 35
|
initialDelaySeconds: 35
|
||||||
periodSeconds: 5
|
periodSeconds: 5
|
||||||
serviceAccount: fission-svc
|
serviceAccount: fission-svc
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: extensions/v1beta1
|
apiVersion: extensions/v1beta1
|
||||||
@@ -349,6 +358,9 @@ spec:
|
|||||||
- name: FETCHER_MAXMEM
|
- name: FETCHER_MAXMEM
|
||||||
value: {{ .Values.fetcherMaxMem | default "128Mi" | quote }}
|
value: {{ .Values.fetcherMaxMem | default "128Mi" | quote }}
|
||||||
serviceAccount: fission-svc
|
serviceAccount: fission-svc
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: extensions/v1beta1
|
apiVersion: extensions/v1beta1
|
||||||
@@ -374,6 +386,9 @@ spec:
|
|||||||
- name: TRACING_SAMPLING_RATE
|
- name: TRACING_SAMPLING_RATE
|
||||||
value: {{ .Values.traceSamplingRate | default "0.5" | quote }}
|
value: {{ .Values.traceSamplingRate | default "0.5" | quote }}
|
||||||
serviceAccount: fission-svc
|
serviceAccount: fission-svc
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: extensions/v1beta1
|
apiVersion: extensions/v1beta1
|
||||||
@@ -399,6 +414,9 @@ spec:
|
|||||||
- name: TRACING_SAMPLING_RATE
|
- name: TRACING_SAMPLING_RATE
|
||||||
value: {{ .Values.traceSamplingRate | default "0.5" | quote }}
|
value: {{ .Values.traceSamplingRate | default "0.5" | quote }}
|
||||||
serviceAccount: fission-svc
|
serviceAccount: fission-svc
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: extensions/v1beta1
|
apiVersion: extensions/v1beta1
|
||||||
@@ -437,4 +455,7 @@ spec:
|
|||||||
claimName: {{ .Values.persistence.existingClaim | default "fission-storage-pvc" }}
|
claimName: {{ .Values.persistence.existingClaim | default "fission-storage-pvc" }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
emptyDir: {}
|
emptyDir: {}
|
||||||
{{- end -}}
|
{{- end }}
|
||||||
|
{{- if .Values.extraCoreComponmentPodConfig }}
|
||||||
|
{{ toYaml .Values.extraCoreComponmentPodConfig | indent 6 -}}
|
||||||
|
{{- end }}
|
||||||
|
|||||||
@@ -68,6 +68,24 @@ persistence:
|
|||||||
accessMode: ReadWriteOnce
|
accessMode: ReadWriteOnce
|
||||||
size: 8Gi
|
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
|
## Analytics let us count how many people installed fission. Set to
|
||||||
## false to disable analytics.
|
## false to disable analytics.
|
||||||
analytics: true
|
analytics: true
|
||||||
|
|||||||
Reference in New Issue
Block a user