Andrey
похоже, что сразу
Andrey
печаль
Andor
а не калико?
Vladimir
хз, никогда не юзал kubeadm
Maksim
Roman
в кубадм вообще нет дефолта, он не ставит сеть
Roman
calico 👍
Vladimir
в кубадм вообще нет дефолта, он не ставит сеть
ага
Set /proc/sys/net/bridge/bridge-nf-call-iptables to 1 by running sysctl net.bridge.bridge-nf-call-iptables=1 to pass bridged IPv4 traffic to iptables’ chains. This is a requirement for some CNI plugins to work, for more information please see here.
@alchazov вот это запилил?
Alexey
Andrey
нужен совет по обновлению деплоя. Текущий пайплайн реализован так:
1. Обновляем образ: kubectl set image deploy/app app=appimage:newtag
2. Ждём статуса kubectl rollout status deploy/app
3. Если статус Completed - завершаемся
4. Если статус Failed - kubectl rollout undo deploy/app
Теперь мне надо вставить в пайплайн миграции, которые могут быть несовместимы с текущей версией. Соответственно я предполагал сделать так:
1. Выключаем деплой масштабированием в 0: kubectl scale deploy/app —replicas=0
2. Делаем бэкап базы
3. Делаем миграции
4. Обновляем образ: kubectl set image deploy/app app=appimage:newtag
5. Включаем деплой масштабированием в 1 (далее hpa поднимет выше, если надо): kubectl scale deploy/app —replicas=1
6. Проверяем статус ????
7. Если всё хорошо, завершаемся
8. Если всё плохо, проворачиваем назад
Вопрос возникает на шаге 6: я уже не могу использовать rollout status, потому что при количестве реплик 0 он сразу возвращает Completed
Andor
но ведь это же с даунтаймом?
Andrey
да, даунтайм приемлем
Andor
и если ты сделаешь руками scale 0 то HPA тебе вернёт обратно до минимального
Andrey
нет
Andor
у меня возвращал
Andor
кубер 1.8
Andrey
а у меня не возвращает
Andrey
https://github.com/kubernetes/kubernetes/pull/29212/commits/c5e82a01b15136141801ba93de810fdf3165086b
Andor
прикольно тебе
Andor
вообще не возвращает или какое-то время?
Andrey
вообще
Andrey
это новая фича hpa
Andor
хм
Andor
написано в 2016 замёржено
Andrey
у вас наверное уже тоже не возвращает - легко проверить
Andrey
я минут 5 назад проверил
Andrey
kubectl describe hpa ...
...
ScalingActive False ScalingDisabled scaling is disabled since the replica count of the target is zero
Andrey
вобщем вопрос остаётся. Чем же заменить rollout status? Ну или как делать scale+set image атомарно, чтоб rollout начался по честному
Andrey
как вариант, можно один под вне деплоя запустить, с restart=Never, наверное, и посмотреть, как оно
Andrey
чёт я теряюсь
Alexey
Да. 1 в параметрах
видимо какая то хрень с iptables
после сброса правил - все завелось
только сейчас вопрос: как правильно настроить правила в фаерволе 🙁
systemctl stop kubelet
systemctl stop docker
iptables --flush
iptables -tnat --flush
systemctl start kubelet
systemctl start docker
Andrey
Andor
А почему сначала кубелет, а потом докер запускаешь?
Dmytro
Выглядит мегакостыльно, может лучше сразу научить девелоперов делать 3 step migrations?
Dmytro
Бекап базы, рестор, даунтайм вот это всё
Dmytro
А если ошибка при ресторе базы то что делать? И ещё куча подобных вопросов
Andrey
господа, а как использование дисков конкретными подами мониторить? с местом разобрался, а вот IOPS не знаю, как получить
Andrey
Andrey
Andrey
опять же, ошибки надо обрабатывать
Slava
помогите советом: есть два деплоймента (postgresql, httpd) и сервисы под оба деплоймента, для postgresql (port 5432) назначается endpoint, для httpd (port 80) - нет. куда копать?
Andrey
селекторы проверь у сервиса
Slava
кофиги идентичны, только name и label отличаются
Slava
Andrey
a readiness probe под проходит?
Slava
то есть успевает ли у pod наступить статус Ready=true ?
Slava
Если readiness probe не наступает, в какую сторону дальше копать? Сам сервер внутри пода работает, если что: wget http://localhost/test_file отдаёт файлик
Andrey
Andrey
Извне его помучай, из другого пода там
Slava
Так postgresql точно так же поднял - работает
Slava
Slava
Но nslookup выдаёт инфу по хостнэйму
Andrey
Ты запрос на сервак сам извне сделай
Dmytro
Из другого пода ничего не увидишь если он нот реди
Dmytro
Попробуй тот же контейнер запусти локально и извне контейнера дернуть урл
Andrey
Andrey
Я это имел ввиду
Slava
А причина непонятна
Andrey
Или по ip его, не суть важно
Slava
Andrey
Да
Slava
Не пингует)
Andrey
Вгетом запрос
Slava
То же самое
Andrey
Вооо
Slava
причина?)
Andrey
Кривая конфигурация сервера, который слушает на loopback-интерфейсе
Slava
Хм
Slava
То есть смотреть в сам докер-образ?
Andrey
В конфиг сервака, с которого ты получаешь файло
Slava
создал под на основе другого образа (nginx) - поведение такое же.
НО: из другого пода мой таргет-под пингуется по IP пода (192.168.77.52), по ClusterIP (10.101.201.233) пинга нет, nslookup резолвит сервис по имени и даёт ClusterIP
Andrey
ClusterIP - это адрес сервиса
Andrey
Бери адрес пода
Slava
теперь задача: есть сервисА, и ему надо видеть nginx по хостнейму, для этого поднимаю service для nginx-пода, но пинга нет
Slava
или мне сервис не нужен для этих целей?
Slava
вопрос: а если ужо есть системный (kube-system) сервис на 80-м порту, то может ли быть это причиной?