
Roman
04.04.2017
05:56:52
надо руками попробывать запустить

Fike
04.04.2017
05:57:40
а чем это отличается от бэкапа прямо с инстанса?

Roman
04.04.2017
05:58:13
контейнер будет который бакапит
зачем мне вообще что-то на инстансе делать

Google

Roman
04.04.2017
05:59:04
инстанс будет уничтожатся тут постоянно все автоматизированно
ну во я дурень забыл же backslash

Mikhail
04.04.2017
06:35:04
Товарищи, а как вы рассчитываете примерно ресурсы для кластера, перед поднятием? Сколько, нужно будет места на нодах, если, скажем, у меня планируется порядка 2000 контейнеров? :) может у кого формула интересная есть

Andrey
04.04.2017
06:41:49
у меня формула такая: начинают поды валиться - смотрю что память закончилась и oom-killer срабатывает, подгорает пердак и добавляю еще один комп
ну, это приближенная формула... :)
оффтоп: а че, есть инфа когда примерно 1.6.0 в гугле выйдет?

Igor
04.04.2017
06:57:46
1.6.1 текущая

Andrey
04.04.2017
06:59:15
в гугле (GKE) они сами обновляют и поддерживают кластер поэтому релизы позже выходят (пока проверят, пока на все датацентры раскатают, пока откатят потому что у клиентов ишьюсы пошли и тп)

Igor
04.04.2017
07:00:56
ооо, тоогда не скоро, в 1.6 слишком много мажорных изменений
тут на bare metal не понятно как без последствий 1.5 -> 1.6 обновить

Mikhail
04.04.2017
07:21:22

Igor
04.04.2017
07:57:33
Если в облаках, то "Интересная формула" - cluster autoscaler
https://github.com/kubernetes/contrib/tree/master/cluster-autoscaler

Mikhail
04.04.2017
08:01:15

Google

Igor
04.04.2017
08:03:10
Тогда ставить алерты на память и место на диске и добавлять ноды по мере необходимости

Sergej
04.04.2017
08:12:44
там в морде в настройках нода есть инфа по подам
http://joxi.ru/1A5vGa1teb5qrE
она приблизительная, но у нас проблемы начались когда мы превысили на 50% но это в тестовой среде.

Denis
04.04.2017
11:47:14
https://www.youtube.com/watch?list=PLqm7NmbgjUExeDZU8xb2nxz-ysnjuC2Mz&v=x2Lp8nktLjE
https://kubernetes.io/docs/tasks/run-application/podpreset/

Roman
04.04.2017
12:34:25
такое ощущение что порты консула меняются на каждый релиз

Lev
04.04.2017
12:36:08
avitotech на ютьюбе, там должны быть

Denis
04.04.2017
12:38:33
Да)
Была ссылка выше

Roman
04.04.2017
12:43:16
Благодарю
не понимаю зачем мне consul в докер сварме, какую проблему он решает? service discovery термин мутный какой-то

Denis
04.04.2017
14:07:04
Но без него (SD) было никак, раньше

Roman
04.04.2017
14:07:16
я как-то и без него живу
что я упускаю?

Denis
04.04.2017
14:07:23
С чем?

Roman
04.04.2017
14:07:56
у меня есть докер сварм кластер
все контейнеры видят друг друга
зачем мне еще что-то )?

Google

kay
04.04.2017
14:09:17
Коллеги, пришлось обновить сертификат с ключем для api-server, использовался тот же CA. Теперь pod'ы не запускаются, которым требуется аутентификация в k8s. Помню раньше как-то решал эту проблему удалением default token'а из secrets, а теперь это не помогает. Пытаюсь загуглить похожую проблему, но пока пусто. Может кто-то помнит как правильно сертификаты обновлять?

Roman
04.04.2017
14:09:25
типо если куданибудь какой нибудь мускуль переместишь чтобы не трогать env variables в docker-compose ? у меня не такой маштаб что бы об этом волноватся

