Make fetcher resource requests and limits configurable (#708)
This change allows fetcher container resource requests and limits to be configurable.
This commit is contained in:
@@ -240,6 +240,14 @@ spec:
|
|||||||
value: "{{ .Values.pullPolicy }}"
|
value: "{{ .Values.pullPolicy }}"
|
||||||
- name: ENABLE_ISTIO
|
- name: ENABLE_ISTIO
|
||||||
value: "{{ .Values.enableIstio }}"
|
value: "{{ .Values.enableIstio }}"
|
||||||
|
- name: FETCHER_MINCPU
|
||||||
|
value: {{ .Values.fetcherMinCpu | default "10m" | quote }}
|
||||||
|
- name: FETCHER_MINMEM
|
||||||
|
value: {{ .Values.fetcherMinMem | default "16Mi" | quote }}
|
||||||
|
- name: FETCHER_MAXCPU
|
||||||
|
value: {{ .Values.fetcherMaxCpu | default "40m" | quote }}
|
||||||
|
- name: FETCHER_MAXMEM
|
||||||
|
value: {{ .Values.fetcherMaxMem | default "128Mi" | quote }}
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: "/healthz"
|
path: "/healthz"
|
||||||
|
|||||||
@@ -226,6 +226,14 @@ spec:
|
|||||||
value: "{{ .Values.pullPolicy }}"
|
value: "{{ .Values.pullPolicy }}"
|
||||||
- name: ENABLE_ISTIO
|
- name: ENABLE_ISTIO
|
||||||
value: "{{ .Values.enableIstio }}"
|
value: "{{ .Values.enableIstio }}"
|
||||||
|
- name: FETCHER_MINCPU
|
||||||
|
value: {{ .Values.fetcherMinCpu | default "10m" | quote }}
|
||||||
|
- name: FETCHER_MINMEM
|
||||||
|
value: {{ .Values.fetcherMinMem | default "16Mi" | quote }}
|
||||||
|
- name: FETCHER_MAXCPU
|
||||||
|
value: {{ .Values.fetcherMaxCpu | default "40m" | quote }}
|
||||||
|
- name: FETCHER_MAXMEM
|
||||||
|
value: {{ .Values.fetcherMaxMem | default "128Mi" | quote }}
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: "/healthz"
|
path: "/healthz"
|
||||||
|
|||||||
+28
-21
@@ -17,34 +17,41 @@ limitations under the License.
|
|||||||
package util
|
package util
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"os"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
)
|
)
|
||||||
|
|
||||||
var resources map[string]resource.Quantity
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
resources = make(map[string]resource.Quantity)
|
|
||||||
mincpu, _ := resource.ParseQuantity("10m")
|
|
||||||
resources["mincpu"] = mincpu
|
|
||||||
minmem, _ := resource.ParseQuantity("16Mi")
|
|
||||||
resources["minmem"] = minmem
|
|
||||||
maxcpu, _ := resource.ParseQuantity("40m")
|
|
||||||
resources["maxcpu"] = maxcpu
|
|
||||||
maxmem, _ := resource.ParseQuantity("128Mi")
|
|
||||||
resources["maxmem"] = maxmem
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetFetcherResources() (v1.ResourceRequirements, error) {
|
func GetFetcherResources() (v1.ResourceRequirements, error) {
|
||||||
fetcherResources := v1.ResourceRequirements{
|
mincpu, err := resource.ParseQuantity(os.Getenv("FETCHER_MINCPU"))
|
||||||
|
if err != nil {
|
||||||
|
return v1.ResourceRequirements{}, err
|
||||||
|
}
|
||||||
|
|
||||||
|
minmem, err := resource.ParseQuantity(os.Getenv("FETCHER_MINMEM"))
|
||||||
|
if err != nil {
|
||||||
|
return v1.ResourceRequirements{}, err
|
||||||
|
}
|
||||||
|
|
||||||
|
maxcpu, err := resource.ParseQuantity(os.Getenv("FETCHER_MAXCPU"))
|
||||||
|
if err != nil {
|
||||||
|
return v1.ResourceRequirements{}, err
|
||||||
|
}
|
||||||
|
|
||||||
|
maxmem, err := resource.ParseQuantity(os.Getenv("FETCHER_MAXMEM"))
|
||||||
|
if err != nil {
|
||||||
|
return v1.ResourceRequirements{}, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return v1.ResourceRequirements{
|
||||||
Requests: map[v1.ResourceName]resource.Quantity{
|
Requests: map[v1.ResourceName]resource.Quantity{
|
||||||
v1.ResourceCPU: resources["mincpu"],
|
v1.ResourceCPU: mincpu,
|
||||||
v1.ResourceMemory: resources["minmem"],
|
v1.ResourceMemory: minmem,
|
||||||
},
|
},
|
||||||
Limits: map[v1.ResourceName]resource.Quantity{
|
Limits: map[v1.ResourceName]resource.Quantity{
|
||||||
v1.ResourceCPU: resources["maxcpu"],
|
v1.ResourceCPU: maxcpu,
|
||||||
v1.ResourceMemory: resources["maxmem"],
|
v1.ResourceMemory: maxmem,
|
||||||
},
|
},
|
||||||
}
|
}, nil
|
||||||
return fetcherResources, nil
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user