
Denis
22.08.2016
17:36:19
просто на ровном месте отвалился apiserver
это эпик

Maxim
22.08.2016
17:36:38
s/эпик/талант/

Denis
22.08.2016
17:51:51
факоф:
$ sudo coreos-cloudinit -validate --from-file /var/lib/coreos-install/user_data
2016/08/22 17:47:08 Checking availability of "local-file"
2016/08/22 17:47:08 Fetching user-data from datasource of type "local-file"
2016/08/22 17:47:08 line 354: error: found a tab character where an intendation space is expected
2016/08/22 17:47:08 line 0: warning: incorrect type for "" (want struct)
:)

Google

Denis
23.08.2016
07:45:40
Инженеры из Platform9 продолжают сравнивать различные системы оркестрации контейнеров. На этот раз они опубликовали статью о сравнении Kubernetes и Docker Swarm.
http://amp.gs/8q7G

Maxim
23.08.2016
07:46:15
какая-то статья ниачом
собрали дифф из двух эбаутов

Alexander
23.08.2016
07:59:03
Ребята, а кто использует Prometheus для мониторинга?
Или другие инструменты? Есть примеры конфигов/настроек?
и еще вот такой вопрос... для логов у меня сейчас ES/Logstash/Kibana
Думал все уместить на одной ноде 4 гига 2 ядра... но что-то такие тормоза в связке kibana-es что плакать хочется (((
в общем, думаю как улучшить мониторинг/логирование до приемлемых показателей. А то выбор логов за 15 минут идет целую минуту...
или это расплата за жадность? ;)

Maxim
23.08.2016
08:03:12
это она, да
ELK выноси отдельно

Alexander
23.08.2016
08:03:48
отдельно куда? Оно и так сейчас на отдельной ноде
4 гигиа, SSD, 2 ядра

Maxim
23.08.2016
08:04:14
прометей сам по себе тоже ведь никто не юзает - там еще графана с алертманагером

Alexander
23.08.2016
08:04:35
алерты пока не юзал, присматриваюсь...

Google

Denis
23.08.2016
08:04:44
Графану используем
Она хорошо с Kubernetes дружит

Alexander
23.08.2016
08:04:50
ну прометей же идет в качестве стораджа для графаны
а сами конфиги графаны, дашборды кто какие юзает? Самописные или из готовых примеров?

Denis
23.08.2016
08:05:42
Из готовых примеров :)

Maxim
23.08.2016
08:06:12
https://github.com/jimmidyson/prometheus-grafana-dashboards

Alexander
23.08.2016
08:06:41
ага спасибо ;)
а кто сколько ресурсов кидает на связку ELK?

Maxim
23.08.2016
08:08:33
от количества данных зависит и интенсивности использования
ELK в вакууме можно и на пятибаксовом ДО запустить
и он даже заработает
но смысл?

Nikita
23.08.2016
08:09:15
только если своп включить
ну, я для тестов поднимал

Alexander
23.08.2016
08:10:22
вот да, в ваакуме все отлино работатет. На реальных же данных - все гораздо затратнее))

Denis
23.08.2016
08:14:16
Парни, а я чё-то потерял нить) Куда копировать эти ключи?
$ openssl genrsa -out admin-key.pem 2048
$ openssl req -new -key admin-key.pem -out admin.csr -subj "/CN=kube-admin"
$ openssl x509 -req -in admin.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out admin.pem -days 365
Они нигде в явном виде не используются вроде
https://coreos.com/kubernetes/docs/latest/openssl.html

Maxim
23.08.2016
08:15:02
как не используются? о_О

Nikita
23.08.2016
08:15:41
это ж Root CA

Google

Maxim
23.08.2016
08:15:54
ну

Denis
23.08.2016
08:16:05
Так а где они должны быть?

Maxim
23.08.2016
08:16:11
в сейфе

Denis
23.08.2016
08:16:15
в cloud config референса на них нет

Maxim
23.08.2016
08:16:26
это твой CA
certification authority

Denis
23.08.2016
08:16:57
а понял
локально, на машине, откуда kubectl юзается?

Maxim
23.08.2016
08:17:21
ты им будешь подписывать все пары ключей/сертификатов для etcd и k8s

Nikita
23.08.2016
08:17:22
он нужен для выпуска сертификатов

Maxim
23.08.2016
08:19:23
выдержка из манифеста к аписерверу:
- --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

Denis
23.08.2016
08:19:27
Я про admin.pem и admin-key.pem :)

Maxim
23.08.2016
08:19:50
admin.pem и admin-key.pem нужны тебе
ну или коллегам

