Контейнер Kubernetes не будет правильно устанавливать ресурсы запроса (ЦП и ОЗУ)
Я пытаюсь установить фиксированное значение ресурса для моего контейнера kubernetes. Когда я попробую следующее:
//cont = v1.Container
log.Println("Before", cont.Resources.Requests.Memory())
cont.Resources.Requests.Memory().SetMilli(512) //new wanted value
log.Println("After", cont.Resources.Requests.Memory())
log.Println("Before", cont.Resources.Requests.Cpu())
cont.Resources.Requests.Cpu().SetScaled(2, resource.Giga) //new wanted value
log.Println("After", cont.Resources.Requests.Cpu())
Я получаю это:
Before 0
After 0
Before 0
After 0
Почему не Set
обновить мои значения до новых? Как правильно настроить ресурсы процессора и оперативной памяти?
1 ответ
Решение
Благодаря ответу Дима мне удалось найти решение. Кажется, что, когда ресурсы не установлены, нельзя установить новое значение в структуре данных, возвращаемой Memory(). Правильный способ сделать это это:
cont.Resources.Requests = make(map[v1core.ResourceName]resource.Quantity)
cont.Resources.Requests[v1core.ResourceMemory] = *resource.NewQuantity(int64(512), resource.BinarySI)
cont.Resources.Requests[v1core.ResourceCPU] = *resource.NewQuantity(int64(4), resource.BinarySI)
Ура!