Kubevious — это революционная панель управления Kubernetes, намного функциональнее существующих аналогов. Она имеет множество интересных функций, но в этой статье мы сосредоточимся на описании мощного механизма правил, который позволяет вам находить и группировать ресурсы Kubernetes для решения поставленной задачи.
Антипаттерны деплоя в Kubernetes. Часть 2
Перед вами вторая часть руководства по антипаттернам деплоя в Kubernetes.
В этой статье не просто перечислены известные антипаттерны деплоя в Kubernetes, но и предлагаются соответствующие решения. Вы можете проверить ваши процессы развёртывания и исправить существующие проблемы без поиска дополнительной информации.
Теперь вы сможете составить полную картину того, как создать образ контейнера и как правильно его развернуть (при этом избежав некоторых распространенных ошибок).
Обратите внимание, что это руководство посвящено развёртыванию приложений в Kubernetes, но не затрагивает настройку самих кластеров Kubernetes. Предполагается, что кластер Kubernetes уже развёрнут, правильно настроен и вы просто хотите развернуть в нём ваше приложение.
Рациональное использование ресурсов в Kubernetes
Одна из важных задач при работе с Kubernetes - рациональное распределение ресурсов. Для этого необходимо правильно назначать контейнерам лимиты(limits) и запросы (requests). Но это не всегда простая задача.
Может возникнуть ситуация, при которой, вы зарезервировали намного больше ресурсов, чем необходимо приложению, потому что хотите избежать проблем связанных с исчерпывается памяти в контейнерах или возникновения троттлинга ЦП. В таком случае вам придётся оплачивать неиспользуемые ресурсы. Учтите, что планировщику Kubernetes будет сложнее найти подходящий узел для таких рабочих нагрузок.
Эта статья поможет разобраться, как быстро находить неиспользуемые ресурсы с помощью PromQL.
Реверс-инжиниринг QR-кода для доказательства вакцинации
Когда Квебек объявил, что будет рассылать электронные письма с подтверждением вакцинации всем, кто был вакцинирован с помощью прикрепленного QR-кода, у меня немного подкосились колени. Мне не терпелось разобрать его на части и покачать головой из-за количества частной медицинской информации, которая, несомненно, будет раскрыта в процессе.
Наконец-то пришло мое подтверждение вакцинации, и результат… вообще-то неплохой. Тем не менее, в хаках с нулевым разглашением всегда есть какое-то удовольствие, поэтому я все равно решил написать о своем опыте в блоге.
Мое первое впечатление было: «Боже мой, это излишне большой QR-код». Под QR-кодом перечислено не так много информации, поэтому они наверняка кодируют все виды личной информации без моего ведома. Знаете, как тот штрих-код на обратной стороне ваших водительских прав.
Естественно, первое, что я сделал, — отсканировал код с помощью приложения QRcode.
Либо быстро, либо неправильно
В 2018 году я упражнялся на Advent of Code (здесь вы можете посмотреть стримы моих решений). Каждый день в декабре они публикуют небольшую проблему, и вы должны написать программу, которая её решит. Обычно это занимает от пары минут до пары часов и это довольно весело, я рекомендую вам попробовать. Когда задача выполнена, она всегда доступна, не только в декабре.
Я понял, что есть два типа решений: те, которые могут вычислить ответ за пару миллисекунд, и те, которые будут считать ответ несколько лет. Если у вас получился второй вариант, вы делаете что-то неправильно. Нет смысла ждать, хотя, технически, это тоже может быть правильным.
Еще одно интересное наблюдение заключается в том, что не имеет значения, какое оборудование вы используете для запуска. Если решение будет быстрым, оно будет быстрым как на ноутбуке, так и на прокаченной рабочей станции. Конечно, это может быть в два или три раза медленнее, но разница будет между 10 мс и 30 мс. Вы все равно получите свой ответ, так что это не имеет особого значения.
С другой стороны, если решение медленное, вы можете использовать любую вычислительную мощность, и ее все равно будет недостаточно. Это могло бы сократить время работы с трех лет (на ноутбуке) до одного года (на самом мощном компьютере, который я только могу собрать). Какая разница? Все равно слишком долго.
Теперь перейдем к программному обеспечению. Легко назвать решения Advent Of Code ошибочными, когда они медленные, поскольку мы знаем, что быстрое решение должно существовать. С реальными проблемами никто этого не гарантирует.
За исключением некоторых случаев.
Собственно, довольно часто.
На самом деле, я бы сказал, почти всегда.
Истории
Клавиатура Squeezebox
- Раздельная конструкция
- Ровные столбцы клавиш
- Настраиваемые под пользователя смещения столбцов
- Настраиваемые под каждый палец вертикальные смещения
- Кластер под большие пальцы с 6 клавишами
Раздельная клавиатура Squeezebox
Происхождение цитаты: «Компьютерные науки — это не науки о компьютерах, так же как астрономия — не наука о телескопах»
Телескоп «Хаббл».
- Computer Science — это не наука о компьютерах, так же как астрономия — не наука о телескопах
- Биология — это не микроскопы, а Computer Science — это не компьютеры.
- «Computer Science» — ужасное название. Астрономию не называют «наукой о телескопах», а биологию — «наукой о микроскопах».
Эти цитаты приписывают голландскому ученому в области компьютерных наук Эдсгеру В. Дейкстре. Каково происхождение этих цитат?
Quote Investigator: Самое раннее близкое совпадение, обнаруженное QI, появилось в 1986 году в книге научного журналиста Джорджа Джонсона «Machinery of the Mind: Inside the New Science of Artificial Intelligence». Атрибуция была анонимной. Жирным шрифтом добавлены отрывки:
Возможность науки, в которой весь мир мыслится с помощью вычислений, представляет изучение компьютеров в новом важном свете. Как любят говорить специалисты-практики, компьютерные науки — это не про компьютеры, так же как астрономия — это не про телескопы, а биология — не про микроскопы. Эти устройства являются инструментами для наблюдения за мирами, которые иначе недоступны. Компьютер — это инструмент для исследования мира сложных процессов, независимо от того, связаны ли они с клетками, звездами или человеческим разумом.
Это высказывание было трудно отследить, и эта статья представляет собой лишь краткий обзор текущих исследований. Есть свидетельства того, что основная идея возникла в 1960-х и 1970-х годах, но первоначальные формулировки не были краткими и прямыми.
Ниже приведены дополнительные избранные цитаты в хронологическом порядке.
Лаконичный итератор для декларативного синтаксиса
Итератор (от англ. iterator ― перечислитель) — интерфейс, предоставляющий доступ к элементам коллекции (массива или контейнера) и навигацию по ним. В различных системах итераторы могут иметь разные общепринятые названия. В терминах систем управления базами данных итераторы называются курсорами.
В продолжение темы разработки языка программирования с необычной концепцией, публикую описание итератора для доступа к данным в декларативном стиле с очень лаконичным синтаксисом.
Ну и судя по моим наблюдениям Хабр — ума палата, буду рад любым комментариям и предложениям, которые помогут протестировать или улучшить предлагаемое решение.
Необычные подходы к охлаждению дата-центров
Охлаждение оборудования — задача, как известно, важная и нужная. Прогресс не стоит на месте и ищет лазейки для новых эффективных решений, если не сказать открытий!
Решили порадовать вас подборкой неординарных подходов для охлаждения дата-центров:
• майнинговая ферма в Сибири,
• подводный дата-центр компании Microsoft возле Шотландии,
• и даже охлаждение серверов в масляной ванне!
Ученые взглянули на атомы в рекордном разрешении
На скриншоте видно изображение кристалла PrScO3, увеличенное в 100 миллионов раз. Оно получено с помощью электронной птихографии
В 2018 году ученые из Корнелла построили мощное устройство, которое вкупе с техникой сканирования под названием птихография, позволило установить новый мировой рекорд. Они взглянули на атомы в более высоком разрешении, чем позволяли на тот момент лучшие в мире электронные микроскопы.
Несмотря на успех, которого добились исследователи, у их подхода был важный недостаток. Их методика работала только с очень тонкими слоями материалов (не более нескольких атомов в толщину). Любой более толстый образец приводил к тому, что электроны «рассеивались», и их невозможно было хоть как-то анализировать.
Хакаем переносные кондиционеры воздуха
В апреле 2020 года я приобрёл пару напольных кондиционеров воздуха EdgeStar AP14001HS, потому что думал, что проведу бОльшую часть лета в помещении. У себя дома я не могу установить оконные кондиционеры, хотя по эффективности они были бы очевидным выбором, ведь все нагревающиеся части остаются снаружи.
Похожие модели
Судя по фотографиям из Интернета, похожей конструкцией обладают следующие кондиционеры:
- EdgeStar AP14001HS
- Whynter ARC-14S
- Whynter ARC-14SH
- Whynter ARC-141BG
- Whynter ARC-143MX
Не могу сказать, насколько они одинаковы, но содержание этой статьи, возможно, применимо и к ним.
Сеть контейнеров — это не сложно
Работа с контейнерами многим кажется волшебством, пришло время разобраться как работает сеть Docker. Мы покажем на примерах, что это совсем не сложно. Нам потребуется немного сетевой магии и никакого кода...
В этой статье мы ответим на следующие вопросы:
• Как виртуализировать сетевые ресурсы, чтобы контейнеры думали, что у каждого из них есть выделенный сетевой стек?
• Как превратить контейнеры в дружелюбных соседей, не дать им мешать друг другу и научить хорошо общаться?
• Как настроить сетевой доступ из контейнера во внешний мир (например, в Интернет)?
• Как получить доступ к контейнерам, работающим на сервере, из внешнего мира (публикация портов)?
Начинается космическая эпоха ISRU
Страшновато выглядящая аббревиатура ISRU (In-Situ Resource Utilization) переводится как “использование местных ресурсов”. Может быть, в русском языке станет привычной аббревиатура ИМР, а может, и нет. Она означает добычу и производство нужных ресурсов, топлива, строительных материалов, воды и кислорода для людей, из местных - лунных, марсианских или астероидных материалов, вместо того, чтобы везти все с Земли. В 2021 году первый демонстратор технологии успешно начал работать на Марсе, запланированы новые миссии, и на Земле испытываются разнообразные прототипы.
Необычная концепция синтаксиса языка программирования
Хочу представить на обсуждение читателей немного необычный концепт языка программирования, в котором отсутствует проблема, присущая практически всем промышленным языкам — постоянное увеличение сложности синтаксиса языка из-за его естественного развития по мере выхода новых версий и добавления новых фич. Эта проблема описана в материале Простое сложное программирование и Какая «идеальная» цель развития у языков программирования?
После нескольких экспериментов с синтаксисом, хочется проверить выработанную идею на широкой аудитории Хабра, которая как нельзя лучше подходит для этих целей.
Особенности языка:
- Низкий порог входа и естественное ограничение уровня сложности в течение длительного времени даже при условии постоянного развития самого языка.
- Возможность писать код программы как в декларативной, так и в императивной парадигме с использованием процедурного, модульного и объектно-ориентированного подхода.
Ну и в соответствии с собственным наблюдением Хабр — ума палата, буду рад любым комментариям и предложениям, которые помогут протестировать или улучшить предлагаемое решение.
Ближайшие события
Настройка распределенной трассировки в Kubernetes с OpenTracing, Jaeger и Ingress-NGINX
В эпоху, когда крупные компании используют более 500 микросервисов одновременно, важно иметь возможность быстро выяснить, из-за чего произошел сбой или снизилась производительность. Без специализированных инструментов это может быть похоже на поиск соломинки в стоге сена.
Распределённая трассировка (Distributed Tracing) - это метод, используемый для мониторинга приложений. Для микросервисов он просто незаменим.
В качестве примера мы будем использовать приложение Meow-Micro , специально созданное для этой статьи. Но вы можете развернуть собственные приложения, если захотите.
Грязные трюки видеоигр
Бретт Дувилл, LucasArts
В начале 2002 года мы подготавливали Star Wars: Jedi Starfighter к передаче Sony для проверки. У нас оставался один пустячный баг TCR: при загрузке катсцен после миссий отключалась работа аналогового стика контроллера, что приводило и к отключению красного индикатора в центре контроллера. Этот баг проявился, когда мы обновились до версии библиотеки, которую требовала Sony, а программист, который писал и код загрузки видеороликов, и логику процессора ввода-вывода для контроллера, уволился из LucasArts за несколько месяцев до этого.
Надеясь быстро сузить поиски причины проблемы в коде, который я не понимал, я вставил семь сбросов экрана разных цветов в те фрагменты кода, которые, по моему мнению, были вероятным источником проблем. Я думал, что это, по крайней мере, сузит поиски до одного-двух фрагментов кода: цвет экрана покажет, какой код выполняется при отключении аналогового управления. Но когда я попытался воспроизвести баг, он исчез.
Существует старое выражение: если ты не понимаешь причины, то нельзя утверждать, что ты устранил баг. В данном случае у нас оставалось два-три дня до даты передачи игры Sony, и опоздание оказалось бы серьёзной проблемой. Поэтому я изменил все цвета сброса экрана на чёрный, пометил баг как устранённый и умыл руки. Мы выпустили игру вовремя, и никакие баги TCR больше не появлялись.
Антипаттерны деплоя в Kubernetes. Часть 1
В предыдущей статье 10 Docker anti-patterns мы рассказали о популярных ошибках при создании образов контейнеров. Однако создание образов для вашего приложения - это только половина дела. Вам нужен способ развёртывания этих контейнеров в производственной среде. Использование кластеров Kubernetes для решения этой задачи уже стало стандартом.
Представляем аналогичное руководство для Kubernetes. Теперь вы сможете составить полную картину того, как создать образ контейнера и как правильно его развернуть (при этом избежав некоторых распространенных ошибок).
Обратите внимание, что это руководство посвящено развёртыванию приложений в Kubernetes, но не затрагивает настройку самих кластеров Kubernetes. Предполагается, что кластер Kubernetes уже развёрнут, правильно настроен и вы просто хотите развернуть в нём ваше приложение.
В этой статье не просто перечислены известные антипаттерны деплоя в Kubernetes, но и предлагаются соответствующие решения. Вы можете проверить ваши процессы развёртывания и исправить существующие проблемы без поиска дополнительной информации.
Дождались: IBM научит ИИ писать код и создает CodeNet
Процент представлений по языку (слева) и по статусу (справа).
- Датасет содержит 13 916 868 представлений, разделенных на 4053 задачи, у пяти из которых нет представлений.
- Часть датасета была собрана на основе представлений на конкурсе Google Code Jam с 2008 по 2020 год.
- 53,6% (7 460 588) представлений принято, 29,5% помечены как «неправильный ответ», а остальные отклонены из-за несоответствия времени выполнения или требования к памяти.
- Набор данных содержит материалы на 55 разных языках; 95% из них написан на C ++, Python, Java, C, Ruby и C#.
- C++ — самый распространенный язык с 8 008 527 представлениями (57% от общего количества), из которых принято 4 353 049.
«Софт ест мир», — написал американский предприниматель Марк Андриссен в 2011 году. Перенесемся в наши дни — программное обеспечение используется в финансовых услугах и здравоохранении, смартфонах и умных домах. Сегодня даже автомобили содержат более 100 миллионов строк кода.
Однако такие большие объемы кода сложно отлаживать, поддерживать и обновлять, особенно когда предприятия стремятся модернизировать свою устаревшую программную инфраструктуру. В результате мы находимся в новой эпохе, когда важно использовать преимущества современных технологий, таких как искусственный интеллект и гибридное облако, для создания новых решений, которые могут модернизировать процессы в конвейере информационных технологий.
Зайдите на Project CodeNet. Большой набор данных, предназначенный для обучения искусственного интеллекта программированию, он состоит из примерно 14 миллионов примеров кода и около 500 миллионов строк кода на более чем 55 различных языках программирования, от современных, таких как C++, Java, Python и Go, до устаревших языков, таких как COBOL, Pascal и Fortran.
Но чтобы понять значение этого набора данных, мы должны сначала посмотреть в прошлое.
Кори Доктроу: Метод Memex
Прим. пер.: Я делаю проект Ontol (Github для знаний/мудрости), на который меня вдохновили, в том числе и, мысли Ванневара Буша про Memex. Memex ускоряет в десятки и сотни раз работу ученых, сокращая трение и время доступа к научной информации, Ontol призван в 100 раз сократить трение и время доступа к информации, которая формирует адекватное мировоззрение. (Канал в телеграм: t.me/ontol)
Я веду блог чуть больше 20 лет и за это время написал чуть больше 20 книг: романы для взрослых, романы для подростков, сборники рассказов, сборники сочинений, графические романы для взрослых, старшеклассников и школьников; книжка с картинками для маленьких детей и научно-популярная литература на разные темы. Я написал и выступил с несколькими сотнями лекций для различных категорий технической и нетехнической аудитории, а также для маленьких детей и подростков.
За тот же период я опубликовал многие миллионы статей в форме сообщений в блоге. Ведение блога не только не конкурировало с моим «серьезным» писательским временем, но и позволило мне написать объективно большое количество хорошо оцененной, коммерчески и критически успешной прозы, которая настолько порадовала многих читателей, что они были вынуждены рассказать мне об этом — я вдохновляю некоторых читателей переосмыслить свою карьеру и жизнь на основе того, что мои работы заставили их чувствовать.
Существует версия истории о том, «почему писатели должны вести блог», безвкусная и корыстная: «Блог, — гласит история, — и вы создадите бренд и платформу, которые сможете использовать для продвижения своей работы».
Практически каждое предложение, содержащее слово «бренд» — чушь собачья, и это не исключение.
Как бороться с грязным исподним в космосе?
Выход в космос — одно из важнейших событий в карьере космонавта. Но его омрачает маленькая деталь: надевая скафандр, приходится надевать и специальное «нижнее белье», которое уже использовалось несколько раз. Европейское космическое агентство ищет способ наиболее эффективно очистить это космическое исподнее, чтобы космонавты путешествовали за пределы планеты в чистом одеянии.
В эпоху Space Shuttle каждому астронавту выдавали индивидуальный скафандр со всеми необходимыми принадлежностями. Но экипаж МКС перешел на использование общих защитных костюмов, которые поделены на отдельные части, подходящие по размеру отдельно взятым членам команды.
Первое, что на себя надевают астронавты перед выходом в открытый космос — впитывающее белье (что-то в духе подгузника), термобелье и систему жидкостного охлаждения. Последняя представляет собой панталоны с ночной рубашкой и набор трубок с охлаждающей жидкостью, которые помогают поддерживать комфортную температуру для человека, подвергающегося длительной физической нагрузке при работе в вакууме. Эта система называется LCVG (Liquid Cooling and Ventilation Garment).
LCVG не принадлежат конкретному члену экипажа МКС. Их, как и скафандры, носят поочередно, причем с каждой космической миссией все чаще и чаще.
В связи с этим ЕКА запустили инициативу под названием BACTeRMA. Это технология покрытия тканей, призванная сократить активность бактерий на поверхности.
«Космическая одежда, подверженная влиянию бактерий (в частности нижнее белье), без должной гигиены может привести к проблемам со здоровьем, особенно в ходе длительных миссий», — сообщает один из инженеров ЕКА Малгожата Холынска (Malgorzata Holynska).
Информация
- Сайт
- timeweb.cloud
- Дата регистрации
- Дата основания
- Численность
- 201–500 человек
- Местоположение
- Россия
- Представитель
- Timeweb Cloud