Я хотел бы знать, все ли там настраивается.
Почти все настраивается, но имейте в виду, что вы должны точно знать, что вы меняете, иначе это может сломаться Ваш вход.
Есть ли способ переопределить это и установить ограничение процессора и памяти для этого входа?
Помимо загрузки и редактирования файла перед его развертыванием, Вот три способа настроить его на ходу:
Kubectl Edit:
- Правка Команда позволяет вам напрямую редактировать любой ресурс API, который вы можете получить с помощью инструментов командной строки.
- Он откроет редактор, определенный вашими переменными окружения KUBE_EDITOR, или EDITOR, или вернется к 'vi' для Linux или 'notepad' для Windows.
- Вы можете редактировать несколько объектов, хотя изменения применяются по одному. Пример:
kubectl edit deployment ingress-nginx-controller -n ingress-nginx
Это команда, которая откроет развертывание, указанное в файле. Если вы сделаете недопустимое изменение, оно не будет применено и сохранится во временном файле, поэтому используйте его с учетом этого, если оно не применяется, вы изменили что-то, что вам не понравится в структуре.
Kubectl Patch с использованием файла yaml :
- Обновление поля (полей) ресурса с использованием стратегии c слияния, JSON слияния или JSON patch.
- JSON и YAML форматы принимаются.
Создайте простой файл с именем patch-nginx.yaml
с минимальным числом следующих content (параметр, который вы хотите изменить sh и его структуру):
spec:
template:
spec:
containers:
- name: controller
resources:
requests:
cpu: 111m
memory: 99Mi
Структура команды: kubectl patch <KIND> <OBJECT_NAME> -n <NAMESPACE> --patch "$(cat <FILE_TO_PATCH>)"
Вот полный пример:
$ kubectl patch deployment ingress-nginx-controller -n ingress-nginx --patch "$(cat patch-nginx.yaml)"
deployment.apps/ingress-nginx-controller patched
$ kubectl describe deployment ingress-nginx-controller -n ingress-nginx | grep cpu
cpu: 111m
$ kubectl describe deployment ingress-nginx-controller -n ingress-nginx | grep memory
memory: 99Mi
Kubectl Патч с форматом JSON :
- Это однострочная версия, и она имеет ту же структуру, что и версия yaml, но мы будем вместо этого передайте параметр в структуре json:
$ kubectl patch deployment ingress-nginx-controller -n ingress-nginx --patch '{"spec":{"template":{"spec":{"containers":[{"name":"controller","resources":{"requests":{"cpu":"122m","memory":"88Mi"}}}]}}}}'
deployment.apps/ingress-nginx-controller patched
$ kubectl describe deployment ingress-nginx-controller -n ingress-nginx | grep cpu
cpu: 122m
$ kubectl describe deployment ingress-nginx-controller -n ingress-nginx | grep memory
memory: 88Mi
Если у вас есть какие-либо сомнения, дайте мне знать в комментариях.