Øk_gø_løve
и оно должно быть добавлено в качестве insecure registry, если ты хочешь по HTTP это делать
Alexander
емнип без https не заработает никак. insecure нужен если серт кривой
Валентин
docker pull http://xx.xx.xx.xx:5000/myapp ?
Ну да, хоть домен хоть ип, но что дальше будет я тебе уже написал
Andrey
оно уже сделано
Andrey
insecure registry
Sergei
Http registry надо прописывать в конфиге докера как insecure registry. Тогда будет работать
Валентин
емнип без https не заработает никак. insecure нужен если серт кривой
Ну у меня все локально-закрытое и я юзаю insecure. Но да, надо быть уверенным
Артем
Приветствую, подскажите ставлю кубернетес через kubeadm и ansible. Нашел такой yml для установки - hosts: all become: yes tasks: - name: install Docker apt: name: docker.io state: present update_cache: true - name: install APT Transport HTTPS apt: name: apt-transport-https state: present - name: add Kubernetes apt-key apt_key: url: https://packages.cloud.google.com/apt/doc/apt-key.gpg state: present - name: add Kubernetes' APT repository apt_repository: repo: deb http://apt.kubernetes.io/ kubernetes-xenial main state: present filename: 'kubernetes' - name: install kubelet apt: name: kubelet state: present update_cache: true - name: install kubeadm apt: name: kubeadm state: present - hosts: master become: yes tasks: - name: install kubectl apt: name: kubectl state: present Но в пакпке /etc/kubernetes только одна папка mainfest. Почему там нет файлов кубернетес?
Dmytro
Я readme поменял, он перезапускает deployment. Там docker build мгновенно проходит, потому что кэш, но tag меняется и deployment отрабатывает. Думаю потом сделать проверку, что docker image отличается хоть чем-то кроме tag
Если правильно настроить .dockerignore и CI джобу то контейнер соберётся такой же как <current branch>:latest и тогда не пушаем новый тег в реджистри соответсвенно нечего деплоить
Dmytro
про init знаю, думал может появились какие-то менее костыльные варианты )
Можно юзать dockerize в энтрипоинте или инит контейнере но имхо каждый апп в хелсчеке своём должен проверять что все обязательные депенденси подняты и если нет то фейлить хелсчек
Rainbow
Я просто стал вместо тегов использовать digest image: nginx@sha256:23e4dacbc60479fa7f23b3b8e18aad41bd8445706d0538b25ba1d575a6e2410b вроде такого
Dmytro
Ну, нам уже пол года пофиг. А вообще безполезное действие
Так детектите в CI что хеш нового образа = хешу latest и не пушайте новый тег
Dmytro
Это может быть нехилой проблемой если приложение стартует минуты (у меня МЛ апп грузит много гигабайтов моделей в память, поэтому). Лучше не передеплаивать лишний раз и даже новый тег не пушать имхо, .dockerignore и сравнение хеша нового собраного образа с latest в CI джобе это решает, моё имхо
Rainbow
docker build -t app:$CI_COMMIT_SHA DIGEST=$(docker inspect --format='{{.Id}}' app:$CI_COMMIT_SHA)
Rainbow
digest не меняется, если image не меняется. digest не зависит от тега.
Rainbow
image: app@sha256:d98169a31d42b6b1cf1c0ad3ad40b74022e3212127a1c5192b9451f53320136f
Rainbow
вот так в deployment.yml попадает
Vadim
docker build -t app:$CI_COMMIT_SHA DIGEST=$(docker inspect --format='{{.Id}}' app:$CI_COMMIT_SHA)
это не тот digest что вам нужен, его нельзя будет пуллить с другой ноды емнип
Rainbow
это не тот digest что вам нужен, его нельзя будет пуллить с другой ноды емнип
docker pull nginx@sha256:23e4dacbc60479fa7f23b3b8e18aad41bd8445706d0538b25ba1d575a6e2410b
Rainbow
Да, точно, RepoDigests[0] нужен
Vadim
там еще веселее - если запуллил этот имадж, то id == digest, а если сбилдил на этой ноде - то нет
Vadim
потому что докеровцы придумали свое особое кэширование
Dmytro
Мой поинт ещё был в том чтобы даже ну пушать новый тег если айди образа равно айди прошлого билда (latest)
Dmytro
а что, господа, кого уже кусала https://blog.quentin-machu.fr/2018/06/24/5-15s-dns-lookups-on-kubernetes/ как побеждали? что-то ни один workaround (и с шейпингом) не помогает
У меня сейчас во всех кластерах с 1.10 такая хрень, руки так и не дошли попробовать на coredns перейти :( У нас свой говновраппер вокруг копса и мне надо прежде чем собственно попробовать прокинуть новый флаг в духе use coredns через кучу абстракций
Rainbow
А есть идеи как можно задетектить, что docker build ничего не сделал без танцев с вытягиванием digest?
Dmytro
а как мейк шур что headless service на primary mongo указывать будет? писать же только в primary даст, или включать все реплики в connection string
Если приложение умное то в коннекшн стринге указать все 3 ноды репликасета и оно само через драйвер разрулит. У меня было тупое и пришлось написать primary discovery контейнер - кусок кода на баше который вешает на примари под лейбл role=primary (ну и соответственно есть сервис с этим лейблом в под селекторе)
Rainbow
Сравнить хеш нового образа и того что :latest в реджистри
это те самые танцы. И если build сервер один, то лезть в registry тоже 5-10сек
Rainbow
Сравнить хеш нового образа и того что :latest в реджистри
не в latest только же, а какой-то master, по веткам. Иначе будут мешаться друг другу
Rainbow
Враппер вокруг скриптов. Я нашел новое дно
gitlab autodevops не врапер вокруг скриптов?
Михаил
Ян
если еще не было
Ян
New Certified Docker Images + Kubernetes Scripts Simplify MariaDB Cloud Deployments https://mariadb.com/resources/blog/new-certified-docker-images-kubernetes-scripts-simplify-mariadb-cloud-deployments
Rainbow
Это просто говна кусок
слишком критично. Думаю паре тысяч людей он упрощает жизнь, т.е. хоть что-то да делает. так-то все Г, даже ASM x86
Rainbow
где то недавно была статья на хабре со смыслом "мы живем и делаем г на основе г"
Й
О, неужели пара здравых мыслей о нашей профессии
Yaros
@BaZZiliO да, купили энтерпрайз поддержку, разумеется. Серьезно топы решили 😊
Yaros
@BaZZiliO к скептическому, что "топы так решили". Вы написали, что ничего они не решили, ведь не купили же энтерпрайз поддержку. А на самом деле купили.
Yaros
Чатик, понимаю, что не совсем то место, но все же, может кто-то порекомендовать книгу по сетям хорошую? Можно на английском, пойдет. Либо скажите где спросить можно.
Øk_gø_løve
Возможно CCNA
Yaros
@BaZZiliO по сетям нужна какая-то фундаментальная книга для изучения сетей. С чего начинают будущие сетевые инженеры? Если Таненбаум пойдет и проблема только в не веселой подаче контента - вполне годится.
Yaros
Просто хочется выбрать хорошую книгу, прочесть ее, возможно не один раз - профит.
Yaros
@kvaps понял, спасибо. Речь ведь про это: https://habr.com/post/134892/ ?
𝚔𝚟𝚊𝚙𝚜
Да, оно самое
Øk_gø_løve
Что касается порядка запусков сервисов - в кубере, в частности в хелме, не существует порядка запуска. Только костыли типа init контейнеров
Øk_gø_løve
Если нет инит контейнера, то сервис должен понимать, что не все готово и падать
Dmytro
Давайте кубер в кубере запускать
Знаю минимум 3 конторы кто так и делает причём не для себя а на продажу
Dmytro
Предлагаю вам поебаться с хельмом, а потом зайти в OpenShift и оценить все прелести deployment configs и imagestreams
Уж лучше хелм чем поделие от редхата, хотя может кому и кобыла невеста... 2 года с хелмом живём и норм, а с опеншифтом поебался с коллегами и через менеджера послал всех нахуй и продавил копс на всю контору, причём команды юзавшие опеншифт тоже радостное на копс переехали
Dmytro
докладываю, IBU 16, ABV 4.5, OG 12
Судя по цифрам какой то унылый пилснер?
Dmytro
у меня пылает, когда по dd не удаляется строка
У идеи есть вим плагин для староверов - всё удалится
Dmytro
И опять, ну почемууу не запускать в ci/cd?
Хмм а если миграция бежит несколько часов/дней?
Dmytro
для куба продукты в бете это норма!
Нужно добавить в стикер пак!
Dmytro
{{- define "head-ingress.healthcheck.codes" -}} {{- range .Values.healthcheck.successCodes -}} {{- $noop := printf . | append $.codes | set $ "codes" -}} {{- end -}} {{- join "," $.codes -}} {{- end -}}
1. Дефайнить переменную перед range а не внутри 2. Делать printf в эту переменную дописывая в конец всё время
Dmytro
пока ещё думаю каким образом это все разрешить
Мы в нашем хелм враппере генерим имя чарта при установке с префиксом неймспейса
Dmytro
правильно ли разделять бэк и фронт на два разные чарты
Если они не зависят и можно раздельно деплоить (разные контейнеры в-частности) то вполне
Denis
HPA может есть?
Нет. Вообщем там трабл был в стратегии развертывания
Михаил
𝚔𝚟𝚊𝚙𝚜
Ага, и это
Stanislav
Может, сразу костыль и велосипед? :-)