Кубернетес Ингресс - АКС - PullRequest
1 голос
/ 21 апреля 2020

Я выполнил шаги, упомянутые в этом nginx для kubernetes , Для установки этого в azure я запустил следующее

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud/deploy.yaml

Я открыл этот файл и под раздел # Source: ingress-nginx/templates/controller-deployment.yaml я мог видеть resources, есть ли способ переопределить это и установить для него предел cpu и memory ingress, а также я хотел бы знать, все ли там настраивается.

Ответы [ 2 ]

1 голос
/ 21 апреля 2020

Я хотел бы знать, все ли там настраивается.

Почти все настраивается, но имейте в виду, что вы должны точно знать, что вы меняете, иначе это может сломаться Ваш вход.

Есть ли способ переопределить это и установить ограничение процессора и памяти для этого входа?

Помимо загрузки и редактирования файла перед его развертыванием, Вот три способа настроить его на ходу:

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

Если у вас есть какие-либо сомнения, дайте мне знать в комментариях.

0 голосов
/ 21 апреля 2020

, что предлагает комментарий (загрузите файл и вручную переопределите его или используйте таблицу управления) или используйте kubectl edit deployment xxx и установите эти ограничения \ запросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...