Как солить жереха целиком: Как засолить жереха в домашних условиях? Как солить его целиком для сушки? Засолка икры. Рецепт малосольной рыбы кусками
Как засолить жереха в домашних условиях? Как солить его целиком для сушки? Засолка икры. Рецепт малосольной рыбы кусками
Балык из жереха — очень вкусное и ароматное блюдо, поэтому большинство хозяек хотели бы научиться готовить его самостоятельно. Нет ничего сложно в том, чтобы в домашних условиях приготовить этот продукт, необходимо только знать технологию.
Характеристика
Жерех – это европейская пресноводная рыба из семейства карповых. Обычно имеет длину от 10 до 80 см, некоторые особи достигают 120 см и весят до 12 кг. Данный вид рыбы населяет озера и низовья рек и лиманов. Весной, в апреле-июне, рыба мигрирует из озер в ручьи для нереста, который начинается с повышением температуры от + 6°C. Жереха вылавливают в Эстонии, Литве, Германии, Норвегии, Швеции, Финляндии, Чешской Республике, Польше, Украине, Болгарии, Румынии, России, Швейцарии, Словении, Нидерландах и Бельгии.
Советы
Балык из этой рыбы славится своей жирностью и приятным вкусом, он слегка напоминает горбушу или кету, которые стоят дороже. Опытные кулинары дают свои советы по приготовлению соленого жереха.
- При засолке советуют использовать любую крупную соль, кроме йодированной, поскольку она придает блюду неприятный посторонний аромат. Соль позволяет быстро удалить влагу из рыбы, она выступает в качестве консерванта, который не дает рыбе испортиться.
- Лучше всего для балыка подходит рыба весом от 1 до 3 килограммов, которую поймали в осенний период. Это обусловлено тем, что жерех в это время набирает массу, обрастает жиром, поэтому и балык из него получается особенно вкусным.
- Перед приготовлением балыка необходимо сначала рыбу разделать и поделить на две половины. Разрез делают с головы и до хвоста через хребет.
- При удалении внутренностей очень важно не задеть желчный пузырь и удалить жабры.
Подготовка
Рыбу, перед тем как начать засаливать, необходимо подготовить. Для этого не трогают ее чешую, поскольку она выступает в роли каркаса для мяса, а вот внутренности убирают полностью. Сделать это гораздо проще над раковиной с краном. Рыбу берут за хвост, опускают головой вниз, потом вспарывают брюхо от хвостового плавника до головы. Нож не стоит погружать слишком глубоко, иначе можно разрезать не только желчный пузырь, но и пищевод, а в этом случае мясо станет неприятно пахнуть, и придется долго мыть тушку.
Так поступают, если две части филе будут готовиться отдельно, если же хочется сохранить целостность жереха, тогда надрез делается не на животе, а по хребту, голова разделяется пополам, как и хвост.
Засаливание
Нельзя приступать к основному процессу, если предварительно не засолить рыбу, поскольку тогда она просто стухнет. Можно взять концентрированный жидкий рассол: на один литр воды используют 100 грамм соли, которые потребуется растворить в жидкости. Для этого кастрюлю ставят на огонь, доводят до кипения. Можно положить:
- перец горошком;
- лавровый лист;
- гвоздику;
- сахар;
- свежие или сухие травы.
Когда рассол остынет, в него погружают рыбу на 8-12 часов, в зависимости от ее веса.
Можно использовать сухую соль, для этого ее просто смешивают со специями и засыпают рыбу. Сверху, для ускорения процесса, ставят груз, который помогает сокам выйти. Некоторые предпочитают солить для сушки целиком, но в этом случае процесс занимает больше времени, поскольку консервант должен проникнуть внутрь. Можно делать это кусками, порезав рыбу на стейки.
Очень пользуется популярностью жерех пряного посола (как и сельдь). В этом случае кипятят в соленой воде лаврушку, черный перец горошком и гвоздику. Они отдают свой аромат сначала рассолу, а потом и рыбе. Такой маринад подходит и для горячего способа копчения.
Правильное соление помогает создать не только вкусное, но и безопасное для здоровья человека блюдо, поэтому данному этапу стоит уделить больше времени и внимания.
Приготовление
После того как рыба пробудет необходимое количество времени в соляном растворе, ее необходимо хорошо промыть и выложить на бумажные полотенца, чтобы они впитали влагу. После этого можно вывешивать тушки на улицу или балкон, главное, чтобы помещение хорошо проветривалось.
Защитой от насекомых будет марля, которую предварительно смачивают в уксусе, а затем покрывают рыбу. Раз в сутки ее придется снова мочить. Если этого не сделать, то мухи отложат свои личинки на рыбе, появятся черви, и продукт будет нельзя употреблять в пищу.
Чтобы уменьшить время приготовления, можно включить вентилятор. Готовится балык в течение нескольких дней при жаркой погоде, в любом случае потребуется периодически проверять готовность продукта.
Засолка икры
Икру солить так же просто, как и готовить балык. По рецепту малосоленого блюда сначала потребуется удалить пленку, для этого можно использовать крупное сито, через которое можно просто протереть ее.
Затем берут на 100 грамм икры 20 грамм соли, 10 грамм сахара и засыпают. При желании можно использовать сухие травы или специи, но это будет лишним. Все хорошо перемешивают, выкладывают в стеклянную банку, закрывают крышкой и ставят в холодильник на сутки.
Можно намазывать продукт на хлеб со сливочным маслом и наслаждаться его удивительными вкусовыми качествами.
О том, как засолить жереха, смотрите в видео ниже.
как сделать в тряпке или по-астрахански в домашних условиях. Как правильно разделать и посолить жереха? Как хранить?
Балык в нашей стране пользуется огромной популярностью, поскольку это не просто замечательная закуска, но и способ сохранить рыбу дольше времени. Приготовить такое блюдо из жереха несложно самостоятельно, но нужно знать, как правильно разделать рыбу и засолить ее.
Подготовка
В качестве основных инструментов понадобятся разделочная доска и острый тонкий нож. Кладут рыбу набок на разделочной доске, затем берут ее за хвост в руку и разрезают живот ножом для филетирования. Голову отсекают. После этого пальцами вынимают внутренности. Они удаляются легко, если поддеть их все сразу и потянуть к хвосту. Работать стоит осторожно, поскольку можно повредить кишечник, а его содержимое очень неприятно пахнет, или желчный, который испортит вкус рыбы.
Тушку промывают тщательно под проточной водой, поскольку на этом подготовка рыбы не закончилась. Если рыба слишком скользкая, можно работать на этом этапе в тряпочных перчатках. Выкладывают снова тушку на разделочную доску в таком положении, чтобы хвост был обращен к человеку. Свободной рукой крепко берут за хвост и начинают делать надрез оттуда, где была голова, и вдоль хребта по направлению к анальному плавнику, как бы срезая со скелета первую половину тушки. Разрез должен закончиться, прежде чем вы доберетесь до плавника. То же самое повторяют и с другой стороны.
Важно! Балык – это не всегда две половины жереха, иногда живот убирают и вялят только спинку, то есть оставляют рыбу без головы и живота, отсекая и конец хвоста.
![]()
Посол
Балык является российским термином для соленых и сушеных мягких частей рыб. Чаще всего это ценные породы, такие как осетр или лосось, жерех. Со временем этот термин стал применяться также к копченой рыбе любых видов. Посол является неотъемлемой частью процедуры сохранения рыбы, поскольку соль выступает в качестве натурального консерванта. Несмотря на это продукт остается полезным. Вяленая рыба также содержит высокий уровень протеина, витаминов, железа и кальция. Она низкокалорийная и имеет небольшое количество углеводов.
Солить рыбу можно следующими способами:
- используя рассол;
- просто засыпав жереха сухой солью.
Сухой посол
Рыбу потребуется засыпать сухой смесью из соли и пряностей. Это может быть любая специя, которая нравится повару. Чаще всего используют листы лаврушки, поскольку они обладают удивительным ароматом, а с ними прекрасно сочетаются черный горошком перец и гвоздика. Какие бы травы и пряности ни использовались, соль выбирают крупную, а ее количества должно хватить, чтобы засыпать полностью всю тушку. Маринуется такая рыба в прохладном помещении или в холодильнике в течение суток. Потом ее обмывают, удаляя лишние кристаллы соли, и вывешивают сушиться.
Концентрированный рассол
Нередко рыбу засаливают в жидкости. Для приготовления концентрированного рассола потребуется на 1 литр воды 400 граммов соли, среди других ингредиентов стоит подготовить следующие:
- 2 лавровых листиков;
- 2 зонтика укропа;
- 5 горошин черного перца;
- 5 гвоздики;
- 10 граммов семян кориандра;
- 5 зубчиков чеснока, нарезанных на половины.
Указанного количества воды хватает на небольшое количество рыбы. Воду ставят со специями на огонь и доводят до кипения. Основная задача – растворить полностью соль и выпустить аромат из специй. Только после того, как рассол остынет, в него можно погружать рыбу. Время пребывания жереха в соленой воде – 8 часов.
Слабосоленый рассол
Не все любят, когда закуска соленая, а при высыхании жереха концентрация соли в нем становится больше, поэтому повара советуют использовать слабый маринад. На 1 литр воды достаточно 40 граммов соли, из других ингредиентов стоит подготовить следующие:
- 20 граммов коричневого сахара;
- 40 граммов тертого имбиря;
- 1 нарезанный лимон;
- черный перец горошком – 5 штук;
- гвоздика – 4 штуки;
- семена фенхеля и укропа по 10 граммов.
Рассол потребуется закипятить. Когда он остынет, на сутки в него погружают рыбу. Этого достаточно, чтобы соль вытянула лишнюю влагу и заняла свое место в качестве консерванта в тканях жереха.
Сушка
Наука о производстве хорошего балыка во многих отношениях сопоставима с тем, как сделать хороший коньяк или сыр. Рыба тоже требует определенного созревания, которое происходит на улице, под лучами солнца или в духовке. Действительно, некоторые повара научились ускорять процесс сушки, используя электросушилку или стандартную духовку. Внутри таких бытовых приборов жерех уже за сутки или двое доходит до готовности. Сложнее всего использовать духовой шкаф. В нем необходимо выставлять минимальную температуру и открывать дверцу, только после этого укладывать рыбу внутрь. Если возможности убавить жар нет, тогда стоит разогреть до +180°С, выключить и положить рыбу. Когда остынет духовка убрать жереха в холодильник и повторить процедуру на следующий день.
Желательно готовить балык сразу после отлова рыбы, пока она свежая, но при отсутствии такой возможности можно купить и замороженный продукт. После потрошения жерех сушится целиком либо раскалывается вдоль позвоночника. Лучше всего вялить рыбу в период с февраля по май. Прохладная погода защищает ее от насекомых и предотвращает рост бактерий. Температура чуть выше нуля градусов по Цельсию и с небольшим количеством осадков – это идеальные условия, ведь мороз испортит рыбу.
По технологии, которую используют в Норвегии, после 3 месяцев пребывания на крючках рыба созревает еще 2–3 месяца в сухом помещении с хорошо организованной вентиляцией.
За это время около 80% воды в тушке испаряется, но сохраняются необходимые питательные вещества. Конечно, так долго ждать может не каждый, поэтому в домашних условиях продукт съедается быстрее.
Когда рыба достаточно пропиталась солью и ароматами трав, ей дают хорошо стечь. Если используется балык из цельной тушки, разделенной пополам только в районе хребта, тогда между двумя половинами ставят распорки.
Время сушки на открытом солнце составляет от 3 дней. Все зависит от толщины и размера рыбы. Лучше всего подвешивать жереха на улице либо выбирать хорошо проветриваемое помещение. Пока рыба сушится потребуется накрыть ее марлей, которую предварительно пропитывают уксусом. Именно его острый запах отпугивает не только мух, желающих отложить собственных личинок, но и клещей, жучков, которые рассматривают тушку жереха в качестве благоприятной среды для вывода потомства. В течение всего процесса приготовления необходимо не только следить за готовностью продукта, но и постоянно сбрызгивать марлю уксусом. Янтарный цвет корочки и легкая прозрачность говорят о том, что балык готов и его можно подавать к столу.
Рецепт по-астрахански
В Астрахани рыбаки используют для вкусной засолки только крупную соль, чтобы сделать балык. Рыбу сначала на полчаса замачивают в ледяной воде, потом подвешивают, чтобы она обсохла. Там, где толщина филе больше, делают небольшие надрезы. Тушку натирают солью, ее же засовывают и в открывшиеся промежутки. Тушка придавливается прессом и убирается в холодильник на 15 часов. После снова приходится вымачивать рыбу, оставляя ее в простой холодной воде на час. Только после этого можно подвешивать жереха в тряпке и ждать пока он созреет.
Важно! Хранят его в морозилке или холодильнике, можно обернуть в бумагу.
Если этого не сделать или не обеспечить оптимальные условия, то рыба просто начнет плесневеть.
В видео ниже рассказывается о том, как приготовить балык из жереха.
Как засолить жереха целиком в домашних условиях- рецепт пошаговый с фото
В домашних условиях можно приготовить вкусный балык не только из морской рыбы. Речной жерех – идеальный вариант, поскольку он достаточно жирный, и готовое блюдо будет иметь приятный аромат и отменный вкус. Следу простым рецептам можно создать настоящий шедевр из минимального набора ингредиентов.
Как приготовить балык из жереха
Чтобы приготовить балык из жереха в домашних условиях потребуется немного времени и минимум специй. Следование технологии позволить сделать изысканный кулинарный шедевр, который станет изюминкой стола. Вкус мяса жереха напоминает чем-то горбушу и кету, при этом стоимость такого продукта получится значительно дешевле.
Выбираем рыбу для балыка
Перед тем как сделать балык из жереха в домашних условиях, надо правильно подобрать тушку. Рыба должна быть свежей. Зачастую рыбаки предпочитают готовить балык из жереха прямо на месте рыбалки. Мясо самое вкусное и жирное летом и осенью.
Если тушка весит более 1 кг, то она уже подходит для приготовления. А если особ от 3 кг, то приготовить балык из такого жереха необходимо обязательно.
Правильная чистка и разделка тушки
Острый нож – главный инструмент, с помощью которого легко разделать жерех. Балык в таком случае получится красивой формы. Перед началом разделки рыба промывается, чешуя счищается.
Дальнейший алгоритм такой:
- Разрез делается от головы к хвосту на спинной части.
- Хребет аккуратно вытягивается.
- Брюшко должно остаться целым.
- Раскрытое филе очищается, кости осторожно вытягиваются пинцетом.
- Жабры вырезаются ножом.
- Тушка тщательно промывается под проточной водой и просушивается.
Рыба под балык должна быть идеально чистой. В ней не должно присутствовать костей и крови. Так, можно наслаждаться изысканным вкусом, ни о чем не переживая.
Виды маринования
Различные рецепты балыка из жереха в домашних условиях предполагают разные методы засола рыбы. Некоторые из них лучше использовать при приготовлении дома, а другие актуальны при готовке на природе. В любом случае лучше использовать соль крупного помола, так как она лучше обезвоживает филе.
Сухой посол
Традиционный вариант – метод сухого посола. Для этого тушка тщательно обмазывается солью со всех сторон. Необходимо следить за равномерностью нанесения. Затем балык жерех отправляется на ночь в холодильник, а днем очищается от излишков соли и вымачивается в воде.
Чем больше размер рыбы, тем меньше ее нужно вымачивать. Так, для 1 килограммовой особи нужно около 3 часов, а для 3-х килограммовой – 1 час.
Концентрированный рассол
Этот метод выбирают, если готовят балык вне дома. Он позволяет надолго сохранить рыбу.
В воду добавляется соль в пропорции 1л на 400 гр. Этой порции достаточно для небольшого количества рыбы. Если жереха много, то воды и соли нужно брать больше. Жидкость доводится до кипения. Филе опускается в остывший рассол. Для полного просаливания хватит 8 часов.
Слабосоленый рассол
Рецепт балыка из жереха, приготовленного в домашних условиях с использованием слабосоленого рассола, подходит для тех, кто не любит соленую рыбу. Готовим маринад из 1 л воды и 40 гр. соли. Так же как и в предыдущем случае, рассол доводится до кипения и охлаждается. Жерех помещается в жидкость на сутки. После этого можно приступать к следующему этапу.
Независимо от выбранного вариант засола, можно применить дополнительные специи для усиления вкусовых качеств. Часто используют готовую приправу к рыбе, но можно подобрать набор ингредиентов самостоятельно.
К жереху подходят:
- имбирь;
- черный перец;
- гвоздика;
- кориандр;
- семена укропа и фенхеля.
Корректируя составляющие, можно сделать собственный рецепт и прославить свое имя среди родственников и знакомых.
Сушка жереха
Оригинальная технология предполагает длительное вяление в течение 3-4 месяцев при определенных условиях. Но домашнее приготовление можно ускорить: поместить балык из жереха на открытый воздух или использовать духовку. Проводить процедуру лучше в весеннее время. Погодные условия позволяют исключить негативное влияние палящих лучей солнца, которое приводит к размножению бактерий и порче продукта. Длительность приготовления на солнце составляет около 3 дней. С помощью духовки можно сделать балык в домашних условиях за сутки.
Размещая рыбу на улице, следует защитить ее от насекомых.
С этой задачей справится марля, вымоченная в уксусе. При высушивании ее следует периодически смачивать уксусом повторно, чтобы отпугивать мух, клещей и прочих вредителей.
Лучшие рецепты приготовления балыка из жереха
Существует множество рецептов приготовления балыка из жереха в домашних условиях. Каждый из них позволяет сделать оригинальное блюдо с изысканным вкусом. Отдельные ингредиенты придают продукту непревзойденного аромата, а тонкости засолки и вяления дают возможность получить сочный и нежный балык.
Жерех по-астрахански
Астрахань – регион, знаменитый рыбалкой. Богатые уловы привели к тому, что жители стали создавать оригинальные рецепты, с помощью которых каждый может приготовить без особых усилий вкусные блюда. Для 3 кг жереха понадобиться 300 гр. соли.
Пошаговая инструкция выглядит так:
- Рыба очищается и разделывается.
- Вымочить тушку в ледяной воде и просушить.
- Сделать надрезы там, где мясо толстое.
- Натереть рыбу солью со всех сторон.
- Продукт поставить под гнет и разместить в холодильнике на 12-15 часов.
- Вымочить засоленную рыбу в воде в течение часа.
- Вывесить балык для вяления.
Такой жерех порадует своим вкусом, к тому же он будет иметь привлекательную золотую корочку, если его ненадолго подвесить на солнце.
Сахарный балык
Этот рецепт похож на предыдущий, но в состав ингредиентов потребуется включить сахар. Он поможет сделать вкус блюда изысканным, к тому же способствует проникновению соли глубже в волокна. На рыбу весом 3 кг потребуется:
Готовят балык по следующему алгоритму:
- Рыба очищается, промывается и нарезается на кусочки, если тушка слишком большая.
- Филе натирается со всех сторон солью с сахаром.
- Мясо укладывается в емкость и ставится под гнет.
- Тара отправляется в холодильник на 4-6 суток.
- Филе промывается под проточной водой 1 час или вымачивается 4-5 часов в холодной воде.
- Жерех обматывается марлей и размещается в проветриваемом помещении или на улице, но не открытом солнце.
Длительность вяления зависит от личных предпочтений. Если балык должен быть суховатым, то потребуется около недели, а вот для сочного и мягкого продукта будет достаточно 4 суток.
При этом периодически следует проверять мясо на готовность, поскольку скорость подсушивания зависит от внешних условий.
Рецепт мокрой засолки
Этим рецептом часто пользуются в походных условиях. Также его применяют тогда, когда планируется последующее копчение. Крепкий солевой раствор – тузлук – готовят с использованием исключительно соли, сахара и воды. Но в отдельных случаях туда добавляют специи по вкусу, чтобы рыба получилась с пикантным ароматом. Чтобы проверить готовность рассола, в него опускают сырое яйцо. Оно должно всплыть на поверхность.
Балык из жереха — очень вкусное и ароматное блюдо, поэтому большинство хозяек хотели бы научиться готовить его самостоятельно. Нет ничего сложно в том, чтобы в домашних условиях приготовить этот продукт, необходимо только знать технологию.
Характеристика
Жерех – это европейская пресноводная рыба из семейства карповых. Обычно имеет длину от 10 до 80 см, некоторые особи достигают 120 см и весят до 12 кг. Данный вид рыбы населяет озера и низовья рек и лиманов. Весной, в апреле-июне, рыба мигрирует из озер в ручьи для нереста, который начинается с повышением температуры от + 6°C. Жереха вылавливают в Эстонии, Литве, Германии, Норвегии, Швеции, Финляндии, Чешской Республике, Польше, Украине, Болгарии, Румынии, России, Швейцарии, Словении, Нидерландах и Бельгии.
Советы
Балык из этой рыбы славится своей жирностью и приятным вкусом, он слегка напоминает горбушу или кету, которые стоят дороже. Опытные кулинары дают свои советы по приготовлению соленого жереха.
- При засолке советуют использовать любую крупную соль, кроме йодированной, поскольку она придает блюду неприятный посторонний аромат. Соль позволяет быстро удалить влагу из рыбы, она выступает в качестве консерванта, который не дает рыбе испортиться.
- Лучше всего для балыка подходит рыба весом от 1 до 3 килограммов, которую поймали в осенний период. Это обусловлено тем, что жерех в это время набирает массу, обрастает жиром, поэтому и балык из него получается особенно вкусным.
- Перед приготовлением балыка необходимо сначала рыбу разделать и поделить на две половины. Разрез делают с головы и до хвоста через хребет.
- При удалении внутренностей очень важно не задеть желчный пузырь и удалить жабры.
Подготовка
Рыбу, перед тем как начать засаливать, необходимо подготовить. Для этого не трогают ее чешую, поскольку она выступает в роли каркаса для мяса, а вот внутренности убирают полностью. Сделать это гораздо проще над раковиной с краном. Рыбу берут за хвост, опускают головой вниз, потом вспарывают брюхо от хвостового плавника до головы. Нож не стоит погружать слишком глубоко, иначе можно разрезать не только желчный пузырь, но и пищевод, а в этом случае мясо станет неприятно пахнуть, и придется долго мыть тушку.
Так поступают, если две части филе будут готовиться отдельно, если же хочется сохранить целостность жереха, тогда надрез делается не на животе, а по хребту, голова разделяется пополам, как и хвост.
![]()
Засаливание
Нельзя приступать к основному процессу, если предварительно не засолить рыбу, поскольку тогда она просто стухнет. Можно взять концентрированный жидкий рассол: на один литр воды используют 100 грамм соли, которые потребуется растворить в жидкости. Для этого кастрюлю ставят на огонь, доводят до кипения. Можно положить:
- перец горошком;
- лавровый лист;
- гвоздику;
- сахар;
- свежие или сухие травы.
Когда рассол остынет, в него погружают рыбу на 8-12 часов, в зависимости от ее веса.
Можно использовать сухую соль, для этого ее просто смешивают со специями и засыпают рыбу. Сверху, для ускорения процесса, ставят груз, который помогает сокам выйти. Некоторые предпочитают солить для сушки целиком, но в этом случае процесс занимает больше времени, поскольку консервант должен проникнуть внутрь. Можно делать это кусками, порезав рыбу на стейки.
Очень пользуется популярностью жерех пряного посола (как и сельдь). В этом случае кипятят в соленой воде лаврушку, черный перец горошком и гвоздику. Они отдают свой аромат сначала рассолу, а потом и рыбе. Такой маринад подходит и для горячего способа копчения.
Правильное соление помогает создать не только вкусное, но и безопасное для здоровья человека блюдо, поэтому данному этапу стоит уделить больше времени и внимания.
Приготовление
После того как рыба пробудет необходимое количество времени в соляном растворе, ее необходимо хорошо промыть и выложить на бумажные полотенца, чтобы они впитали влагу. После этого можно вывешивать тушки на улицу или балкон, главное, чтобы помещение хорошо проветривалось.
Защитой от насекомых будет марля, которую предварительно смачивают в уксусе, а затем покрывают рыбу. Раз в сутки ее придется снова мочить. Если этого не сделать, то мухи отложат свои личинки на рыбе, появятся черви, и продукт будет нельзя употреблять в пищу.
Чтобы уменьшить время приготовления, можно включить вентилятор.
Готовится балык в течение нескольких дней при жаркой погоде, в любом случае потребуется периодически проверять готовность продукта.
Засолка икры
Икру солить так же просто, как и готовить балык. По рецепту малосоленого блюда сначала потребуется удалить пленку, для этого можно использовать крупное сито, через которое можно просто протереть ее.
Затем берут на 100 грамм икры 20 грамм соли, 10 грамм сахара и засыпают. При желании можно использовать сухие травы или специи, но это будет лишним. Все хорошо перемешивают, выкладывают в стеклянную банку, закрывают крышкой и ставят в холодильник на сутки.
Можно намазывать продукт на хлеб со сливочным маслом и наслаждаться его удивительными вкусовыми качествами.
О том, как засолить жереха, смотрите в видео ниже.
Солим рыбу Жерех. – hexencat — LiveJournal
?
LiveJournal
- Main
- Ratings
- Interesting
- iOS & Android
-
Disable ads
Login
- Login
-
CREATE BLOG
Join
-
English
(en)
Как посолить жереха в домашних условиях вкусно
Балык из жереха — очень вкусное и ароматное блюдо, поэтому большинство хозяек хотели бы научиться готовить его самостоятельно. Нет ничего сложно в том, чтобы в домашних условиях приготовить этот продукт, необходимо только знать технологию.
Характеристика
Жерех – это европейская пресноводная рыба из семейства карповых. Обычно имеет длину от 10 до 80 см, некоторые особи достигают 120 см и весят до 12 кг. Данный вид рыбы населяет озера и низовья рек и лиманов. Весной, в апреле-июне, рыба мигрирует из озер в ручьи для нереста, который начинается с повышением температуры от + 6°C. Жереха вылавливают в Эстонии, Литве, Германии, Норвегии, Швеции, Финляндии, Чешской Республике, Польше, Украине, Болгарии, Румынии, России, Швейцарии, Словении, Нидерландах и Бельгии.
Советы
Балык из этой рыбы славится своей жирностью и приятным вкусом, он слегка напоминает горбушу или кету, которые стоят дороже. Опытные кулинары дают свои советы по приготовлению соленого жереха.
- При засолке советуют использовать любую крупную соль, кроме йодированной, поскольку она придает блюду неприятный посторонний аромат.
Соль позволяет быстро удалить влагу из рыбы, она выступает в качестве консерванта, который не дает рыбе испортиться.
- Лучше всего для балыка подходит рыба весом от 1 до 3 килограммов, которую поймали в осенний период. Это обусловлено тем, что жерех в это время набирает массу, обрастает жиром, поэтому и балык из него получается особенно вкусным.
- Перед приготовлением балыка необходимо сначала рыбу разделать и поделить на две половины. Разрез делают с головы и до хвоста через хребет.
- При удалении внутренностей очень важно не задеть желчный пузырь и удалить жабры.
Подготовка
Рыбу, перед тем как начать засаливать, необходимо подготовить. Для этого не трогают ее чешую, поскольку она выступает в роли каркаса для мяса, а вот внутренности убирают полностью. Сделать это гораздо проще над раковиной с краном. Рыбу берут за хвост, опускают головой вниз, потом вспарывают брюхо от хвостового плавника до головы. Нож не стоит погружать слишком глубоко, иначе можно разрезать не только желчный пузырь, но и пищевод, а в этом случае мясо станет неприятно пахнуть, и придется долго мыть тушку.
Так поступают, если две части филе будут готовиться отдельно, если же хочется сохранить целостность жереха, тогда надрез делается не на животе, а по хребту, голова разделяется пополам, как и хвост.
Засаливание
Нельзя приступать к основному процессу, если предварительно не засолить рыбу, поскольку тогда она просто стухнет. Можно взять концентрированный жидкий рассол: на один литр воды используют 100 грамм соли, которые потребуется растворить в жидкости. Для этого кастрюлю ставят на огонь, доводят до кипения. Можно положить:
- перец горошком;
- лавровый лист;
- гвоздику;
- сахар;
- свежие или сухие травы.
Когда рассол остынет, в него погружают рыбу на 8-12 часов, в зависимости от ее веса.
Можно использовать сухую соль, для этого ее просто смешивают со специями и засыпают рыбу. Сверху, для ускорения процесса, ставят груз, который помогает сокам выйти. Некоторые предпочитают солить для сушки целиком, но в этом случае процесс занимает больше времени, поскольку консервант должен проникнуть внутрь. Можно делать это кусками, порезав рыбу на стейки.
Очень пользуется популярностью жерех пряного посола (как и сельдь). В этом случае кипятят в соленой воде лаврушку, черный перец горошком и гвоздику. Они отдают свой аромат сначала рассолу, а потом и рыбе. Такой маринад подходит и для горячего способа копчения.
Правильное соление помогает создать не только вкусное, но и безопасное для здоровья человека блюдо, поэтому данному этапу стоит уделить больше времени и внимания.
Приготовление
После того как рыба пробудет необходимое количество времени в соляном растворе, ее необходимо хорошо промыть и выложить на бумажные полотенца, чтобы они впитали влагу. После этого можно вывешивать тушки на улицу или балкон, главное, чтобы помещение хорошо проветривалось.
Защитой от насекомых будет марля, которую предварительно смачивают в уксусе, а затем покрывают рыбу. Раз в сутки ее придется снова мочить. Если этого не сделать, то мухи отложат свои личинки на рыбе, появятся черви, и продукт будет нельзя употреблять в пищу.
Чтобы уменьшить время приготовления, можно включить вентилятор. Готовится балык в течение нескольких дней при жаркой погоде, в любом случае потребуется периодически проверять готовность продукта.
Засолка икры
Икру солить так же просто, как и готовить балык. По рецепту малосоленого блюда сначала потребуется удалить пленку, для этого можно использовать крупное сито, через которое можно просто протереть ее.
Затем берут на 100 грамм икры 20 грамм соли, 10 грамм сахара и засыпают. При желании можно использовать сухие травы или специи, но это будет лишним. Все хорошо перемешивают, выкладывают в стеклянную банку, закрывают крышкой и ставят в холодильник на сутки.
Можно намазывать продукт на хлеб со сливочным маслом и наслаждаться его удивительными вкусовыми качествами.
О том, как засолить жереха, смотрите в видео ниже.
Как приготовить балык?
Далее можно поступить несколькими способами: либо поместить рыбу в яму или завернуть в хлопчатобумажную ткань.
1. Для первого способа понадобится деревянный ящик или пара дощечек. В зависимости от их размера выкапывается ямка. Засоленный жерех выкладывается в ящик, если несколько штук, то рядами спинкой на брюшко, сверху размещается груз и ящик устанавливается в ямку, закрывается сверху ветками, досками или брезентом. Если нет ящика, можно использовать доску или любую относительно ровную поверхность, например, крышку от ведра. Уложить доску в яму, на нее рыбу, сверху придавить другой доской, фанерой, положить груз, яму укрыть. Тузлук – соляной раствор, отделяющийся от жереха, будет стекать через щели. 2. Можно просолить балык другим способом. Готовую распластанную и посыпанную солью тушку, сложить, плотно упеленать в полотняную ткань. Она убережет улов от мух и впитает в себя выступающую влагу. Чем больше кусок ткани, тем лучше. На двухкилограммовую рыбу нужно не меньше полутора метров. Если ткань узкая, можно заворачивать с угла, как закручивали бы рулон, стараясь делать это максимально плотно. Потом нужно взять бечевку или резину и тоже плотно, натягивая, обвить весь сверток. В этом случае, бечевка будет играть роль груза.
Затем жереха нужно хорошо промыть, вымочить в воде два-три часа и повесить, чтобы он подсушился в течение нескольких дней.
Рецепт балыка из жереха в домашних условиях
Крупный жерех более двух килограмм можно разделать, как настоящий балык, то есть, отрезав брюшко – тешу, и оставив только спинку. Это делается потому, что разные части просаливаются неравномерно. У экземпляров поменьше, голову можно оставить, но жабры вырвать.
1. Как разделать жереха
2. Как засолить и вымочить
3. Как сушить
Ее нужно вынуть из воды, промокнуть и подвесить, нанизав рыбу на бечевку через глазные отверстия.
Просушивать рыбу нужно в проветриваемом месте, а чтобы на нее не попадала пыль или насекомые необходимо закрыть сверху марлей.
Видео-рецепт приготовления балыка:
Сколько соли мне нужно есть в день?
С появлением упакованных продуктов и полуфабрикатов потребление слишком малого количества соли обычно не является проблемой для большинства. Наслаждение диетой, богатой цельными, необработанными продуктами с низким содержанием натрия, является наиболее питательным вариантом, позволяющим добавлять соль по вкусу при приготовлении пищи, что снижает риск переборщить с ежедневным рекомендуемым количеством. Текущие рекомендации Министерства здравоохранения Канады рекомендуют, чтобы большинство здоровых взрослых потребляли приблизительно 1500 мг натрия в день, хотя большинство из них потребляют более чем вдвое больше.
Натрий и хлор – два элемента, которые составляют соль, превращая все типы солей в источники этих незаменимых соединений, добавляя еще один слой путаницы в смесь, поскольку большинство из них неразличимы на вкус от одного к другому. Независимо от того, покупаете ли вы в продуктовом магазине или в специализированном магазине продуктов питания, широкий диапазон цен, широкий спектр разновидностей и пищевой состав соли могут заставить вас почесать голову.
Что такое морская соль?
Морская соль получена из одноименного источника (моря), происходящего из любого количества регионов по всему миру.Повара обожают его чистый, безупречный вкус, он доступен в грубых и тонких вариантах; Первый хорошо подходит для украшения, а второй идеально подходит для приготовления пищи и выпечки благодаря своей способности растворяться. В наличии белый, серый, красный, розовый и черный цвет, выбор цвета зависит от ваших личных предпочтений и цен.
Что касается пользы для здоровья, то морская соль изобилует микроэлементами из-за своего морского происхождения, обеспечивая многие из тех же питательных соединений, которые делают морские водоросли из суперпродуктов такими питательными.Самые полезные для здоровья формы морской соли наименее очищены и не содержат консервантов (что может означать образование комков в мелкой разновидности). Розовая гималайская соль преподносится здоровыми домашними поварами как самая богатая минералами приправа, считающаяся самой чистой из семейства морских солей.
Что такое молотая соль?
Самая распространенная молотая соль (добытая из земли, а не из моря) – это поваренная соль, дешевая и распространенная приправа, которую можно найти на большинстве домашних кухонь. Поваренная соль, более очищенная версия соли, содержит йод, микроэлемент, необходимый для правильной функции щитовидной железы, профилактики рака щитовидной железы и правильного умственного развития и поддержания здоровья.Дефицит йода встречается редко, и этот минерал можно получить из овощей, морских водорослей, молока, дикой рыбы, яиц и неочищенных морских солей.
Что такое кошерная соль?
Кошерная соль на вкус немного менее соленая, чем поваренная или морская соль (хотя она может быть получена морем или землей) из-за ее способности быстрее растворяться на языке. В кошерную соль можно добавлять антислеживатели, но их также можно купить в чистом виде. Кошерная соль позволяет легко взять щепотку и хорошо прилипнуть к еде, что делает ее фаворитом среди поваров и домашних поваров.
Что такое соль для гурманов и как ее использовать?
Соли для гурманов – самые разные по цене и вкусу. «Обычная» финишная соль и финишная соль с натуральным вкусом могут стать уникальным дополнением к любому блюду. Они имеют более высокую цену, чем обычная морская соль или молотая соль, но используются в умеренных количествах и могут храниться годами.
Fleur de sel («цветок соли» по-французски) – это легкодоступная морская соль, идеально подходящая для гарниров (как сладких, так и соленых блюд), и, хотя она все еще дорогая, имеет более низкую цену, чем многие другие варианты для гурманов.Чистая природа Fleur de sel, не содержащая добавок, консервантов и антислеживателей, обеспечивает те же микроэлементы, что и другие соли, с более чистым вкусом.
Копченая соль – это всего лишь; курил. Это деликатесное лакомство следует экономно использовать с мясом, рыбой, яйцами и овощами для получения поистине уникального вкуса. Ароматизированные соли могут включать любое количество натуральных добавок, от цедры лимона до лаванды, сушеных трюфелей и перца чили, и их можно купить или приготовить дома.
Являются ли солевые альтернативы более здоровыми?
Подобно сахару, соль имеет альтернативы с низким содержанием натрия, которые обычно состоят из химических источников.Некоторых отталкивает странный вкус альтернативной соли, полученной химическим путем. Альтернативы соли могут отрицательно влиять на некоторые лекарства и состояния здоровья, поэтому проконсультируйтесь с врачом, прежде чем покупать этот продукт.
Натуральные продукты, не содержащие химикатов, такие как гранулы дульсе (морские водоросли), продаются как заменитель соли и содержат тот же набор минералов, что и «чистая» морская соль. Вкус гранул дульсе явно морской, поэтому используйте его с умом, добавляя этот заменитель соли в рецепт.
А самая полезная соль…
Независимо от того, какую соль вы выберете, небольшое количество используемой соли вносит небольшую пищевую ценность в ваш общий рацион, поэтому выбор зависит от вашего вкуса. Если вы беспокоитесь об увеличении содержания минералов в своем рационе, сосредоточьтесь на потреблении большего количества злаков, овощей, фруктов, молочных продуктов, орехов и нежирного белка – соль не следует использовать в качестве добавки или альтернативы питанию, которое содержат эти продукты. Уменьшение общего потребления соли до рекомендуемой суточной нормы (1500 мг) может быть достигнуто с помощью диеты с низким содержанием необработанных продуктов и, да, щепоткой или двумя соли – любого типа, который вам нравится.
Модули исправления соли 🧂 Наконечники соли
20 минут на чтение
Обновлено:
Допустим, вас укусила критическая ошибка в Salt (версии 2019.2.0 и 2019.2.1 были болезненными для многих из нас), исправление которой существует, но не выпущено. Или классная функция, которая вам так нужна, попала в старую ветку разработки и вечно ждет миграции на новую главную.Даже если он был выпущен, возможно, вы еще не сможете улучшить Соль для всего флота миньонов. Или, может быть, вы ошибочно ожидали, что ваш PR в отношении основной ветки будет включен в ближайший выпуск, но вам сказали, что в следующем выпуске функция заморожена, и вам придется ждать еще 4 месяца до следующего.
Как DevOps-инженер, вам нужно делать все быстро. К счастью, SaltStack имеет встроенный способ исправления самого себя! Прочитав это руководство, вы сможете исправить практически любую часть кода Salt, даже если вы запускаете несколько версий одновременно.Некоторые способы являются хакерскими, но ошибки есть ошибки, и вам необходимо исправить их наиболее эффективным способом.
Описанные методы в основном подходят для применения пары простых исправлений. Если у вас большой или постоянно развивающийся набор исправлений, вы будете в здравом уме, создав собственный форк и установив его с помощью pip или пользовательских пакетов.
Как DevOps-инженер, вам нужно быстро устранять проблемы. К счастью, SaltStack имеет встроенный способ исправления самого себя!
Содержание
Определение затронутых миньонов
Первое, что нужно сделать, это понять, какие версии миньонов у вас есть (вы можете обнаружить, что есть старые миньоны, которые вы забыли обновить):
% тест на судо-соль '*'.версия
миньон3:
2019.2.1
миньон2:
2019.2.1
миньон1:
2019.2.3
Другой способ сделать это – исполнитель manage.versions
(он также включает основную версию):
% sudo salt-run manage.versions
Мастер:
2019.2.3
Миньон требует обновления:
----------
миньон2:
2019.2.1
миньон3:
2019.2.1
До настоящего времени:
----------
миньон1:
2019.2.3
Если это слишком подробно, используйте опрос , бегун
:
% sudo salt-run survey.хэш '*' test.version
| _
----------
бассейн:
- миньон2
- миньон3
результат:
2019.2.1
| _
----------
бассейн:
- миньон1
результат:
2019.2.3
А если вам нужны только счетчики версий, используйте следующую команду:
% sudo salt '*' test.version --out json --static | jq '. []' | сортировать | uniq -c
2 "2019.2.1"
1 "2019.2.3"
Теперь вам нужно понять, на какую из этих версий вам нужно ориентироваться:
Общий совет – взглянуть на содержание PR и посмотреть, применимы ли изменения к установленным вами версиям Salt.
Как синхронизировать модули соли
В официальной документации вы можете найти обновленный список синхронизируемых модулей (предоставлен Джейми Блиссом в # 50633). Большинство типов модулей могут быть загружены (синхронизированы) с файлового сервера, кроме тех, которые указаны в сноске.
Самый простой способ синхронизировать их во всем флоте миньонов – использовать следующую команду:
% судо-соль '*' saltutil.sync_all
В качестве альтернативы можно использовать индивидуальный сальтутил .sync_ *
команды для синхронизации различных типов модулей.
В Salt Neon вы также можете использовать новые состояния saltutil.sync_ *
, чтобы сделать то же самое.
Некоторые типы модулей могут быть синхронизированы с мастером (к сожалению, за исключением списков):
% sudo salt-run saltutil.sync_all
Или индивидуально с помощью команд бегуна saltutil.sync_ *
.
Кроме того, пользовательские модули автоматически синхронизируются при выполнении высокого состояния.
Общий совет – избегайте захвата последних модулей из репозитория Git восходящего направления и помещения их в свое файловое дерево salt: //
. Единственный сценарий, когда все будет хорошо, – это когда модуль еще не существует в вашей версии Salt и не зависит от каких-либо других модулей. Во всех остальных случаях гораздо безопаснее извлечь определенный патч и адаптировать его для точного применения к вашей конкретной версии Salt.
Допустим, вы хотите сохранить возможность передавать произвольные аргументы pip,
через pip.установил
с Neon на 2019.2.3 (PR # 52327).
Простой способ извлечь эту функцию – открыть ссылку https://github.com/saltstack/salt/pull/52327.diff, загрузить патч и удалить ненужные фрагменты / файлы, связанные с тестами и документами. Вы можете увидеть получившийся патч здесь: pip-extra-args-orig.diff
Патч не применится чисто; однако, если вы проверите salt / modules / pip.py.rej
и salt / states / pip_state.py.rej
, вы увидите, что они содержат нефункциональные изменения и могут быть проигнорированы.Для более сложных конфликтов вам потребуется некоторое время на перенос патча.
Путем сравнения исходного дерева salt-2019.2.3
с исправленным (с помощью команды diff -Naur -x '* .orig' -x '* .rej' salt-2019.2.3 {.orig,}
), вы можете получить патч, который полностью применим к 2019.2.3: pip-extra-args-2019-2-3.diff
Замена всего модуля
- Возьмите пропатченные модули. В приведенном выше примере это будет
salt / modules / pip.py,
иsalt / states / pip_state.py
. - Поместите их в папки
salt: // _ modules /
иsalt: // _ states /
соответственно. - Синхронизировать модули:
% sudo salt minion1 saltutil.sync_modules, saltutil.sync_states,
миньон1:
----------
saltutil.sync_modules:
- modules.pip
saltutil.sync_states:
- States.pip_state
Альт! Теперь вы можете использовать опцию extra_args
:
$ sudo salt minion1 sys.state_doc pip.installed | grep -A 8 дополнительных_аргс
extra_args
ключевое слово pip и позиционные аргументы еще не реализованы в соли
панды:
pip.installed:
- имя: панды
- extra_args:
- --latest-pip-kwarg: param
- --latest-pip-arg
Предупреждение:
Если здесь переданы неподдерживаемые параметры, которые не поддерживаются в
версия pip для minion, будет выдано сообщение `No such option error`.
Ниже приведен пример использования этой новой опции для установки пакета в каталог /root/.local
(вместо / usr / local
):
install_poetry:
pip.installed:
- название: поэзия
- extra_args:
- - пользователь
Добавление новой функции
Иногда вы хотите расширить модуль только одной новой функцией, но не хотите отменять весь модуль, потому что вы боитесь возможных конфликтов в будущих версиях.Допустим, вы хотите добавить функцию delete
в модуль sdb.sqlite3
(PR # 51479).
Исходный модуль называется sqlite3.py
. Пользовательский должен иметь уникальное имя файла, содержащее исходное (см. # 50812 и # 52521, чтобы понять, почему). Назовем его sqlite3_custom.py
:
# Импорт ниже скопирован из исходного модуля
from __future__ import absolute_import, print_function, unicode_literals
пытаться:
импортировать sqlite3
HAS_SQLITE3 = Верно
кроме ImportError:
HAS_SQLITE3 = Ложь
# Исходный модуль не определяет виртуальное имя.Однако это абсолютно
# важно определить его в настраиваемом модуле, иначе загрузчик
# не сможет найти нашу функцию удаления в том же пространстве имен sqlite3
# (это произойдет, если возвращаемое значение __virtual __ () не является строкой)
__virtualname__ = 'sqlite3'
# Эта функция также скопирована из исходного модуля
def __virtual __ ():
'' '
Загружать, только если доступен sqlite3.
'' '
если не HAS_SQLITE3:
return False
вернуть True
# Это новая функция, которую мы хотим добавить
# См. Https: // github.com / saltstack / salt / pull / 51479
def delete (ключ, профиль = None):
'' '
Удалить пару ключ / значение из sqlite3
'' '
если не профиль:
return None
conn, cur, table = _connect (профиль)
q = profile.get ('delete_query', ('УДАЛИТЬ ОТ {0} ГДЕ'
'key =: key'.format (таблица)))
res = cur.execute (q, {'ключ': ключ})
conn.commit ()
счет возврата
Поместите следующий фрагмент конфигурации в /etc/salt/minion.d/mysqlite.conf
на миньоне и перезапустите его:
mysqlite:
драйвер: sqlite3
база данных: /tmp/sdb.sqlite
таблица: sdb
create_table: True
Затем поместите указанный выше модуль sqlite3_custom.py
в каталог salt: // _ sdb /
и синхронизируйте его:
% sudo salt minion1 saltutil.sync_sdb
миньон1:
- sdb.sqlite3_custom
Давай попробуем:
% sudo salt minion1 sdb.set sdb: // mysqlite / пароль 12345678
миньон1:
Правда
% sudo salt minion1 sdb.получить sdb: // mysqlite / пароль
миньон1:
12345678
% sudo salt minion1 sdb.delete sdb: // mysqlite / пароль
миньон1:
Функция миньона вызвала исключение: Traceback (последний вызов последним):
Файл "/usr/lib/python3/dist-packages/salt/minion.py", строка 1664, в _thread_return
return_data = minion_instance.executors [имя_файла] (параметры, данные, функция, аргументы, kwargs)
Файл "/usr/lib/python3/dist-packages/salt/executors/direct_call.py", строка 12, выполняется
return func (* args, ** kwargs)
Файл "/ usr / lib / python3 / dist-packages / salt / modules / sdb.py ", строка 58, в удалении
вернуть salt.utils.sdb.sdb_delete (uri, __opts__, __utils__)
Файл "/usr/lib/python3/dist-packages/salt/utils/sdb.py", строка 108, в sdb_delete
return loaded_db [fun] (запрос, профиль = профиль)
Файл "/var/cache/salt/minion/extmods/sdb/sqlite3_custom.py", строка 28, удален
conn, cur, table = _connect (профиль)
NameError: имя _connect не определено
ОШИБКА: миньоны вернулись с ненулевым кодом выхода
Ой! Наша настраиваемая функция должна иметь доступ к _connect
, любому связанному импорту, частным функциям и переменным уровня модуля.Загрузчик соли предоставляет только общедоступные функции (без подчеркивания в начале), поэтому любые вызовы общедоступных функций из того же модуля следует изменить на синтаксис __salt __ ['sqlite3.function'] ()
.
Давайте исправим этот конкретный пример, чтобы он работал:
# Импорт ниже скопирован из исходного модуля
from __future__ import absolute_import, print_function, unicode_literals
# Эта закрытая функция импортируется из исходного модуля
из salt.sdb.sqlite3 import _connect
# Импорт ниже скопирован из исходного модуля
пытаться:
импортировать sqlite3
HAS_SQLITE3 = Верно
кроме ImportError:
HAS_SQLITE3 = Ложь
# Исходный модуль не определяет виртуальное имя.Однако это абсолютно
# важно определить его в настраиваемом модуле, иначе загрузчик
# не сможет найти нашу функцию удаления в том же пространстве имен sqlite3
# (это произойдет, если возвращаемое значение __virtual __ () не является строкой)
__virtualname__ = 'sqlite3'
# Эта функция также скопирована из исходного модуля
def __virtual __ ():
'' '
Загружать, только если доступен sqlite3.
'' '
если не HAS_SQLITE3:
return False
вернуть True
# Это новая функция, которую мы хотим добавить
# См. Https: // github.com / saltstack / salt / pull / 51479
def delete (ключ, профиль = None):
'' '
Удалить пару ключ / значение из sqlite3
'' '
если не профиль:
return None
conn, cur, table = _connect (профиль)
q = profile.get ('delete_query', ('УДАЛИТЬ ОТ {0} ГДЕ'
'key =: key'.format (таблица)))
res = cur.execute (q, {'ключ': ключ})
conn.commit ()
счет возврата
Давайте попробуем еще раз:
% sudo salt minion1 saltutil.sync_sdb
миньон1:
- sdb.sqlite3_custom
% sudo salt minion1 sdb.delete sdb: // mysqlite / пароль
миньон1:
1
% sudo salt minion1 sdb.get sdb: // mysqlite / пароль
миньон1:
Нет
Работает! Обратите внимание, что поскольку модуль оверлея имеет другое имя, чем исходный, весь этот код инициализации в модуле восходящего потока по-прежнему запускается. Кроме того, прямой импорт может иметь непредвиденные побочные эффекты.
CAVEAT: ваша пользовательская функция delete
будет игнорироваться (даже с учетом версии), если исходный файл sqlite3.Модуль py
получает собственную функцию delete
(т.е. после обновления Salt).
Защита с учетом версии
Было бы неплохо, если бы пропатченный модуль просто перестал работать с любой версией Salt, которая не соответствует целевой. Тогда любые обновления приведут к громкому сбою, и вы не забудете удалить или обновить пропатченный модуль. Давайте реализуем именно это!
Например, существует проблема № 54755 (сбой пунктов, даже если не используется пункт
), которая сильно повлияла на Salt 2019.2.1. Исправление находится в # 54826; однако его нельзя чисто применить к версии 2019.2.1, потому что модуль менялся несколько раз между выпусками. К счастью, все эти изменения актуальны, поэтому мы можем просто взять модуль state / pip_state.py
из 2019.2.2 или 2019.2.3. Вы можете проверить изменения, используя следующую команду в двух извлеченных архивах выпуска:
% diff -u salt-2019.2. {1,3} /salt/states/pip_state.py
...
РАЗНИЦА ЗДЕСЬ
...
Поместите pip_state.py
из 2019.2.3 в каталог salt: // _ states /
и синхронизируйте его:
% sudo salt minion1 saltutil.sync_states
миньон1:
- States.pip_state
После этого состояние, которое вызвало ошибку, будет работать нормально:
# pip_test_state.sls
/tmp/file.txt:
file.managed:
- содержание: |
Содержание
- если:
- 'grep "Content" /tmp/file.txt'
% sudo salt minion2 state.apply pip_test_state
миньон1:
----------
ID: / tmp / file.текст
Функция: file.managed
Результат: Верно
Комментарий: если условие не истинно
Начат: 06: 47: 19.338294
Продолжительность: 4058,666 мс
Изменения:
Резюме для minion1
------------
Успешно: 1
Ошибка: 0
------------
Всего запущено состояний: 1
Общее время работы: 4,059 с
А теперь самое важное. Нам нужно добавить в модуль защиту с учетом версии, поэтому она будет работать только в версии 2019.2.1. Проверить версию Salt можно несколькими способами:
- Сравните
__grains __ ['saltversion']
со строкой типа'2019.2,1 '
- Сравните
__grains __ ['saltversioninfo']
со списком типа[2019, 2, 1, 0]
- Сравните экземпляры
salt.utils.versions.LooseVersion
- Используйте
salt.utils.versions.warn_until
helper - Сравните
salt.version .__ saltstack_version__
с экземпляромsalt.version.SaltStackVersion
- Сравните кодовые имена выпуска с использованием нового исполнительного модуля
salt_version
в Salt Neon - Используйте новую соль
.utils.versions.warn_until_date
помощник в Salt Neon
Option (5) кажется наиболее надежным (он также должен работать с кандидатами на выпуск и снимками состояния git, а также поддерживать новую схему управления версиями).
Нам нужно поместить сравнение версий в функцию модуля, которая запускается как можно раньше. Для большинства модулей это будет __virtual __ ()
или __init __ (opts)
. Добавленные строки помечены как --- ПРОВЕРКА ВЕРСИИ ---
:
def __virtual __ ():
'' '
Загружать только в том случае, если модуль pip доступен в __salt__
'' '
# --- ПРОВЕРКА ВЕРСИИ ---
из соли.версия import SaltStackVersion, __saltstack_version__ как sv
ver = SaltStackVersion (2019, 2, 1, 0, u '', 0, 0, Нет)
если sv! = ver:
msg = 'Модуль% s несовместим с% s'% (__name__, ver)
log.critical (сообщение)
поднять исключение (сообщение)
# --- КОНЕЦ ПРОВЕРКИ ВЕРСИИ ---
если HAS_PKG_RESOURCES имеет значение False:
return False, 'Библиотека python pkg_resources не установлена'
если 'pip.list' в __salt__:
вернуть __virtualname__
return False
Теперь, если применить pip.установлено состояние
в миньон 2019.2.3, он завершится ошибкой, потому что модуль не загружен:
% sudo salt minion1 state. single pip.installed ipython
миньон1:
Не удалось скомпилировать данные:
----------
Указанное состояние "pip.installed" не найдено
Другой вариант – поместить эту проверку в установленную функцию (...)
(сразу после строки документации и перед телом функции). Это более рискованно, потому что модуль будет загружен и некоторые части могут быть выполнены до проверки.С положительной стороны, провал более заметен:
% sudo salt minion1 state. single pip.installed ipython
миньон1:
----------
ID: ipython
Функция: pip.installed
Результат: неверно
Комментарий: исключение произошло в этом состоянии: Traceback (последний вызов последний):
Файл "/usr/lib/python3/dist-packages/salt/state.py", строка 1933, в вызове
** cdata ['kwargs'])
Файл "/usr/lib/python3/dist-packages/salt/loader.py", строка 1951, в оболочке
return f (* args, ** kwargs)
Файл "/ var / cache / salt / minion / extmods / states / pip_state.ру », строка 675, в установленном
поднять исключение (сообщение)
Исключение: модуль salt.loaded.ext.states.pip_state несовместим с 2019.2.1.
Стартовал: 07: 49: 24.007851
Продолжительность: 4,435 мс
Изменения:
Резюме для minion1
------------
Успешно: 0
Не удалось: 1
------------
Всего запущено состояний: 1
Общее время работы: 4,435 мс
Подведем итоги пару важных деталей:
- Модуль наложения должен называться точно так же, как и исходный (см. Раздел «Переопределение всего модуля»).
- В случае сбоя модуля оверлея (за исключением исключения) исходный модуль не загружается.
- Модуль, расширяющий исходный, должен содержать его имя в имени файла (см. Раздел «Добавление новой функции»).
- Если модуль расширения выйдет из строя за исключением, исходный модуль все равно будет загружен
- Поскольку загрузчик ленив, предупреждение будет срабатывать только при использовании функции
- Если модуль используется неявно (т.е.е., а не по вашим штатам), избегайте создания исключений и вместо этого найдите другие способы ввести предупреждение
Переопределение с учетом версии
Итак, у нас есть небольшой защитный кожух, который помогает нам определять, когда наши пользовательские модули устарели. Но кроличья нора намного глубже, потому что мы можем запускать несколько версий Salt одновременно и, возможно, потребуются разные версии пользовательских модулей.
Решение – использовать солевые среды. Сначала установите основной параметр file_roots
:
file_roots:
основание:
- / срв / соль
Версия v201:
- / srv / salt_201
Во-вторых, убедитесь, что любые нестандартные модули для 2019.2.1 помещаются в соответствующие подкаталоги / srv / salt_201
/ ( _modules
, _states
, _grains
и т. Д.), А не в базовую среду / srv / salt
dir:
% дерево / срв
├── столб
│ └── top.sls
├── соль
│ ├── top.sls
├── salt_201
│ └── _modules
│ └── test.py
Есть два способа привязать миньонов к определенным солям v:
- Использование верхнего напильника
- Использование настройки миньона
saltenv
К сожалению, второй подход не влияет на то, как saltutil.sync_ *
работают функции (модули не синхронизируются). И явный saltutil.sync_all saltenv = v201
будет синхронизировать модули со всеми миньонами, игнорируя настройку saltenv
. Итак, остался единственный вариант – указать saltenvs в верхнем файле:
база:
'*': []
Версия v201:
'saltversion: 2019.2.1':
- совпадение: зерно
Теперь функция saltutil.sync_modules
будет работать должным образом и синхронизировать наш пользовательский test.py
только с minion2
:
% соли '*' тест.версия
миньон1:
2019.2.3
миньон2:
2019.2.1
% sudo salt '*' saltutil.sync_modules
миньон1:
миньон2:
- modules.test
Добавляя больше окружений, вы можете раздавать различные настраиваемые модули разным миньонам, используя любые критерии нацеливания (включая составные сопоставители).
Два предостережения
ПРЕДОСТЕРЕЖЕНИЕ 1: пользовательские модули кэшируются и не удаляются автоматически при обновлении Salt (по крайней мере, для пакетов Ubuntu; другие дистрибутивы могут содержать сценарии удаления, которые очищают эти кеши).Чтобы смягчить это, запустите saltutil.clear_cache
перед обновлением (и, возможно, saltutil.refresh_ *
, если необходимо).
CAVEAT 2: Среды файлового сервера не будут использоваться для прокси-модулей, пока # 56222 не будет объединен. Однако вы можете решить эту проблему, используя метод самообновления, а затем действовать как обычно.
Если вы параноик, вы можете использовать среды в сочетании со средствами защиты с учетом версии, чтобы предотвратить запуск модулей на обновленных миньонах или если вы случайно испортили среды Salt.
Несинхронизируемые модули
Для некоторых типов модулей нет соответствующей команды saltutil.sync_ *
. Например, до Salt Neon нельзя было синхронизировать кастомные исполнители.
Ниже показан настроенный исполнитель direct_call.py
, который регистрирует имя функции:
# - * - кодировка: utf-8 - * -
# direct_call.py
from __future__ import absolute_import, print_function, unicode_literals
импорт журнала
log = logging.getLogger (__ имя__)
def выполнить (opts, data, func, args, kwargs):
журнал.info ("Выполнение функции% s", func)
return func (* args, ** kwargs)
Существует три способа распространения этого настраиваемого модуля исполнителя.
1. Поместите модуль в каталог кэша
Каталог кеша определяется параметром конфигурации extension_modules
( / var / cache / salt / minion / extmods
, менять его не нужно).
# override_executor.sls
/ вар / кеш / соль / миньон / extmods / исполнители:
file.directory:
- македиры: Правда
/ вар / кеш / соль / миньон / extmods / исполнители / direct_call.ру:
file.managed:
- источник: salt: //_executors/direct_call.py
- требуется:
- файл: / var / cache / salt / minion / extmods / executors
Запустите sudo salt minion1 state.apply override_executor
, чтобы применить состояние.
Самым большим недостатком является то, что каталог кеша является непостоянным и может быть очищен (например, если вы запустите команды saltutil.clear_cache
, saltutil.sync_all
, state.highstate
или state.apply
).
2.Путь поиска модуля
Salt имеет несколько настроек для управления путем поиска для каждого типа модуля ( extension_modules
и различные опции * _dirs
). Во-первых, вам нужно настроить миньона. Поместите следующий фрагмент в /etc/salt/minion.d/extmods.conf
и перезапустите миньона (к сожалению, конфигурация миньона на основе столбов не работает в этом случае):
# /etc/salt/minion.d/extmods.conf
execor_dirs:
- / SRV / extmods / исполнители
Затем запустите sudo salt minion1 state.примените override_executor
, чтобы применить следующее состояние:
# override_executor.sls
/ SRV / extmods / исполнители:
file.directory:
- македиры: Правда
/srv/extmods/executors/direct_call.py:
file.managed:
- источник: salt: //_executors/direct_call.py
- требуется:
- файл: / srv / extmods / executors
3. Точки входа в Setuptools
Это самый сложный метод; однако он позволяет устанавливать произвольные наборы настраиваемых модулей вместе с их зависимостями.Я начал писать несколько примеров для этого сообщения в блоге, но затем для краткости отказался от этой идеи. Если вам интересно, как это сделать, посетите страницу документации по модулям упаковки.
Не забудьте добавить защиту с учетом версии всякий раз, когда вы переопределяете встроенный модуль.
Ужасное пространство имен utils
Utils – это особая разновидность модулей (несмотря на то, что они синхронизируются через saltutil.sync_utils
). Иногда они используются через загрузчик (dunder __utils__
), но в большинстве случаев они импортируются напрямую:
% найти соль / -name '*.py '-exec grep -l' __utils __ \ ['\ {\} \; | sort -u | wc -l
159
% find salt / -name '* .py' -exec grep -l 'salt \ .utils' \ {\} \; | sort -u | wc -l
1101
Есть пара проблем с утилитами
:
- Они вложены, и загрузчик соли не может переопределить вложенные модули (например,
salt.utils.docker.translate
), потому что он поддерживает только модуль. Function
нотация - Хотя пользовательские утилиты добавляются в
sys.path
, если присутствует каталог кэшаutils
, они не импортируются как соль.утилит *
- Даже если бы они были импортируемыми, процесс миньона не перезагрузил бы уже импортированные модули, если бы не перезапустился.
- Когда утилиты не вызываются через dunder
__utils__
, загрузчик не вводит__opts__
и другие вредоносные программы. - Пользовательские фильтры Jinja не работают, потому что они добавляются во время импорта через декоратор
@jinja_filter
, но загрузчик ленив и не будет импортировать ничего, если он не используется где-то
Это объясняет длинный список проблем, с которыми люди сталкиваются при попытке переопределить утилиты: # 32500, # 46841, # 46911, # 51719, # 51958, # 52136, # 52222, # 53666, # 55232…
Есть две попытки частично решить этот вариант использования (# 52001 и # 53167 от Альберто Планаса), но пока ни одна из них не была выпущена.
Я смог найти два способа справиться с этим беспорядком, когда патч касается как обычных модулей, так и утилит:
- Скопируйте все измененные функции (и функции, которые используют эти функции!) Из патча utils в модули, которые его используют, и измените все вызовы соответственно
- В качестве альтернативы поместите исправленный модуль utils в каталог
_utils
, а затем измените все вызовы на использование нотации__utils__
При использовании обоих методов вы в конечном итоге запустите две версии функций из модуля utils (старая импортируется как обычно, а новая встроена или вызывается из модуля оверлея).
Самостоятельная установка
Уловка описана DatuX в # 51932. Например, давайте исправим ужасную опечатку, из-за которой Salt 2019.2.1 не запустился, когда была установлена опция ping_interval
(см. # 54777). Патч простой:
diff --git a / salt / minion.py b / salt / minion.py
индекс d1c0c00751..28b4956a49 100644
--- a / salt / minion.py
+++ б / соль / minion.py
@@ -2730,7 +2730,7 @@ класс Миньон (MinionBase):
self._fire_master ('ping', 'minion_ping', sync = False, timeout_handler = ping_timeout_handler)
кроме исключения:
журнал.предупреждение ('Попытка проверить связь с мастером не удалась.', exc_on_loglevel = logging.DEBUG)
- self.remove_periodic_callbback ('пинг', ping_master)
+ self.remove_periodic_callback ('пинг')
self.add_periodic_callback ('ping', ping_master, ping_interval)
# добавить обработчик подписчику
Поместите патч в файл salt: //patches/files/2019.2.1-periodic-callback.diff
, затем создайте следующее состояние и поместите его в salt: // patches / period_callback.sls
:
{% if grains.saltversion == "2019.2.1"%}
# На всякий случай, если не установлена команда патча
патч:
pkg.installed
# Мы используем здесь имя каталога (saltpath) для применения патчей, затрагивающих несколько файлов
period_callback_patch:
file.patch:
- имя: '{{grains.saltpath}}'
- источник: salt: //patches/files/2019.2.1-periodic-callback.diff
- полоса: 2
- требуется:
- pkg: patch
# Установите опцию ping_interval после применения патча
set_ping_interval:
файл.удалось:
- имя: '{{salt ["file.join"] (salt ["config.get"] ("config_dir"), "minion.d", "ping_interval.conf")}}'
- содержание: |
ping_interval: 60
- на изменениях:
- period_callback_patch
# Перезапуск солевого миньона после применения патча и установки параметра конфигурации
# Наивный module.run с service.restart перестал работать в 2019.2.1
# (https://github.com/saltstack/salt/issues/55201), поэтому мы должны использовать вызов соли
# https://docs.saltstack.com/en/latest/faq.html#restart-using-states
restart_salt_minion:
cmd.бегать:
- имя: 'соль-вызов. перезапуск соль-миньон'
- bg: true
- на изменениях:
- файл: set_ping_interval
{% - endif%}
Состояние применит патч, установит необходимый параметр конфигурации и перезапустит миньона. Однако есть несколько вещей, которые можно улучшить:
- Состояние идемпотентное, но для повышения общей производительности мы можем предотвратить его выполнение во второй раз. Вы можете использовать зернистость, чтобы пометить заплатку как примененную.
- Файл
.Состояние патча
не реализовано для Windows (см. # 44783) - Есть и другие специфичные для Windows настройки, которые отсутствуют
Миньоны с начальным исправлением
Все эти методы исправления очень полезны, но также важно знать, как применять их к новым миньонам. Ранее я описал несколько команд, которые вы можете использовать для синхронизации модулей вручную. Пришло время автоматизировать это.
Есть много способов начальной загрузки миньонов Salt: salt-bootstrap, salt-ssh, различные облачные драйверы (включая saltify), salt-run manage.bootstrap
и бесчисленное количество пользовательских скриптов. Самое важное – применять любые переопределения / патчи к миньонам как можно раньше (до запуска любых других состояний). Есть несколько способов сделать это:
- При применении высокого состояния ничего делать не нужно. С опцией конфигурации minion
autoload_dynamic_modules
(по умолчаниюTrue
) Salt автоматически запускаетsaltutil.sync_all
перед применением высокого состояния. - Если по какой-то причине вы отключили вышеуказанный параметр, вы можете поместить состояние, которое синхронизирует модули, в начало
вершины.sls
, поэтому он будет применен первым - Настроить
startup_states
minion setting - Добавить конфигурацию главного реактора для события
salt / minion / * / start
- Подключитесь к процессу начальной загрузки солевого облака
- Написать собственный сценарий начальной загрузки
Если вам нужно перезапустить миньона один раз, чтобы исправление вступило в силу, вы можете комбинировать методы (3) или (4) с техникой перезапуска. Методы (5) и (6) позволяют исправлять миньонов до их запуска.
Полезные команды
Пара команд для устранения неполадок пользовательских модулей:
-
salt-call
вместе с операторами печати или ведения журнала (или с любым интерактивным отладчиком Python, таким какipdb
) -
saltutil.clear_cache
для очистки каталогаextmods
-
cp.list_master prefix = _modules /
(или любой другой каталог), чтобы узнать, какие пользовательские модули доступны на файловом сервере. -
сальтутил.list_extmods
, чтобы увидеть список синхронизируемых модулей -
sys.list_ *
для отображения различных типов модулей
Будущее развитие
- Мы можем ожидать рефакторинга загрузчика соли в 2020 году
- В 2019 году SaltStack представил POP (предупреждение: закрытый контент) в качестве автономной системы плагинов, которая лучше, чем Salt loader. Пока о планах интеграции не сообщается.
Если вам нужна дополнительная помощь
Надеюсь, в этом руководстве достаточно подробностей, чтобы помочь вам применить любые исправления, которые вы хотите.Однако, если вам потребуется дополнительная помощь, я могу предоставить консультацию на неполный рабочий день.
Неизведанные территории
Есть пара кроличьих нор, которые я хотел исследовать, но у меня не было на это времени:
- Как переопределить только одну функцию без копирования всего модуля?
- Замена модулей с помощью провайдеров
- Почему создание исключений из исправленных ядер ядра – это плохо (и что делать вместо этого)?
- Различные хуки соляного облака, которые можно использовать для начальной загрузки исправленных миньонов
- Как предотвратить автозапуск salt-minion (даже в системах Debian / Ubuntu), чтобы вы могли исправить это?
- Написание собственных сценариев начальной загрузки
- Распространение модулей через точки входа в setuptools (пример)
- Исправление миньонов Salt в Windows
- Мастер соли для исправления
- Внутреннее устройство загрузчика (путь поиска модулей, алгоритм загрузки файлов)
Это не обязательство, но я надеюсь осветить эти темы в будущем (если этот пост окажется полезным).