Fike
04.04.2017
14:10:04
где вообще сейчас находится дока по сварму? _______ компания докер уже ______ играться с именами своих продуктов

Roman
04.04.2017
14:10:32

Fike
04.04.2017
14:12:23
> Using a Raft implementation, the managers maintain a consistent internal state of the entire swarm and all the services running on it.
в docker swarm нужен был, в docker swarm mode походу уже нет. хотя там есть всякие плюшки типа деления на dc.

Roman
04.04.2017
14:24:02
забавно
тогда какого черта я тут время трачу с консулом )))
мне то на три виртульки запилить сварм нужно и всего-то
вижу justification что если выносить сервисы за пределы сварма тогда нужен уже service discovery, что бы конфигурацию не переписывать в docker-compose

yolkov
04.04.2017
14:30:31
@kay_rus покажи конфиг контроллера

kay
04.04.2017
14:34:53
@yolkov , благодарю. перезапустил api, но не controller-manager
после перезапуска controller-manager всё ок

yolkov
04.04.2017
14:48:50
Выдели отдельный ключ для
controller-manager
--service-account-private-key-file
а тут его публичный или можно тот же закрытый
apiserver
--service-account-key-file
тогда при смене ключа и сертификата для апи не придется удалять дефолтный(да и остальные) токены и рестартовать поды

kay
04.04.2017
14:52:43

Sergej
05.04.2017
09:12:34
В карго что можно было ткнуть чтобы выдало? SchedulingDisabled $ kubectl get nodes
NAME STATUS AGE
kub-i1 Ready 10m
kub-i2 Ready 10m
kub-master Ready,SchedulingDisabled 10m

Aleksandr
05.04.2017
09:13:06

Sergej
05.04.2017
09:13:16
Ага
что-то пошло не так :)

Let Eat
05.04.2017
10:15:31

M
05.04.2017
10:51:29
а у кого rdb volumes и ceph kraken ? как вы обошли депрекейтед image format 1?

Google

yolkov
05.04.2017
10:53:19
@rossmohax если посмотришь повнимательнее то в этих опциях вообще нет сертификатов, там реч о ключах!
и ключи для токенов ой как больно менять
нужно будет потом удалять старые токены и рестартить все поды в которых старый ключ(и кому требуется доступ к апи)
например kubedns, очень неприятно когда новые сушности не резолвятся
несколько опций надо попробовать, это конечно будет спасать, но смену ключей для токенов и сертификатов лучше не связвать

Let Eat
05.04.2017
11:45:21

Dmitry
05.04.2017
11:55:00
не будет работать, если у каждой ноды свой сертификат

Let Eat
05.04.2017
11:58:24

Dmitry
05.04.2017
11:59:20
если инстансы kubelet запущены с разными сертификатами и соответственно ключами

Let Eat
05.04.2017
12:00:11
У нас как раз так, Если они подписаны одним СА все ок

Dmitry
05.04.2017
12:01:37
а у kube-controller-manager --service-account-private-key-file какой?
я спутал. сорри. это если у вас apiserver HA и у каждого аписервера свой сертификат/ключ
тогда дефолты не будут работать


Let Eat
05.04.2017
12:08:28
Дефолты не для HA, да :)
С этим HA вообще сказка, кто-нибудь тестировал как оно живет если зону полностью отключить? Или все надеялся что вырулит как-нибудь само? :) мы вот надеямся, но чуток потестили, выяснили что apiserver по дефолту радостно читает из etcd без кворума
Ротация токенов:
1. Генерим ключевую пару
2. Перезапускаем все apiserver добавляя новый,публичный ключ к существующим
3. Перезапускаем все controller manager с новым приватным ключом
4. Удаляем токены из secrets из всех неймспейсов, контроллерв пересоздадут их мгновенно, аписервер будет доверять и старым и новым
5. Перезапускаем / следим за всеми подами, которые используют удаленные секреты (будет у них в volumes)
6. Когда всем переехали, удаляем старые публичные ключи и перезапускаем apiserver без них