Denis
23.08.2016
08:20:05
Крутая схема ?

Maxim
23.08.2016
08:20:07
чтобы авторизоваться в аписервере

Denis
23.08.2016
08:21:40
Вроде понял, спасибо
У меня какая-то странная история
Как я вчера понял - была проблема с ключами
Сейчас обновляю ключи, заодно меняю сетевой интерфейс, где будет поднят apiserver

Google

Maxim
23.08.2016
08:22:45
users:
- name: bregor
user:
client-certificate: /Users/bregor/Work/EvilMartians/chef/chef-amplifr/private-cookbooks/chef-kubernetes/ssl/amplifr/bregor.pem
client-key: /Users/bregor/Work/EvilMartians/chef/chef-amplifr/private-cookbooks/chef-kubernetes/ssl/amplifr/bregor-key.pem
username: bregor
это кусочек ~/.kube/config
моего локального

Denis
23.08.2016
08:23:22
да понял
bregor => admin?

Maxim
23.08.2016
08:23:42
вот bregor.pem и bregor-key.pem - это твои admin.pem и admin-key.pem

Denis
23.08.2016
08:24:00
Great, perfectly great :)
а ты его к пользователю зачем заносишь? чтобы залогиниться на одну из нод и там управлять?
мы просто сделали внешнее управление

Admin
ERROR: S client not available

Maxim
23.08.2016
08:25:35
условно говоря - это логин/пароль
которые kubectl использует, чтобы попасть в аписервер

Denis
23.08.2016
08:25:58
это да - это я понял)

Maxim
23.08.2016
08:26:20
тогда я не понял вопроса про ноду

Denis
23.08.2016
08:26:36
ну вот они у тебя в cloud-init
чтобы ты мог залогиниться на каждую машину и поуправлять кластером?

Maxim
23.08.2016
08:26:53
да нету у меня cloud-init ;)
у меня убунта

Denis
23.08.2016
08:27:06
а

Maxim
23.08.2016
08:27:16
уже дискутировали как-то

Google

Denis
23.08.2016
08:27:37
а вот вижу свой ~/.kube/config :) теперь ещё на 5% ясней

Maxim
23.08.2016
08:28:25
clusters:
- cluster:
certificate-authority: /Users/bregor/Work/EvilMartians/chef/chef-amplifr/private-cookbooks/chef-kubernetes/ssl/amplifr/ca.pem
server: https://ololo:8443
name: amplifr
contexts:
- context:
cluster: amplifr
user: bregor
name: amplifr-default
current-context: amplifr-default
вот на сцену вышел третий ссл-компонент - публичная часть CA

Denis
23.08.2016
08:29:34
а зачем тебе chef?


Maxim
23.08.2016
08:29:57
а ты предлагаешь мне сотню серверов руками раскатывать?
мсье знает толк в извращениях...
итого, в ~/.kube/config у тебя есть три секции:
- clusters
- contexts
- users
(на самом деле больше, но сейчас это не важно)
в clusters ты описываешь аписерверы, в виде:
name: <тут-любое-сочетание-символов>
ca: <путь-к-публичной-части-CA, либо он сам без переносов строк>
server: <https://address[:port]>
в users, очевидно, ползатели вида:
username: <тут-любое-сочетание-символов>
[password: <тут-любое-сочетание-символов>]
[client-certificate: <путь-к-публичной-части-клиентского-ключа, либо он сам без переносов строк>]
[client-key: <путь-к-публичной-части-клиентского-ключа, либо он сам без переносов строк>]
в contexts живут сочетания кластеров/юзеров в любых позах и названиях
например:
- context:
cluster: amplifr
namespace: kube-system
user: bregor
name: amplifr-system
короче говоря, контексты - это как бы шорткаты к конфигурациям
ключ current-context указывает на контекст, который будет применен в случае, если ты kubectl запустил без указания контекста
можно менять его в конфиге, можно командой
$ kubectl config set current-context <ololo>
можно указывать контексты каждый раз при запуске:
$ kubectl get po --all-namespaces -o wide -w --context=ololo
например
вы прослушали краткое изложение мануала по конфигурации kubectl
спасибо за внимание
пойду сына покормлю


Denis
23.08.2016
08:53:10
:))) Спасибо, что ещё раз напомнил, я в курсе всего этого да, не совсем понятно только почему не работает
О, ладно, не отвлекаю, подрастающее поколение наше всё)
Не работает с ошибкой:
# kubectl get pods
Unable to connect to the server: x509: certificate is valid for x.x.x.x, y.y.y.y, not z.z.z.z
Хотя ключ сгенерировал новый
Поместил его на сервере с kube-apiserver