Установка kubernetes на coreos с помощью rkt и автоматического скрипта
Я пытаюсь установить kuberentes с rkt на мои настоящие (не виртуальные) серверы Coreos дома, используя сценарии на https://github.com/coreos/coreos-kubernetes/tree/master/multi-node/generic и у меня есть некоторые вопросы.
- мой etcd2 использует ключи tls, я не вижу нигде в скрипте, где я могу определить, где расположены сертификаты.
- я могу предоставить домен вместо IP для
ADVERTISE_IP
а такжеCONTROLLER_ENDPOINT
? - когда я пытался установить 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