#kubernetes #visual-studio-code
#kubernetes #visual-studio-code
Вопрос:
После создания pod-определения.yml-файл.
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
labels:
app: myapp
type: server
spec:
containers:
- name: nginx-container
image: nginx
Линтер выдает это предупреждение.
One or more containers do not have resource limits - this could starve other processes
Ответ №1:
Рекомендуется объявлять запросы ресурсов и ограничения как для памяти, так и для процессора для каждого контейнера. Это помогает запланировать контейнер на узел, у которого есть доступные ресурсы для вашего модуля, а также для того, чтобы ваш модуль не использовал ресурсы, которые нужны другим модулям, поэтому сообщение «это может привести к голоданию других процессов».
Например, чтобы добавить запросы ресурсов и ограничения к вашему примеру
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
labels:
app: myapp
type: server
spec:
containers:
- name: nginx-container
image: nginx
resources:
limits:
memory: 512Mi
cpu: "1"
requests:
memory: 256Mi
cpu: "0.2"
Комментарии:
1. Установка ограничений ЦП не всеми считается хорошей практикой 🙂 home.robusta.dev/blog/stop-using-cpu-limits
Ответ №2:
Как вы знаете, это предупреждение исходит от компоновщика в расширении VS Code ms-kubernetes-tools.vscode-kubernetes-tools
. Если вы хотите, чтобы компоновщик отключил предупреждение
One or more containers do not have resource limits - this could starve other processes
затем отредактируйте VS Code setting.json
, чтобы он выглядел следующим образом:
{
"vs-kubernetes": {
"disable-linters": ["resource-limits"],
...
},
...
}
Комментарии:
1. Что (вроде) противоречит цели компоновщика, не так ли?
2. Довольно часто вы читаете код других людей или код сторонних разработчиков. Это не зависит от вас, чтобы изменить его. И даже если это ваш собственный код, ваша команда может почему-то не захотеть этого. Дело в том, что существует множество сценариев, в которых вы просто хотите отключить эти волнистые подчеркивания в VS Code, чтобы у вас был приятный опыт чтения.
3. «вы просто хотите отключить это волнообразное подчеркивание в VS Code, чтобы у вас был приятный опыт чтения»… согласовано
4. @VincentYin полностью согласен. В моем случае эти извилистые строки довольно раздражают, поскольку я намеренно не устанавливаю ограничения ресурсов, поскольку мы уже определили ограничения по умолчанию для каждого модуля, используя LimitRange для кластера, что означает, что нам нужно определить ограничения ресурсов только для контейнеров, которые отклоняются от нормы.
5. И бывают случаи, когда вы хотите установить ограничение памяти, но не ограничение процессора для контейнера… вы не получаете кредит за установку ограничения памяти; он по-прежнему лает на процессор. Эти закорючки сводят с ума. Делает всю папку и ее родительские папки оранжевыми в моей теме VS Code.
Ответ №3:
Я работал со своими объектными файлами YAML, и ранее у меня был каждый отдельный объект в отдельном файле, и недавно я заметил, что для объектного файла «Deployment» у меня есть следующее предупреждение о переносе:
One or more containers do not have resource limits - this could starve other processes
Прежде чем исправить эту проблему, я решил немного реорганизовать свое определение объекта и определить более одного объекта в одном файле, если они связаны. Итак, теперь у меня такое же развертывание, как и раньше, вместе с утверждением объема и сервисом, все в одном файле.
Но затем я заметил, что предупреждение о переносе не отображается при развертывании, но оно появляется, если я удаляю требование службы и тома из файла, оставляя развертывание в покое.
Поэтому я полагаю, что код компоновки не учитывает возможность наличия множества объектов для каждого файла. определение.
Спасибо!