In Fission CI as well in a couple of scenarios, noticed Fission pods getting preempted when Function pods are getting created. As both Fission components and function pods have the same priority class fission component pods might get preempted. It to be recommended to set higher priority class for components such as Fission router, executor, controller so that Fission functioning doesn't get disrupted. Most of the Fission components work fine with restart except the executor. So user should set priorityClass for Fission executor. Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
89 lines
3.0 KiB
YAML
89 lines
3.0 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: executor
|
|
labels:
|
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
svc: executor
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
svc: executor
|
|
template:
|
|
metadata:
|
|
labels:
|
|
svc: executor
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/path: "/metrics"
|
|
prometheus.io/port: "8080"
|
|
spec:
|
|
containers:
|
|
- name: executor
|
|
image: {{ include "fission-bundleImage" . | quote }}
|
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
|
command: ["/fission-bundle"]
|
|
args: ["--executorPort", "8888", "--namespace", "{{ .Values.functionNamespace }}"]
|
|
env:
|
|
- name: FETCHER_IMAGE
|
|
{{- if eq .Values.fetcher.imageTag "" }}
|
|
value: "{{ .Values.fetcher.image }}"
|
|
{{- else }}
|
|
value: "{{ .Values.fetcher.image }}:{{ .Values.fetcher.imageTag }}"
|
|
{{- end }}
|
|
- name: FETCHER_IMAGE_PULL_POLICY
|
|
value: "{{ .Values.pullPolicy }}"
|
|
- name: RUNTIME_IMAGE_PULL_POLICY
|
|
value: "{{ .Values.pullPolicy }}"
|
|
- name: ADOPT_EXISTING_RESOURCES
|
|
value: {{ .Values.executor.adoptExistingResources | default false | quote }}
|
|
- name: POD_READY_TIMEOUT
|
|
value: {{ .Values.executor.podReadyTimeout | default false | quote }}
|
|
- name: ENABLE_ISTIO
|
|
value: "{{ .Values.enableIstio }}"
|
|
- name: FETCHER_MINCPU
|
|
value: {{ .Values.fetcher.resource.cpu.requests | quote }}
|
|
- name: FETCHER_MINMEM
|
|
value: {{ .Values.fetcher.resource.mem.requests | quote }}
|
|
- name: FETCHER_MAXCPU
|
|
value: {{ .Values.fetcher.resource.cpu.limits | quote }}
|
|
- name: FETCHER_MAXMEM
|
|
value: {{ .Values.fetcher.resource.mem.limits | quote }}
|
|
- name: DEBUG_ENV
|
|
value: {{ .Values.debugEnv | quote }}
|
|
- name: PPROF_ENABLED
|
|
value: {{ .Values.pprof.enabled | quote }}
|
|
{{- include "opentracing.envs" . | indent 8 }}
|
|
{{- include "opentelemtry.envs" . | indent 8 }}
|
|
readinessProbe:
|
|
httpGet:
|
|
path: "/healthz"
|
|
port: 8888
|
|
initialDelaySeconds: 1
|
|
periodSeconds: 1
|
|
failureThreshold: 30
|
|
livenessProbe:
|
|
httpGet:
|
|
path: "/healthz"
|
|
port: 8888
|
|
initialDelaySeconds: 35
|
|
periodSeconds: 5
|
|
ports:
|
|
- containerPort: 8080
|
|
name: metrics
|
|
- containerPort: 8888
|
|
name: http
|
|
{{- if .Values.pprof.enabled }}
|
|
- containerPort: 6060
|
|
name: pprof
|
|
{{- end }}
|
|
serviceAccountName: fission-svc
|
|
{{- if .Values.executor.priorityClassName }}
|
|
priorityClassName: {{ .Values.executor.priorityClassName }}
|
|
{{- else if .Values.priorityClassName }}
|
|
priorityClassName: {{ .Values.priorityClassName }}
|
|
{{- end }}
|
|
{{- if .Values.extraCoreComponentPodConfig }}
|
|
{{ toYaml .Values.extraCoreComponentPodConfig | indent 6 -}}
|
|
{{- end }} |