Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
 Что обсуждали люди в 2024 году? Самое время вспомнить — через виммельбух Пикабу «Спрятано в 2024»! Печенька облегчит поиск предметов.

Спрятано в 2024

Поиск предметов, Казуальные

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Kubernetes

С этим тегом используют

IT DevOps IT юмор Все
51 пост сначала свежее
9
nekko
nekko
1 год назад
ДЕВОПСИНА

Мальчик VS Мужчина⁠⁠

Мальчик VS Мужчина Юмор, IT юмор, IT, Kubernetes, Картинка с текстом

Авторские IT мемы здесь: @devopsina

Показать полностью 1
[моё] Юмор IT юмор IT Kubernetes Картинка с текстом
5
108
stavropol
stavropol
1 год назад
IT-юмор

Если не отвлекаться, происходит то же самое⁠⁠

Если не отвлекаться, происходит то же самое IT юмор, Картинка с текстом, Мемы, Программирование, Kubernetes, Обучение

IT-юмор за 300

Показать полностью 1
IT юмор Картинка с текстом Мемы Программирование Kubernetes Обучение
3
6
gogobugogo
gogobugogo
1 год назад
Site Reliability Engineering
Серия SRE

Как создавать софт, как SRE⁠⁠

Перевод очень интересной статьи "How to Build Software like an SRE", в которой разбираются подходы к созданию приложений с точки зрения SRE.

Принципы надежности и компромиссы, усвоенные на собственном горьком опыте

Я занимаюсь этой “надежностью” уже некоторое время (около 5 лет), в компаниях, насчитывающих от 20 до более чем 2000 человек. Меня всегда в первую очередь всегда интересовали те элементы ПО, которые я описываю как живущие “вне” приложения — например, как приложение получает свою конфигурацию? На каких типах серверов оно запускается и являются ли эти типы наиболее подходящими? Что с ним происходит на пути от “кода в репозитории” до “запуска на проде”? И я всегда следил за тем, что мне нравится — какие механизмы позволяют быструю итерацию, а какие вызывают разочарование, какие приводят к сбоям, а какие предотвращают их.

Я думаю, что будет полезно, если я все это запишу, даже если это будет просто для меня в качестве справочника.

Обратите внимание, что этот список немного странный с точки зрения SRE. Моя цель не заключается в том, чтобы “построить все так, чтобы надежность была 100%”; это больше похоже на “как достичь 80% надежности, затратив 20% усилий, при этом позволяя разработчикам работать быстро”, что в конечном итоге дает нам систему, которая выглядит совсем по-другому. Но это стоит попробовать — если делать это хорошо, работа с продом становится интересной, а не уныло безопасной или ужасающе опасной.

Также, пожалуйста, сделайте мне одолжение и мысленно дополните каждый из следующих пунктов словом “обычно”. Каждая ситуация уникальна, и то, что я не сталкивался с тем, что (например) использование Git является плохой идеей, не означает, что такого случая не существует. “Только Ситхи всё возводят в абсолют”, и т.д.

Итак! Пройдя через всё это — вот как я бы начал все сначала, если бы мог.

Coding (параметры? да я их еле знаю!)

Никаких конфигов, зашитых в код. Если ваш сервис по какой-либо причине не может загрузить конфигурацию при запуске, он должен просто аварийно завершиться — этот случай гораздо проще диагностировать, чем результат того, что инстанс выполнил старый код, потому что никто не вспомнил о том, что нужно удалить строку config.get(enable_cool_new_thing, false).

Чрезвычайно строгие настройки RPC. Я говорю о нуле (или МОЖЕТ БЫТЬ одной) повторных попыток и таймауте, в 3 раза превышающем p⁹⁹. Здесь мы стремимся к предсказуемости, и многократные повторные попытки или длительные таймауты в качестве быстрого решения проблемы в работе сервиса превратятся в недельное расследование и головную боль через год. Исправьте неисправный сервис!

Никогда не отказывайтесь от локального тестирования. Это значительно сокращает время цикла разработки, чем необходимость полагаться (и возиться с этим) на CI или удаленные рабочие среды. Контейнеризация локальной тестовой среды может упростить управление зависимостями и обеспечить их переносимость между машинами.

Избегайте использования состояния как чумы. Управление сервисом с сохранением состояния (stateful) значительно сложнее, чем без сохранения состояния. Существует много хороших управляемых баз данных и кэшей, просто используйте один из них!

Merging (там, куда мы идем — тесты не нужны)

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

