Как я могу настроить аргументы системного модуля kubernetes, такого как kube-apiserver в Kind?

Я хочу настроить аргументы для kube-apiserver, чтобы я мог проверять выполняемые запросы, чтобы я мог отлаживать неудавшийся запрос. Однако я не уверен, что мне нужно изменить. Я знаю, что kube-apiserver нельзя развернуть с помощью helm, потому что helm требует сервер API для выполнения своей работы. Таким образом, он должен быть развернут с помощью другого метода начальной загрузки, но, глядя на исходный код, я не могу понять, что это за метод.

1 ответ

Kube-apiserver настроен с помощью статического файла манифеста, который хранится в /etc/kubernetes/manifests/kube-apiserver.yaml.

Итак, узнайте идентификатор контейнера, который является натурным узлом плоскости управления Kubernetes:

docker ps|grep cluster-control-plane

Получить в нем оболочку:

docker exec -it 4aeedccce928 bash

Установите редактор (например, emacs) и отредактируйте вышеупомянутый файл, чтобы добавить / удалить / заменить нужные аргументы:

apt-get update
apt-get install emacs-nox
emacs /etc/kubernetes/manifests/kube-apiserver.yaml

Kubernetes обнаружит изменение файла и автоматически перезапустит сервер, что можно проверить с помощью:

ps -Afl|grep kube-apiserver

Если он вылетает при запуске, вы можете найти журналы, используя

apt-get install less
less /var/log/pods/kube-system_kube-apiserver-cluster-control-plane_*/*/*.log

Если контейнер вообще не запускается, там не будет никакого файла журнала - проверьте файл манифеста на наличие синтаксических ошибок, обратившись к документации Kubernetes.

Другие вопросы по тегам