HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-19
1 <p>Когда что-то ломается в k8s, нельзя просто взять, посмотреть логи и найти проблему. Сначала вы ничего не понимаете, потом пьёте кофе, потом уходите на созвон, затем до вечера копаетесь с проблемой, и только на следующий день приходите к идее, которая оказывается шагом в правильном направлении.</p>
1 <p>Когда что-то ломается в k8s, нельзя просто взять, посмотреть логи и найти проблему. Сначала вы ничего не понимаете, потом пьёте кофе, потом уходите на созвон, затем до вечера копаетесь с проблемой, и только на следующий день приходите к идее, которая оказывается шагом в правильном направлении.</p>
2 <p>Вот несколько советов, которые помогут облегчить процесс поиска 👉</p>
2 <p>Вот несколько советов, которые помогут облегчить процесс поиска 👉</p>
3 <p><strong>Не откладывайте сбор логов и событий</strong></p>
3 <p><strong>Не откладывайте сбор логов и событий</strong></p>
4 <p>Они могут быть затерты, если не настроено сохранение в долгосрочное хранилище. Если проблема плавающая, лучше сразу сохранить себе kubectl logs, kubectl get events, kubectl describe pod и так далее, чтобы потом спокойно разбираться, даже если сервис уже перезапустился и стабильно работает.</p>
4 <p>Они могут быть затерты, если не настроено сохранение в долгосрочное хранилище. Если проблема плавающая, лучше сразу сохранить себе kubectl logs, kubectl get events, kubectl describe pod и так далее, чтобы потом спокойно разбираться, даже если сервис уже перезапустился и стабильно работает.</p>
5 <p><strong>Не забывайте отключать под от продового трафика, если начинаете копошиться в нем через kubectl exec, чтобы случайно не поломать все клиентам</strong></p>
5 <p><strong>Не забывайте отключать под от продового трафика, если начинаете копошиться в нем через kubectl exec, чтобы случайно не поломать все клиентам</strong></p>
6 <p>Оно, конечно, работает только в ограниченном количестве случаев, когда у вас, например, php и можно на ходу поправить код. Сделать это можно, только очень осторожно, через редактирование endpoints. Это сущность в k8s, которая указывает service, по каким адресам доступны поды. Операция относительно безвредная, потому что трафик перестанет идти на под, который будем препарировать. Потом просто удалите под и deployment его пересоздаст. Это вмешательство во внутреннюю логику k8s и может сломать вам сервис. You have been warned.</p>
6 <p>Оно, конечно, работает только в ограниченном количестве случаев, когда у вас, например, php и можно на ходу поправить код. Сделать это можно, только очень осторожно, через редактирование endpoints. Это сущность в k8s, которая указывает service, по каким адресам доступны поды. Операция относительно безвредная, потому что трафик перестанет идти на под, который будем препарировать. Потом просто удалите под и deployment его пересоздаст. Это вмешательство во внутреннюю логику k8s и может сломать вам сервис. You have been warned.</p>
7 <p><strong>Если вы еще не используете в сервисах динамически настраиваемые feature flags, обязательно разберитесь.</strong></p>
7 <p><strong>Если вы еще не используете в сервисах динамически настраиваемые feature flags, обязательно разберитесь.</strong></p>
8 <p>Это экономит много времени в итоге и позволяет с большей уверенностью выкатывать изменения в прод, зная, что их легко очень быстро выключить без нового деплоя. Это не значит, что код надо писать абы как, потому что фича флаги все порешают).</p>
8 <p>Это экономит много времени в итоге и позволяет с большей уверенностью выкатывать изменения в прод, зная, что их легко очень быстро выключить без нового деплоя. Это не значит, что код надо писать абы как, потому что фича флаги все порешают).</p>
9 <p><strong>Не уверены? Киньте детали всех ошибок и вывод всех команд в chatgpt и попросите разрулить (научитесь писать хорошие промпты)</strong></p>
9 <p><strong>Не уверены? Киньте детали всех ошибок и вывод всех команд в chatgpt и попросите разрулить (научитесь писать хорошие промпты)</strong></p>
10 <p>Только учтите предварительно, что нужно будет вычистить все детали: ссылки на образы, названия env переменных, публичные IP адреса, user_id из логов, и так далее, если по ним можно понять, какая компания и какой сервис это. Все, что вы отправите в интернет, будет использовано против вас.</p>
10 <p>Только учтите предварительно, что нужно будет вычистить все детали: ссылки на образы, названия env переменных, публичные IP адреса, user_id из логов, и так далее, если по ним можно понять, какая компания и какой сервис это. Все, что вы отправите в интернет, будет использовано против вас.</p>
11 <p>Больше советов и полезных материалов (а также фоток кота и историй о релокации) - в канале<strong><a>"Kubernetes и кот Лихачева".</a></strong></p>
11 <p>Больше советов и полезных материалов (а также фоток кота и историй о релокации) - в канале<strong><a>"Kubernetes и кот Лихачева".</a></strong></p>
12 <p>2025-04-07 15:00<a>Kubernetes</a></p>
12 <p>2025-04-07 15:00<a>Kubernetes</a></p>