Не тратьте время на полное покрытие кода тестами. И вообще, не занимайтесь “расстановкой галочек” — это только для красивых графиков и диаграмм, которые имеют очень мало общего с тем, какую фактическую ценность дает ваше изменение (см. ниже).

Уделяйте приоритетное внимание тестам в реальных условиях. Самый ценный тест, который занимает меньше всего времени, — это просто применение вашего изменения на стейджинге (или, еще лучше, на проде!) и демонстрация того, что оно делает то, что вы хотели, и не ломает всё. На втором месте по эффективности находятся интеграционные тесты, а юнит-тесты идут последними — то есть, “только если у вас есть на них время”.

При изменениях в инфраструктуре делайте планы максимально ясными и очевидными. Это может означать “положить Terraform Plan как коммент к пуллреквесту”, так же сделайте с diff helm. Существуют отличные инструменты, позволяющие убедиться, что изменения, которые, по вашему мнению, вы вносите, являются теми изменениями, которые вы вносите на самом деле, поэтому убедитесь, что они находятся в центре внимания.

При внесении изменений в код делайте регрессии максимально очевидными. Журналы ошибок, использование ЦП и частота ошибочных запросов являются отличными сигналами, позволяющими выявить около 90% плохих версий и работают для практически любого сервиса (полностью универсальны). Так что не отбрасывайте их!

Deploying (no sleep til prod)

Используйте Docker. Это отраслевой стандарт не просто так — разбор зависимостей в средах с такими инструментами, как Chef или Ansible, всегда проигрывает этой приятной автономности.

Развертывайте всё и всегда. Каждый день, который проходит без вашего деплоя, увеличивает вероятность того, что он на самом деле был незаметно сломан (в результате чьего-то изменения, обновления зависимостей, удаления стороннего API), и через две недели будет очень трудно выяснить, что и где пошло не так.

Проверяйте развертывания по мере их выполнения. Можете ли вы создать полностью поврежденный образ и успешно разлить его на все машины? Почему? Это можно исправить несколькими способами, включая canary/shadow развертывания или даже просто хорошими readiness проверками.

Включите ограничение на “мгновенное” развертывание конфигов. Это может показаться нелогичным (“мгновенное” часто означает “сломать все сразу и быстро”), но возможность отключить проблемную функцию или заблокировать IP менее чем за 5 минут с лихвой компенсирует повышенный риск. Это позволяет всё делать быстро, но управлять этим нужно осторожно!

Operating (my god, it’s full of pods)

Используйте Kubernetes. Предполагая, что у вас есть более одного сервиса и более одного инстанса, вам либо нужны, либо будут нужны такие вещи, как обнаружение сервисов, автоматическое масштабирование и управление версиями развертывания, и вы не хотите управлять всем этим самостоятельно. Kubernetes дает командам инфраструктуры сверхспособности масштабирования.

Используйте Helm. Или какой-то другой инструмент для управления манифестами Kubernetes, я не привередлив — главное, чтобы вы никогда не использовали прямые команды kubectl apply, edit или delete. Жизненный цикл ресурсов должен быть доступен в системе контроля версий.

Избегайте операторов и CRD (Custom Resource Definition). Как уже упоминалось выше, я люблю Kubernetes, но для очень многих разработчиков он очень сложен, и пользовательские операторы резко уходят в область “Что это за херня?”, что создает ему сложную репутацию. Пусть все будет просто.

Запускайте по 3 экземпляра всего. Как и с резервными копиями, два экземпляра — это один, а один — не существует :) Кроме того, убедитесь (действительно проверьте на проде), что 2 из 3 “штук” могут справиться с полной нагрузкой самостоятельно — в противном случае у вас на самом деле нет такой устойчивости к сбоям, как вы думаете.

Структурированные логи — это неотъемлемая часть. Вместе с идентификаторами трассировки они позволяют вам пройти 90% пути к APM (application performance monitoring), но при гораздо меньших затратах и усилиях со стороны разработчиков.

Итак, это текущий список! Думаю, что буду периодически возвращаться сюда и добавлять что-то еще. Пожалуйста, не стесняйтесь обращаться ко мне, если что-то из этого особенно вас раздражает или если у вас есть ещё что-то, о чем бы вы хотели бы поговорить 😜

Показать полностью
[моё] Sre IT Kubernetes Docker Разработка Программирование Длиннопост Текст
0
9
pfsenses
pfsenses
1 год назад
Лига Сисадминов

Велосипеды - наше все...⁠⁠

Ну ок, раз снесли пост, процитирую выдержки из него здесь:

В прошлом посте я дал ссылку на статью на хабре. Решил поделиться здесь - потому что сама идея показалась мне забавной, плюс, местами были реализованы своеобразые решения:

Все началось с того, что нам понадобилась облачная платформа. Давайте посмотрим, какие задачи обычно решают облачные платформы. Если говорить совсем просто, то облако позволяет взять физические ресурсы ваших узлов (например, CPU, RAM или дисковое пространство) и нарезать из них виртуальные машины — по сути, виртуальные серверы, в которых будут запускаться те или иные рабочие нагрузки.

Казалось бы, нормальное решение, если бы они выбрали под свои нужды ту или иную облачную платформу, и реализовывали собтвенные хотелки на ней. Но, по видимому, это не путь джедая.

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

Вынесем за скобки то, что промышленные системы виртуализации, вроде той же vmware, имеют нативную поддержку кубера (vmware tanzu), и их использовать было бы более целесообразно. И даже опустим то, что запихнуть ВМ в контейнер целиком - крайне специфичное, нишевое решение.

Но некоторый реализованный функционал вызывает оторопь странными принятыми решениями, яркий пример которых ниже:

Велосипеды - наше все... IT, Kubernetes, Виртуализация, Habr, Дичь

Да, они определенными костылями добились того, что трафик идет только на один из них, но выглядит это настолько "надежно", что совать это в прод - я бы не рискнул.

А что думаете вы?

Показать полностью 1
IT Kubernetes Виртуализация Habr Дичь
6
DELETED
2 года назад

Памагите⁠⁠

Всем привет, пост без оценок.

Вопрос к знатокам и гуру кубернетеса. Пытаюсь разобраться в кубере и сталкиваюсь с некоторыми проблемами, например вопрос, я создал манифест файл с следующим содержанием:

apiVersion: apps/v1

kind: Deployment

metadata:

name: nginx-hello

labels:

app: nginx-hello

spec:

replicas: 1

selector:

matchLabels:

app: nginx-hello

template:

metadata:

labels:

app: nginx-hello

spec:

containers:

- name: nginx-hello

image: nginxdemos/hello

ports:

- containerPort: 80

---

apiVersion: v1

kind: Service

metadata:

name: nginx-app-service

spec:

type: NodePort

ports:

- port: 80

targetPort: 80

protocol: TCP

selector:

app: nginx-hello

в выводе команды kubectl get service получаю:

nginx-app-service NodePort 10.108.20.23 <none> 80:30438/TCP

Если кто знает, подскажите пожалуйста, почему кубер назначил мне порт 30438 по которому я могу достучатся до nginx из вне и могу ли я как то повлиять и назначить тот порт, который я сам хочу? Например хочу запустить в ноде какой нибудь контейнер и стучаться в него из внешней сети при наличии белого ip.

Прошу не кидаться какашками и не отправлять читать мануалы, но если хочется, то кидайтесь и отправляйте конечно)

ps: Если кто-то посоветует литературу или ресурсы по куберу для тупых, напишите пожалуйста.

Показать полностью
[моё] IT Kubernetes Linux Без рейтинга Текст
7
Pikinka
2 года назад

Coredns не резолвит имена с частного dns сервера⁠⁠

Coredns не хочет резолвить имена с моего dns сервера, dnsutils пингует сервер, так же могу сделать nslookup name ip_dns_server, все проходит(серверкластер видит, может ходить, если заставить так, однако по-умолчанию он не видит имена на моем dns, в гугл ходит нормально ), но изнутри пода dig не резолвит имя даже, что может быть за прикол, кластер чистый, ставил через kubespray, что это может быть такое,спасибо за помощь

Kubernetes DevOps Текст
4
Аноним
Аноним
2 года назад

Ищу ментора по Kubernetes⁠⁠

Посмотрел курсы от слерма на ютубе, в целом все понятно. Ищу ментора, который поможет запустить на локальном кубе который идет с докером приложение
https://meet.google.com/rup-ejri-ypa
В гугл мите буду около часа

[моё] IT Kubernetes Менторство Ментор Текст
2
Партнёрский материал Реклама
specials
specials

Раз проценты, два проценты⁠⁠

Звучит приятно, если речь о выгоде и начисленном кешбэке. Сделали самый приятный калькулятор, который считает исключительно выгоду!

Реклама Реклама. ПАО «Банк ВТБ», ИНН: 7702070139

Калькулятор Выгода
281
YourNewWorld
YourNewWorld
2 года назад
IT-юмор

Краткий курс DevOps⁠⁠

Краткий курс DevOps
[моё] Юмор Kubernetes Мемы Докер
28
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии