Установка kubernetes на coreos с помощью rkt и автоматического скрипта

Я пытаюсь установить kuberentes с rkt на мои настоящие (не виртуальные) серверы Coreos дома, используя сценарии на https://github.com/coreos/coreos-kubernetes/tree/master/multi-node/generic и у меня есть некоторые вопросы.

  1. мой etcd2 использует ключи tls, я не вижу нигде в скрипте, где я могу определить, где расположены сертификаты.
  2. я могу предоставить домен вместо IP для ADVERTISE_IP а также CONTROLLER_ENDPOINT?
  3. когда я пытался установить kubernetes вручную, мне нужно было запустить API RKT службы. в документах не указано, что здесь нужно, значит ли это, что я не нуждаюсь в этих сценариях? или это просто то, чего не хватает в документах?

Спасибо!

Обновить

Роб большое спасибо за ваш ответ. Я не был достаточно ясен относительно etcd2. Я уже установил и правильно настроил etcd2 tls на своих серверах coreos. поэтому я настроил мои etcd серверы в файле controller-install.sh:

export ETCD_ENDPOINTS="https://coreos-2.tux-in.com:2379,https://coreos-3.tux-in.com:2379"

но когда я бегу controller-install.sh скрипт, он возвращает и повторяет следующий вывод:

Waiting for etcd...
Trying: https://coreos-2.tux-in.com:2379
Trying: https://coreos-3.tux-in.com:2379
Trying: https://coreos-2.tux-in.com:2379
Trying: https://coreos-3.tux-in.com:2379
...

так что я догадался, что это потому, что я не определил связанные с etcd сертификаты tls в скрипте контроллера, и именно поэтому он застрял в этом.

на моем ноутбуке MacBook Pro у меня настроен следующий псевдоним:

alias myetcdctl="~/apps/etcd-v3.0.8-darwin-amd64/etcdctl --endpoint=https://coreos-2.tux-in.com:2379 --ca-file=/Users/ufk/Projects/coreos/tux-in/etcd/certs/certs-names/ca.pem --cert-file=/Users/ufk/Projects/coreos/tux-in/etcd/certs/certs-names/etcd1.pem --key-file=/Users/ufk/Projects/coreos/tux-in/etcd/certs/certs-names/etcd1-key.pem  --timeout=10s"

поэтому, когда я бегу myetcdctl member list Я получил:

8832ce6a269a7dac: name=ccff826d5f564c67abf35467306f80a0 peerURLs=https://coreos-3.tux-in.com:2380 clientURLs=https://coreos-3.tux-in.com:2379 isLeader=true
a2c0ac9708ef90fc: name=dc38bc8f20e64940b260d3f7b260430d peerURLs=https://coreos-2.tux-in.com:2380 clientURLs=https://coreos-2.tux-in.com:2379 isLeader=false

так что я предполагаю, что у меня действительно нет проблем там.

есть идеи?

Спасибо!

1 ответ

Решение

мой etcd2 использует ключи tls, я не вижу нигде в скрипте, где я могу определить, где расположены сертификаты.

Эти сценарии не запускают сервер etcd. Вам нужно будет настроить его вручную, и вы сможете использовать TLS и столько узлов, сколько захотите. Это не ясно в текущей форме документа, я попытаюсь исправить ситуацию.

я могу предоставить домен вместо IP для ADVERTISE_IP и CONTROLLER_ENDPOINT?

Только CONTROLLER_ENDPOINT будет доменным именем.

когда я пытался установить kubernetes вручную, мне нужно было запустить API RKT службы. в документах не указано, что здесь нужно, значит ли это, что я не нуждаюсь в этих сценариях? или это просто то, чего не хватает в документах?

Эти сценарии включают / запускают службу rkt API. Как вы можете видеть ниже, он также имеет набор параметров Restart (источник):

[Unit]
Before=kubelet.service

[Service]
ExecStart=/usr/bin/rkt api-service
Restart=always
RestartSec=10

[Install]
RequiredBy=kubelet.service
Другие вопросы по тегам