yolkov
05.04.2017
12:42:39
будут если для токенов выделить отдельный ключ
для аписервера прям несколько раз опцию --service-account-key-file указываешь?

Let Eat
05.04.2017
12:45:41
Не помню, сейчас с телефон не могу проверить. Глянь в коде

Vitaliy
05.04.2017
17:01:54
кто-нибудь делал аутентификацию через ldap или google openid? Смотрю dex, но не понимаю куда копать. Там требуется отдельный их example-app и вообще всё не user friendly https://github.com/coreos/dex/blob/master/Documentation/kubernetes.md#logging-into-the-cluster

Google


Dmitry
05.04.2017
17:03:52
примерно так
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: tectonic-identity
namespace: tectonic-system
labels:
app: tectonic-identity
component: identity
spec:
replicas: 1
# New identity pods must be healthy for 30 seconds
# before they're marked as ready.
minReadySeconds: 30
strategy:
rollingUpdate:
# During a rolling update every deployed pod must be
# ready before the update terminates an existing pod.
maxUnavailable: 0
template:
metadata:
name: tectonic-identity
labels:
app: tectonic-identity
component: identity
spec:
volumes:
- name: config
configMap:
name: tectonic-identity
items:
- key: config.yaml
path: config.yaml
- name: tectonic-identity-grpc-server-secret
secret:
secretName: tectonic-identity-grpc-server-secret
containers:
- name: tectonic-identity
imagePullPolicy: IfNotPresent
image: quay.io/coreos/dex:v2.3.0
command: ["/usr/local/bin/dex", "serve", "/etc/dex/config.yaml"]
volumeMounts:
- name: config
mountPath: /etc/dex
- name: tectonic-identity-grpc-server-secret
mountPath: /etc/tectonic-identity-grpc-server-secret
readOnly: true
ports:
- containerPort: 5556
protocol: TCP
- containerPort: 5557
protocol: TCP
livenessProbe:
httpGet:
path: /identity/healthz
port: 5556
initialDelaySeconds: 5
timeoutSeconds: 1
resources:
requests:
cpu: 100m
memory: 50Mi
limits:
cpu: 100m
memory: 50Mi
# For development, assume that all images we build ourselves are under a
# private registry.
imagePullSecrets:
- name: coreos-pull-secret


Vitaliy
05.04.2017
17:16:25
@nailgunster staticClients в конфиге dex и приложение с redirect_url все равно нужны получается?

Dmitry
05.04.2017
17:18:12
сам не знаю. это я изучаю что генерит tectonic installer и пишу свой велосипед для provisioning-га кластера. это из тектоника, сам не использовал oid

Vitaliy
05.04.2017
17:18:50
а у нас тектоника нет. Я надеялся отделаться просто dex + kubectl

Dmitry
05.04.2017
17:19:21
он и не нужен. можно просто оттуда взять примеры манифестов

Let Eat
05.04.2017
17:19:24

Dmitry
05.04.2017
17:20:31
а мне надо bare-metal(
Vitaliy можешь тут глянуть https://github.com/coreos/tectonic-installer/tree/master/modules/tectonic/resources/manifests/identity
они недавно открыли исходники, но не все

Vitaliy
05.04.2017
17:28:02
Здесь тоже ${console_callback} который делает всю магию, если я правильно понимаю. Пойду kubernetes слак почитаю...

Dmitry
05.04.2017
17:29:57
а. ну видать он ссылается уже на проприетарный tectonic console. тогда увы..

Let Eat
05.04.2017
17:39:04

Dmitry
05.04.2017
20:06:21
кстати, вот он. мой велосипед. может кому пригодится https://github.com/nailgun/seedbox

Denis
05.04.2017
20:19:34
Огонь )
Можно ещё сюда - @coreos_ru