Рейтинг:1

Разверните плоскость управления без регистрации главного узла с помощью kubeadm

флаг in

Я хотел бы настроить кластер Kubernetes и скрыть компоненты плоскости управления для всех клиентов (какой-то управляемый кластер). Кубадм использует Kubelet и статические модули для запуска этих компонентов, что приводит к регистрации ресурсов Node и Pod на сервере API, поэтому любой пользователь с КластерРоле может перечислять и управлять мастер-узлами и модулями.

Я могу загрузить плоскость управления, остановить агент Kubelet и удалить ресурсы главного узла, но, похоже, таким образом я не могу использовать кубадм для обновления компонентов и Kubelet для восстановления модулей в случае сбоя.

Могу ли я запустить плоскость управления из кластера Kubernetes, используя кубадм или я должен использовать свои собственные инструменты в этом случае?

флаг in
Привет Павел Паршин добро пожаловать в S.F. Похоже, вы пытаетесь вывести из строя плоскость управления, чтобы решить проблему RBAC; если вы не хотите, чтобы люди возились с вашей панелью управления, убедитесь, что их учетные данные не имеют к ней доступа
Mikołaj Głodziak avatar
флаг id
Какую версию Kubernetes вы использовали и как настроили кластер? Вы использовали установку на «голое железо» или какой-то облачный провайдер?
Pavel Parshin avatar
флаг in
@mdaniel, привет. Я думаю, что это не проблема RBAC, потому что я собираюсь дать конечным пользователям роль администратора. это одно из требований
Pavel Parshin avatar
флаг in
@MikoÅajGÅodziak, 19.01.14. Я использую ClusterAPI и OpenStack для настройки кластера. ClusterAPI использует kubeadm для начальной загрузки плоскости управления
Рейтинг:1
флаг id

Могу ли я запустить плоскость управления из кластера Kubernetes с помощью kubeadm

Краткий ответ: Нет, это невозможно.

должен ли я использовать свои собственные инструменты в этом случае

Да, это будет выходом из ситуации. Если вы найдете свое собственное решение, не стесняйтесь писать его как ответ.

В качестве обходного пути вы можете попробовать создать отдельную плоскость управления (как в Kubernetes трудный путь) а потомприсоединиться. Однако вы также должны знать, что этот тип конфигурации будет сложным для выполнения. Посмотрите также на эта страница блога.

Смотрите также похожие темы:

Вы можете запускать плоскость управления Kubernetes вне Kubernetes, если рабочие узлы имеют сетевой доступ к плоскости управления. Этот подход используется в большинстве управляемых решений Kubernetes.

Посмотрите также эту страницу о Самостоятельная регистрация узлов.

РЕДАКТИРОВАТЬ: Я нашел еще один возможный обходной путь.

РЕДАКТИРОВАТЬ2: Этот руководство должен помочь и вам.

Wytrzymały Wiktor avatar
флаг it
Привет @PavelParshin. Это [ответит на ваш вопрос] (https://stackoverflow.com/help/someone-answers)?
Рейтинг:0
флаг in

В итоге я переписал кубадм добавлена ​​возможность развертывания компонентов плоскости управления в качестве служб Unix и запуска их из кластера Kubernetes.

Если вам интересно, посмотрите пиар и принять его для ваших требований. Как пользоваться:

# собрать обновленный kubeadm
сделать ЧТО=cmd/kubeadm KUBE_BUILD_PLATFORMS=linux/amd64

# устанавливаем компоненты плоскости управления
wget -q --show-progress --https-only --timestamping \
  "https://storage.googleapis.com/kubernetes-release/release/v1.21.0/bin/linux/amd64/kube-apiserver" \
  "https://storage.googleapis.com/kubernetes-release/release/v1.21.0/bin/linux/amd64/kube-controller-manager" \
  "https://storage.googleapis.com/kubernetes-release/release/v1.21.0/bin/linux/amd64/kube-scheduler" \
  "https://storage.googleapis.com/kubernetes-release/release/v1.21.0/bin/linux/amd64/kubectl"

chmod +x kube-apiserver kube-controller-manager kube-scheduler kubectl
sudo mv kube-apiserver kube-controller-manager kube-scheduler kubectl /usr/local/bin/

wget -q --show-progress --https-only --timestamping \
  "https://github.com/etcd-io/etcd/releases/download/v3.4.15/etcd-v3.4.15-linux-amd64.tar.gz"

tar -xvf etcd-v3.4.15-linux-amd64.tar.gz
sudo mv etcd-v3.4.15-linux-amd64/etcd* /usr/local/bin/

# запустить kubeadm с включенной опцией хостинга службы
kubeadm init --service-hosting

Если вы используете Cluster API, вы должны написать свой собственный контроллер уровня управления и CRD для поддержки собственного развертывания.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.