172 похожих чатов

Есть дев кластер, туда был совершён путём kubectl patch деплой

нового image, в под из двух реплик. Одна реплика заработала нормально, а другая нет. "Вскрытие" второго контейнера показало, что в нём пустой файл конфига веб сервера. Этот конфиг перезаписывается на этапе сборки образа (докер команда COPY) в последнем слое. Поскольку оба контейнера (реплики) используют один и тот же образ, возникает вопрос - какого лешего не загрузился этот слой в контейнер при его запуске?

23 ответов

21 просмотр

а в первой реплике непустой?

Юрий- Автор вопроса
Andrey Kartashov
а в первой реплике непустой?

Да. Проблема устранена удалением кривого пода.

Юрий- Автор вопроса
Юрий
Образ в порядке

проверь в статусе (или в describe) пода, что образ правильный используется, там должен быть sha образа

Юрий
Сверял, совпадают

то есть в образе файл непустой, в работающем поде на этому образе файл пустой? не верю.

Юрий- Автор вопроса
Andrey Kartashov
то есть в образе файл непустой, в работающем поде ...

Образ состоит из слоёв, собираемых kaniko на этапе билда. Копирование конфига - последний из шагов docker файла, после него идёт заливка в регистри (гитлаб). После этого делается патч image в деплойменте, чтобы запустить новые поды с новым образом. И тут вдруг впервые за год наблюдается такая вот интересная история - не загрузился один (последний) слой образа (в одном из двух контейнеров)

Юрий
Образ состоит из слоёв, собираемых kaniko на этап...

Docker login? Может тут , недавно такая проблема была

Юрий- Автор вопроса
Vitaliy Davidov
Docker login? Может тут , недавно такая проблема б...

Единственное что мне приходит в голову - гитлаб забанил айпи как раз перед скачиванием последнего слоя, но почему k8s не запаниковал и запустил контейнер с недокачаным образом... если было так

Юрий- Автор вопроса

Тут интересно, у него три рестарта было, но код 255, непонятно что это значит. Ну и после этих рестартов оно работало почти час пока я разбирался что за нах

у тебя бы оно тогда с imagepullerror свалилось. Я тебе говорю, у тебя образ не тот.

Юрий- Автор вопроса
Andrey Kartashov
у тебя бы оно тогда с imagepullerror свалилось. Я ...

Оно и валилось, только на деплое другого сервиса

ты уже там у себя разберись, где что валилось сначала. Если в образе есть файл, значит он и в контейнере есть. Вероятность сбоя в этом месте намного меньше вероятности твоего косяка

Юрий- Автор вопроса
Andrey Kartashov
ты уже там у себя разберись, где что валилось снач...

Вы вообще-то забываете, что образ - не один файл и у него есть слои. Не загрузился один слой из пачки. Поэтому получился образ с пустым файлом в контейнере. Причина почему такой под запустился, а не вылезла ошибка errpullimage, остаётся непонятной

Юрий
Вы вообще-то забываете, что образ - не один файл ...

я ничего не забываю. Загрузка образа требует загрузки всех его слоёв. Если у тебя загрузка завершилась успешно без загрузки одного слоя - то ты нашёл очень маловероятный баг.

Юрий
Вы вообще-то забываете, что образ - не один файл ...

Звучит странно - по идее если слой не скачался архив не развернется и ничего не запустится

Юрий- Автор вопроса
Aleksey Lazarev
Звучит странно - по идее если слой не скачался арх...

Я тоже так думал, но тут налицо был факт такого события)

Юрий
Вы вообще-то забываете, что образ - не один файл ...

никогда такого не видел, если хотя бы один слой не скачался, пусть он даже пару байт занимает, контейнер не запустится вообще

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта