где я могу найти соответствующие файлы манифеста kubernetes yaml для конкретной версии гиперкуба?

Я пытаюсь установить kubernetes на свою альфа-версию ContainerOS 1353.1.0 от CoreOS.

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

поэтому на https://quay.io/repository/coreos/hyperkube?tab=tags есть v1.6.0-rc.1_coreos.1. скажем, я хочу использовать это, где я могу найти соответствующие файлы манифеста, чтобы все заработало? что означает файлы kube-controller-manager, kube-scheduler и kube-proxy yaml. где мне их найти?

Я попытался загрузить kubernetes с github и скомпилировать его, но нашел соответствующие файлы yaml только в тестовом каталоге.

так.... что мне не хватает?

Благодарность


person ufk    schedule 27.03.2017    source источник


Ответы (1)


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

Во-первых, имейте в виду, что Hyperkube представляет собой единый двоичный файл для всех компонентов Kubernetes, поэтому, вероятно, это не лучший способ понять, что происходит. Если вы хотите запустить Hyperkube, взгляните на Dockerfile в hyperkube repo, чтобы понять, что происходит.

Вкратце, что происходит:

Я также настоятельно рекомендую прочитать и следовать Kubernetes the Hard Way Келси Хайтауэр, что даст вам гораздо лучшее понимание того, как все это сочетается друг с другом.

person jaxxstorm    schedule 27.03.2017
comment
Я не первый раз получаю от вас помощь. Спасибо. эта информация мне очень помогает. так что, если я правильно понимаю, файлы манифеста для корневого компонента kubernetes требуются только из-за использования гиперкуба? в других случаях это просто служба systemd или что-то, что повышает службы? есть ли способ узнать «лучший» способ запуска этих компонентов, чтобы я сам написал манифесты? - person ufk; 27.03.2017
comment
Манифесты, попадающие в каталог /etc/kubernetes, будут выполняться двоичным файлом kubelet. kubelet — это бинарный файл, который запускается вне Docker (или, в вашем случае, rkt) и просто читает этот каталог для определений и запускает некоторые контейнеры Docker. Если вы посмотрите на пример здесь: github.com/kubernetes/kubernetes/blob/master/cluster/images/. Все, что делает гиперкуб, это означает, что вам не нужно загружать 5 разных двоичных файлов для запуска apiserver, контроллера, kubelet, etcd и т. д. - person jaxxstorm; 27.03.2017
comment
Привет! Я, наверное, не совсем правильно объясняю или что-то упускаю. где найти файлы манифеста, которые попадают в /etc/kubernetes? я сам их создаю? если да, то на основании чего? - person ufk; 27.03.2017
comment
Если вы используете гиперкубе, вы можете найти их здесь: github.com/kubernetes/kubernetes/tree/master/cluster/images/. В качестве альтернативы вы можете использовать такие инструменты, как kubeadm, генерировать их, или, как вы говорите, вы можете генерировать их самостоятельно. Например, если вы посмотрите на значения командной строки для каждого компонента (например, здесь kubernetes.io/ docs/admin/kube-apiserver), вы можете легко настроить их. Я бы порекомендовал начать с простых и работающих обратных слов, поэтому, возможно, сначала посмотрите на hyperkube или kubeadm. - person jaxxstorm; 27.03.2017
comment
ахах.. Я не знал, что вы можете использовать манифесты json для установки компонентов kubernetes, а не только yaml. теперь я понимаю ваш ответ более правильно :) - person ufk; 28.03.2017