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 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.