Dmitriy
у меня функции мастер нод и вычислительных совмещены
yolkov
чтото видимо не правильно настроил
Dmitriy
я указал secure-port=0
Dmitriy
чтото видимо не правильно настроил
вот и хотелось бы разобраться, изучил (наверное плохо изучал) на оффсайте, но что-то все-равно не так
yolkov
надо смотреть с какими опциями запустил компоненты, так тяжело понять, зачем тебе вообще сейчас HA? обойдись без него пока
Dmitriy
почему kubernetes в качестве endpoint'а использует HTTPS, я не думал пока его использовать. Или это обязательная часть настройки?
Anton
Необязательная, API server стартует и на https и на http просто по дефолту http вешается на 127.0.0.1, переназначь его на 0.0.0.0 и будет работать, почитай флаги запуска сервисов
Dmitriy
Необязательная, API server стартует и на https и на http просто по дефолту http вешается на 127.0.0.1, переназначь его на 0.0.0.0 и будет работать, почитай флаги запуска сервисов
1) сокеты apiserver слушаются на 0.0.0.0:8080 и 0.0.0.0:6443 2) компоненты kubernetes цепляются на apiserver на порт 8080 по http через параметр —master (не могу перевести на https, так как не вижу параметры в которых можно было бы использовать https у всё тех же самых компонент) 3) сами apiserver'а обращаются к самим себе на localhost на https порт 6443 (проверено, экспериментировал с сертификатами, в которых пришлось прописать alternaivemane = localhost, чтобы исчезли сообщения об ошибках при подключении к самим себе на localhost!!!!!!!!!) 4) в конце концов постоянно вылетает сообщение "Resetting endpoints for master service "kubernetes" to &TypeMeta{Kind:,APIVersion:,}", видимо это и есть конень моих проблем
Sn00part
надо делать по хауту
Sn00part
там можно и без https
Sn00part
но лучше с ним конечно
Sn00part
за https отвечают флаги запуска сервисов их много
Sn00part
должен быть сертификат и мгенеренный secret
Sn00part
- --tls-cert-file=/etc/kubernetes/ssl/apiserver.pem - --tls-private-key-file=/etc/kubernetes/ssl/apiserver-key.pem - --client-ca-file=/etc/kubernetes/ssl/ca.pem - --service-account-key-file=/etc/kubernetes/ssl/apiserver-key.pem
Sn00part
вот такого рода флаги
Sn00part
если не нужен https api server надо запускать с "--insecure-bind-address=0.0.0.0"
Sn00part
а шедулер и контроллер с --master=http://127.0.0.1:8080
Sn00part
но это зависит от версии кубернетеса и как ты его запускал)
Sn00part
без https возможно будут проблемы с запуском дашборда всякого и dns. fabric8 тоже не запустится из коробки. вроде решаемо все, не помню уже точно
Sn00part
вот я прям щас поднял без https
Sn00part
1.3
Sn00part
secret не сгенерился
Sn00part
лучше ввести ещё 4 команды и серты все же сгенерить.
Denis
Сорри за оффтоп, но с праздником, мужчики :) Крепких кластеров и устойчивых сетей)
Sn00part
спасибо!
Dmitriy
надо делать по хауту
я вот до сих пор не могу нормальный хауту найти, вот нашел лишь вот этот вменяемый документ, но он для coreos: https://www.upcloud.com/support/deploy-kubernetes-coreos/
Dmitriy
должен быть сертификат и мгенеренный secret
Артём, а чем генерировать secret?
Sn00part
он вроде сам генерит все если серты подложить
Sn00part
я с телефона могу ошибиться
Sn00part
но там создаётся service account
Sn00part
kubectl get secret отрабатывает
Sn00part
https://kubernetes.io/docs/getting-started-guides/ubuntu/
Sn00part
тут правда богомерзкий жужу
Sn00part
но чармы читаются
Sn00part
в целом процесс описан можно повторить
Sn00part
а были ещё нормальные хауту
Sn00part
с командами из консоли
Dmitriy
он вроде сам генерит все если серты подложить
С secret все понятно. Начал настраивать HTTPS и столкнулся с проблемой при обращении controller-manager'ов к apiserver'ам: - на стороне apiserver выдается сообщение kube-apiserver[3657]: I0223 19:22:07.357473 3657 logs.go:41] http: TLS handshake error from .....: connection reset by peer - а на стороне controller-manager выдается сообщение error retrieving resource lock kube-system/kube-controller-manager: Get https://kube-master.infra.local:6443/api/v1/namespaces/kube-system/endpoints/kube-controller-manager: x509: certificate signed by unknown authority Сертификаты на обоих сторонах одинаковые: - на стороне apiserver используются параметры —service-account-key-file и —tls-ca-file - на стороне controller-manager используются параметры —service-account-private-key-file и —root-ca-file Они вроде должны общаться друг с другом, но... Что может быть не так? Чего еще добавить?
Dmitriy
При обращении curl'ом и по ip-адресу и имени ошибок с https не возникает, результат запросов выдается всегда Unauthorized
Sn00part
https://github.com/kubernetes/kubernetes/issues/14097
Sn00part
где то тут ответ)
Dmitriy
Если scheduler'а и controller-manager'а несколько, можно надеятся что при вылете одного из них кластер будет функционировать?
Dmitriy
Короче, как я понял, проблем полно с HTTP и не во всех компонентах он нормально поддерживается. Пример тому kube-proxy!
Alex
Незавидную тем кто зачем то ставим кластер сам))
Alex
Игра в сам себе админ
Etki
Игра в получение профильной квалификации, как по мне
Logan
Незавидную тем кто зачем то ставим кластер сам))
С удовольствием выслушаю альтернативы. Без Amazon ec2 и kubeadm. Вообще- автоматизация- это прекрасно, но было бы нелишним понимать, что именно автомат творит. Иначе есть риск напороться на ошибку, лечение которой превратится в магическую процедуру.
Alex
GCP - GKE
Alex
Мы используем его
Alex
Autoscale кластера есть
Alex
Обновление k8s в бета режиме есть
Logan
GCP - GKE
Я правильно понимаю, что все, кто не использует gce/aws- недостойны?
Sn00part
не коните гоней
Sn00part
всё в доках есть, надо сесть и прочесть
Sn00part
альтернатив то нет
Logan
Короче, как я понял, проблем полно с HTTP и не во всех компонентах он нормально поддерживается. Пример тому kube-proxy!
Вообще идея использовать http в небезопасных окружениях (а они по умолчанию небезопасны, если явно не доказано иное) - не кажется мне здравой
Sn00part
https везде нормальная практика
Sn00part
можно своих нагенерить
Sn00part
можно за 30 уе купить
Etki
Вообще идея использовать http в небезопасных окружениях (а они по умолчанию небезопасны, если явно не доказано иное) - не кажется мне здравой
++, да и общая тенденция движется к тому, что по умолчанию все потоки данных должны быть обернуты в tls.
Logan
++, да и общая тенденция движется к тому, что по умолчанию все потоки данных должны быть обернуты в tls.
Гугл вот верил в защищенность своих линий между своими цодами. Все помнят, чем кончилось? :)
Sergei
тотальным IPSec'ом, чем. ну или функционально аналогичным решением.
Sn00part
mitm рядом, даже если кажется, что и нет.
Sn00part
просто в нынешней реальности гораздо проще сделать секурно, чем это все выпиливать героически, а потом ничего не работает
Logan
неа, я пропустил
Кончилось MitM от NSA. Которое потом засветил Сноуден. АНБ качали данные как пожарный насос, вообще не затыкаясь.
Logan
тотальным IPSec'ом, чем. ну или функционально аналогичным решением.
Вы явно никогда не отлаживали IPSec туннель и не представляете, насколько сложная и капризная это технология. Я уж не говорю о том, что туннель предполагает частичный контроль над сетевой инфраструктурой. Список проблем в таком решении могу продолжать ещё долго.
Etki
о нет, сейчас начнутся сетевые войны, а я еще с прошлого раза ничего не прочитал по теме!
Sergei
Вы явно никогда не отлаживали IPSec туннель и не представляете, насколько сложная и капризная это технология. Я уж не говорю о том, что туннель предполагает частичный контроль над сетевой инфраструктурой. Список проблем в таком решении могу продолжать ещё долго.
IPSec не обязательно требует туннелирования и несколько непрост в первичной настройке, но вообще не рокет-саенс, даже в случае тысяч нод. я сказал "функционально аналогичное решение" в том плане, что между отдельными машинами нет (или почти нет, потому что есть edge-кейсы вроде DHCP) хождения нешифрованного трафика
Roman
Там же все предельно просто: взаимная аутентификация, потоковый шифр, рекеинг
Logan
Там же все предельно просто: взаимная аутентификация, потоковый шифр, рекеинг
Даже спорить не буду- охота стрелять себе в ногу - вперёд. Желательно за свои деньги.
Logan
RacoonD, strongswan, openswan, cisco vpnc, cisco anyconnect, shrew, ms ike client, nortel secure (кажется так назывался) - смотрел. Плюс железки. Нет там ничего простого. Если часть сложностей strongswan от вас скрыл - это не значит, что настраивать было просто. Это значит магию. А это плохо. Это означает неконтролируемую инфраструктуру. То есть - не понятую инфраструктуру.