How to provide resource limits in kubernetes go client pod spec? How to provide resource limits in kubernetes go client pod spec? kubernetes kubernetes

How to provide resource limits in kubernetes go client pod spec?


I struggled with the same when i was creating a statefulset. Maybe my codesnipped will help you:

Resources: apiv1.ResourceRequirements{                            Limits: apiv1.ResourceList{                                "cpu":    resource.MustParse(cpuLimit),                                "memory": resource.MustParse(memLimit),                            },                            Requests: apiv1.ResourceList{                                "cpu":    resource.MustParse(cpuReq),                                "memory": resource.MustParse(memReq),                            },                        },

the vars cpuReq, memReq, cpuLimit and memLimit are supposed to be strings


Here you can find definition of v1.ResourceRequirements{}:

// ResourceRequirements describes the compute resource requirements.type ResourceRequirements struct {    // Limits describes the maximum amount of compute resources allowed.    // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/    // +optional    Limits ResourceList `json:"limits,omitempty" protobuf:"bytes,1,rep,name=limits,casttype=ResourceList,castkey=ResourceName"`    // Requests describes the minimum amount of compute resources required.    // If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,    // otherwise to an implementation-defined value.    // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/    // +optional    Requests ResourceList `json:"requests,omitempty" protobuf:"bytes,2,rep,name=requests,casttype=ResourceList,castkey=ResourceName"`}

ResourceList:

// ResourceList is a set of (resource name, quantity) pairs.type ResourceList map[ResourceName]resource.Quantity

Here you can find test file with example of use.

Sourcegraph plugin for Crome or Firefox could be very helpful to work with a source code on GitHub.