Rainbow
в любом случае я бы хотел избежать docker push чтобы вытаскивать digest
Vadim
@sha256:abcdef по которому можно образы качать это digest или image id?
Это диджест, но image id в таком же формате
Sergei
может быть речь про docker push?
Rainbow
это пальцы напечатали, docker push
Vadim
https://vrutkovs.github.io/slides-how-redhat-builds-containers/#1
G72K
вытащу кусок из docker cli, который шлёт контекст =)
Там синтаксис совместим с гитовым, может можно низкоуровневыми командами приготовить git index и потом в него заглянуть в взять tree hash с него
Rainbow
@vrutkovs идея делать sha1 на основе файлов без .dockerignore плоха? Или можно пробовать?
Vadim
Тогда уже сразу свою имплементацию OCI
Отделение Bereke Bank
Буду рад советам 😊
Rainbow
Dockerfile же попадает в sha1, понятно, что он в игноре, но нужен.
Vadim
У тебя и так куча sha, зачем тебе еще один?
Rainbow
У тебя и так куча sha, зачем тебе еще один?
я не хочу тратить время ci/cd на пуш, чтобы узнать digest. docker build аналогично думаю можно скипать по кастомному sha
Vadim
(только если тебе нужна v1)
Vadim
Только затегай имадж всеми его тегами - тэги меняют манифест
Rainbow
Только затегай имадж всеми его тегами - тэги меняют манифест
ок, я потестирую как дойдут руки, нужно открытый proof of concept сделать.
G72K
А можете подробнее уточнить что Вы имеете ввиду под плавным изменением?)
Процесс, который описал в остальной части сообщения :)
Отделение Bereke Bank
Процесс, который описал в остальной части сообщения :)
я все делаю через Ansible. То есть мне лучше загрузить новые сертификаты и производить рестарты dockerd и kubelet по одному хосту (serial: 1)?
Rainbow
Только затегай имадж всеми его тегами - тэги меняют манифест
ещё кейс, если свой sha будет считаться в 2+ раз быстрее, есть смысл делать так. Чтобы скипать docker build
Отделение Bereke Bank
Вы перевыпускаете СА или нет? Если нет, то мой комент не актуален
просто мне не совсем понятно чем процесс описанный мной не подходит под определение "плавно" 😀
Артур
Приветствую. Есть кластер куба, раскаченный кубспреем v2.6.0 месяца 2 назад, сейчас пробую обновить версией 2.7.0 и идёт ругань на устаревший калико. Ошибка такая: Your version of calico is not fresh enough for upgrade. Minimum version v2.6.5 . Сейчас раскачен калико 1.6.3. Как можно проапгрейдить калико? Или проще забить и раскатать кластер заново, он эксперементальный и ничего важного пока в нём не живёт
Семён
забить всегда проще. Но не полезнее
G72K
просто мне не совсем понятно чем процесс описанный мной не подходит под определение "плавно" 😀
Ваш процесс тоже плавный, но вы хотите заменить все сертификаты за один проход (плавно по 1 ноде за раз), но такой процесс обрывает цепочку доверия : обновленные ноды не доверяют ещё необновленным и наоборот итого кластер разваливается , т.е. не очень то плавно всё проходит :)
Rainbow
а манифест считается от step поэтапно же?
Vadim
нет, он генерируется в конце, когда есть список слоев
Отделение Bereke Bank
Ваш процесс тоже плавный, но вы хотите заменить все сертификаты за один проход (плавно по 1 ноде за раз), но такой процесс обрывает цепочку доверия : обновленные ноды не доверяют ещё необновленным и наоборот итого кластер разваливается , т.е. не очень то плавно всё проходит :)
попробую по одной. спасибо 👍🏼 выше так же писали про токены. Я понял что их тоже необходимо пересоздать. Помимо этого так же потребуется пересоздать поды, использующие эти токены? Например weave
G72K
попробую по одной. спасибо 👍🏼 выше так же писали про токены. Я понял что их тоже необходимо пересоздать. Помимо этого так же потребуется пересоздать поды, использующие эти токены? Например weave
"По одной" это про другое. Я вам пытаюсь объяснить, что за 1 проход по всем нодам вы не сможете обновить СА сертификаты. Надо делать два полных прохода: сначала только добавить новый СА и ничего другого не менять, потом ещё раз пройтись по всем нодам и уже разложить сертификаты выпущенные новым СА.
G72K
попробую по одной. спасибо 👍🏼 выше так же писали про токены. Я понял что их тоже необходимо пересоздать. Помимо этого так же потребуется пересоздать поды, использующие эти токены? Например weave
Ротация токенов схожий процесс - удалить упоминания секрета из сервис аккаунта , но оставить сам секрет , не трогать его до самого конца, после этого в сервисаккаунте "появится" новый секрет (его создаст кубовый controller manager), после этого вам надо найти все поды которые маунтят старый секрет и перезапустить их, после того как ни одного не осталось, можно удалить старый секрет
G72K
"сначала только добавить новый CA" - вы имеете ввиду добавление его в доверенные на нодах? Или перезапуск сервисов с новым CA? Кончено извиняюсь за тупые вопросы))
Я предлагаю забить. Выпустите СА и все сертификаты подписанные им на 20 лет. Ротация секретов процесс сложный, неблагодарный , чуть что идёт не так все нахуй разваливается и ваша жопа в огне, а если после тщательной подготовки и десятков/сотен человеко-часов проб и ошибок все прошло гладко, никто даже не узнает, что вы что-то делали. все для чего это нужно это дурацкая галочка (одна из сотен/тысяч) в каком-нибудь аудите. Есть более интересные занятия, с гораздо лучшими показателями плюшек на единицу ебли
ᛃᛟᚺᚾ ᚠᚨcᛖᛚᛖᛊᛊ ᛞᛟᛖ
https://github.com/Azure/brigade
ᛃᛟᚺᚾ ᚠᚨcᛖᛚᛖᛊᛊ ᛞᛟᛖ
кто че думает?
Vadim
ок, я потестирую как дойдут руки, нужно открытый proof of concept сделать.
Чем мучатся с глупым докеркэшированием и легаси проще сразу смотреть в сторону buildah, там коммиты можно делать когда угодно и весь контейнер смонтирован локально
Vadim
Что хочешь в него суй и определяй диджесты когда угодно
Rainbow
Попробую buildah. У меня пока одна цель - тегировать автоматически, но так, чтобы лишний раз новых хеш не всплывал, иначе deployment и тп бесполезно перезапускаются
Vadim
https://github.com/Azure/brigade
оно вроде poor man's operator
ᛃᛟᚺᚾ ᚠᚨcᛖᛚᛖᛊᛊ ᛞᛟᛖ
оно вроде poor man's operator
что это значит?
Vadim
значит что operator-sdk помощнее будет, но для начала Bridade сойдет
Nik
Как после заведения сервисмонитора пром подхватит новый таргет?
Nik
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: dictionaries labels: app: dictionaries spec: selector: matchLabels: app: dictionaries endpoints: - port: metrics
Rainbow
все, prometheus должен появиться. Там не рандомные метки...уже не помню точно.
Nik
и короректно ли что у меня два прома в неймспейсае мониторинг и ни одно прома в моем?
Rainbow
label у монитора для прометеуса
Nik
label у монитора для прометеуса
$ kubectl get ServiceMonitor kube-prometheus-exporter-node -n monitoring -o yaml apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: creationTimestamp: 2018-10-30T14:31:31Z generation: 1 labels: app: exporter-node chart: exporter-node-0.4.6 component: node-exporter heritage: Tiller prometheus: kube-prometheus release: kube-prometheus name: kube-prometheus-exporter-node namespace: monitoring resourceVersion: "1138405" selfLink: /apis/monitoring.coreos.com/v1/namespaces/monitoring/servicemonitors/kube-prometheus-exporter-node uid: 7ed29624-dc50-11e8-8684-0050562b002b spec: endpoints: - interval: 15s port: metrics jobLabel: component namespaceSelector: matchNames: - monitoring selector: matchLabels: app: exporter-node component: node-exporter
Nik
увидел
Nik
спасибо
Alexander N.
коллеги, словил на ноде щас failed to allocate for range 0: no IP addresses available in range set X.X.X.X
Alexander N.
1.12, containerd 1.2.0-rc1, calico
Nik
Добавил лейбл prometheus: kube-prometheus И все еще не происходит счастья. namespaceSelector имеет значение в текущей ситуации? или он по дефолту будет вертеться в своем неймспейсе? или надо сервисмонитор в неймспейс монитринг положить?
Alexander N.
решил пока тупым методом - выключил контейнеры и очистил /var/lib/cni/k8s-pod-network/, включил контейнеры
Alexander N.
но хотелось бы знать, как такую дрянь предотвращать
Alexander N.
на SO советуют https://github.com/jsenon/api-cni-cleanup
Alexander N.
но решение так себе
A
А ни кто не использует гластер с гластер экспортером для прометея?
Andrey
но хотелось бы знать, как такую дрянь предотвращать
А часом вот эта хрень https://docs.projectcalico.org/v3.3/reference/kube-controllers/configuration не умеет?
Andrey
кто подскажет, может statefulset смотреть на pvc из другого namespace?
Stas
кто подскажет, может statefulset смотреть на pvc из другого namespace?
pvc специально так дизайнили, чтобы такие вещи делать нельзя было
Serega
ребят, а кто чем пользуется в амазоне, чтобы сервисам вешать iam roles ? kiam, kube2iam ? нюансы ?