2015-11-05 6 views
1

Я пытаюсь настроить небольшой кластер Кубернетов, используя VM (master) и 3 голых металлических сервера (все запущенные Ubuntu 14.04). Я следую за Кубернетами install tutorial for Ubuntu. Все работает нормально, если я использую 4 узла (серверы VM +) в качестве миньонов. Но когда я пытаюсь использовать виртуальную машину как просто мастера, она не может получить доступ к сети Flannel. Я могу создавать контейнеры, службы и т. Д., Но если я попытаюсь получить доступ к службе с главного узла (VM), он не сможет найти IP-адрес Flannel.Расширить внутреннюю сеть кубернетов до узла только мастера

Могу ли я включить только главный узел во внутреннюю сеть Кубернете (сеть Фланнеля в этом случае)? Если нет, какие-либо рекомендации в отношении доступа к пользовательскому интерфейсу Kubernetes и другим службам с главного узла?

ответ

1

Чтобы главный узел получил доступ к сети кластера, вы можете запустить flanneld и kube-proxy на главном узле. Это должно дать вам доступ, который вам нужен.

Однако добавление этих компонентов в контексте использования метода kube-up.sh может быть незначительным. Похоже, у вас может быть несколько вариантов, при этом оставаясь в основном в рамках этого урока:

  • Вы могли бы пройти через kube-up.sh скрипты и изменить его так, что он устанавливает и настраивает kube-proxy и flanneld на главном узле, но не kubelet. Это может быть трудно поддерживать с течением времени.
  • Вы можете создать кластер, как и у вас, со всеми четырьмя узлами, запущенными как «узлы» (новое имя для рабочих, которые раньше назывались «миньонами»). Затем отметьте главный узел как незапланированный (kubectl patch nodes $NODENAME -p '{"spec": {"unschedulable": true}}'), как указано here. Мастер все равно будет отображаться в списках узлов и т. Д., Но он не должен получать какие-либо модули, запланированные для него, и должен иметь полный сетевой доступ к кластеру.
  • Вы также можете довести кластер до того, как у вас уже есть 4 узла, а затем просто войдите в систему и удалите kubelet на главном компьютере. Это эффективно, как выше, за исключением того, мастер не будет отображаться в списках узлов (хотя, возможно, придется удалить его (kubectl delete node $NODENAME) при удалении kubelet.

Есть, вероятно, другие варианты (всегда есть !), но, надеюсь, они могут вас начать.

+0

Я использовал второй вариант (4 узла с 1 незапланированным). Он работает нормально, но было бы неплохо добавить предупреждение в [учебник по установке для Ubuntu] (https : //github.com/kubernetes/kubernetes/blob/release-1.0/docs/getting-started-guides/ubuntu.md), указав, что мастер не имеет доступа к внутренней сети Kubernetes и предлагает некоторые обходные пути. Спасибо большое !!! – dilvan

+0

@dilvan rwehner Я нашел это полезным спасибо вы, у меня есть еще одна проблема с одного миньона, внутренний ip другого миньона недоступен, поэтому, если я получаю доступ к ip службы (nodeport, с ip-модулем), он терпит неудачу, когда он загружает балансы с другим миньон-струком – PMat

 Смежные вопросы

  • Нет связанных вопросов^_^