What are egress windows

What are Egress Windows?

“Egress” is from the Latin egressus meaning “a going out”. It refers to a place to exit. An egress window allows an easy and safe exit in the event of an emergency such as a fire. In most homes across the US, an egress is required for any room used as a bedroom and for basements. They’re an escape hatch when other exits are inaccessible. These windows aren’t defined by their shape or style so much as their location and measurements.

What’s an Egress Window?

An egress window is defined as meeting (or exceeding) specific requirements that allow safe exit from a room in a residence. An adult must be able to pass through the window with ease. The measurements also consider the ability of first responders to enter and exit through the window with equipment.

Who’s the Authority on Egress Windows?

Egress window requirements are usually outlined in city ordinances. These ordinances build their standards off of the International Residential Code . Most jurisdictions in the US have adopted the IRC as a base code.

Per the residential code for the City of Arlington , general egress window standards are as follows:

Every sleeping room below the fourth (4th) story shall have at least one (1) operable window or exterior door approved for emergency egress or rescue. The units shall be operable from the inside to provide a full clear opening without the use of separate tools.

Minimum Opening: 5.7 sqft (5 sqft below grade)

Minimum Width: 20”

Minimum Height: 24”

Maximum Height from Ground: 44″

Note that the minimum opening refers to the actual clear space around the window once it’s open. This usually prevents egress windows from being placed under decks, porches, etc. You should refer to your city’s residential code to ensure your window locations are compliant.

Common Egress Window Styles

Since these windows are delineated by their functionality, there’s a lot of style latitude. Most window companies offer custom sizing for each window style they sell. A request to adjust the dimensions can make your selection code compliant.

There are a few window styles that may be more conducive to a safe and easy exit:

1. Casement Egress Windows

Casement windows work best for basement egress because of their inherent design. They have hinged sashes on the side and can swing inward or outward. This window style doesn’t require special engineering to open and allow exit. The units are just required to meet the dimensional standards. Select vendors make single and double-hung casement style windows.

2. Double or Single Hung Egress Windows

Single and double hung windows are a very common style found throughout older and newer homes. These windows consist of two sashes, which can either open upward or downward.

There are also double or single hung style windows built with egress use in mind and constructed to swing open for easy passage. The “casement” function on these windows isn’t necessary and is less common. Again, the unit simply needs to have the right height, width, and opening measurements to qualify as an egress window.

3. Sliding Egress Windows

Sliding windows open horizontally from one side. This window style can be engineered to swing in a “casement” style as well. Again, that function isn’t required and is less common. Simply ensure the opening, height, and width are in line with your local code.

Читайте также:  Установка windows с помощью daemon tools

Egress Window Wells and Covers

The purpose of an egress window is to provide a safe exit from the home. External elements can contribute to making these kinds of windows more functional. For example, basements are usually quite deep into the earth. More often than not, a basement egress window will be level with — dirt. Enter the window well which helps ease the passage from the window up out and out into the yard space. The well can be made of a variety of materials such as plastic, stone, wood, or concrete. Covers can help prevent the accumulation of water in the well.

A window well is a structure that encircles the window exit. It encompasses stairs or steps up from the window back to grade-level. Window wells can be made of a variety of materials such as stone, concrete, wood, or plastic. Covers can help prevent water accumulation inside the well.

Common Egress Window Questions

Does my home need egress windows?

Yes. Every room in your home used for sleeping needs a window or exterior door capable of use as an emergency exit. The windows need to meet certain measurements based on your local government to qualify as egress.

What are the specific qualifications for egress windows?

An egress window is determined by its adherence to specific measurements. These dimension requirements are specific to your local government and outlined in its building ordinances. For the City of Arlington, an egress window must meet the below standards:

Minimum Opening: 5.7 sqft (5 sqft below grade)

Minimum Width: 20”

Minimum Height: 24”

Maximum Height from Ground: 44″

How much does installation cost?

Costs will vary based on the below:

  • New or replacement window unit
  • Window style, material, and glass
  • Contractor or installation fees

Can an egress window be under a deck?

In Arlington, TX, yes, if it meets the below standards:

Minimum Opening: 5.7 sqft (5 sqft below grade)

Minimum Width: 20”

Minimum Height: 24”

Maximum Height from Ground: 44″

Can a skylight be an egress window?

That depends on where you live and your city’s building ordinances. In the City of Arlington, the sill of an egress window must not be higher than 44” off the ground. If a skylight for an Arlington home exceeds this height, it will not qualify as an egress window.

If you’re considering adding a new bedroom to your home, or are a Texas basement trailblazer, egress windows need to make your priority list. Discuss proper location, space accommodation and sizing with your contractor. Use your local residential codes as a reference. Finding the proper window is easy once you have the required measurements and aesthetic goals in mind.

Want to learn more about how Brennan can renew the look of your house?

Get in touch with our team and score a free in-home demo.

Все об OpenShift Egress. Часть 1

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

Итак, в каких ситуациях нужен контроль исходящего из кластера трафика?

Можно выделить три типовых сценария использования.

Доступ к внешнему ресурсу контролируется извне кластера

Например, есть внешняя база данных, доступ к которой контролируется межсетевым экраном, и требуется предоставить доступ к этой БД только для определенных POD кластера. По умолчанию POD при взаимодействии с внешними ресурсами используют IP-адрес узла кластера, поэтому задача не решается «в лоб».

Читайте также:  Ошибка windows sistem32 winload exe

Можно выделить несколько узлов исключительно под эти POD, но это зачастую не выход. Узлов понадобится несколько (нам же нужна отказоустойчивость), а требуемых POD может быть совсем немного. Узлы могут получать IP адреса по DHCP, что также затрудняет решение проблемы. Ну и, наконец, таких внешних «зон безопасности» может быть много, и выделять под каждую по два узла совсем не хочется.

Для определенных POD в кластере требуется доступ в изолированные сегменты сети

Типичным случаем здесь является организация доступа определенных POD к сегментам сети, расположенным в другом VLAN (которого нет на узлах кластера) или вообще на другом оборудовании (например, по требованиям PCI DSS).

Создавать по кластеру в каждом таком сегменте — дорого и к тому же тяжело поддерживать. А заводить требуемый VLAN на узлы кластера не будут: его для этого и сделали, чтобы доступ получило только то ПО и оборудование, которое участвует в этом критичном с точки зрения ИБ бизнес-процессе.

К пропускной способности или задержкам сети определенных POD предъявляются особые требования

Например, приложение требует для нормальной работы выделенного соединения 10G Ethernet и полностью его утилизирует. В этом случае также непонятно, как обеспечить эти требования в условиях одновременной работы десятков или сотен POD на одном рабочем узле. Не выделять же полностью узел кластера под один подобный POD.

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

Egress IP и Egress Router

Static IP Egress

В OpenShift, начиная с версии 3.7, появилась возможность выделить фиксированные адреса на namespace, и именно с этих адресов все POD в этом namespace будут обращаться к внешним ресурсам кластера. Реализовано это средствами OpenShift SDN.

Как это работает:

    Создадим проект «egress» и запустим в нем тестовый POD «tool»:

Выполним запрос к внешнему серверу с POD и посмотрим, с какого адреса мы пришли:

Видно, что «наружу» из POD tool мы попадаем с узла кластера shift-worker1:

Присвоим по одному статическому IP-адресу для egress на два узла кластера и укажем, что эти адреса должны использоваться для egress трафика в namespace «egress»:

После этого OpenShift создаст network alias на основном интерфейсе узла (интерфейс с суффиксом :eip, то есть интерфейс для egress IP):

Теперь при запуске обращения из нашего контейнера видно, что мы приходим к WEB-серверу с назначенного Egress адреса:

Всё работает, но непонятно, как именно:) Например, контейнер, как мы видели ранее, работает на узле shift-worker1. На этот узел был назначен адрес Egress IP = 192.168.111.226. Так почему же мы выходим из кластера с Egress IP = 192.168.111.225?

Ответ на этот вопрос дает статья How to Enable Static Egress IP in OCP. Давайте с ее помощью выясним, что же происходит «под капотом» OpenShift при использовании Egress IP.

    В таблице NAT в iptables на shift-worker1 есть такие строчки:

То есть iptables на этом узле изменит source address на 192.168.111.226 для всех пакетов c меткой 0xe28820. Аналогичная картина будет и на shift-worker0, только адрес для трансляции будет 192.168.111.225.
Осталось выяснить, откуда берется эта метка. А метку ставит OpenShift SDN на все пакеты, которые выходят из namespace «egress».

Принадлежность к проекту определяется его virtual network ID (VNID), в нашем случае 0xe28820 — это шестнадцатеричное значение VNID для проекта egress.

OpenShift SDN заворачивает все подобные пакеты в tunnel interface vxlan0 с указанием, что доставить пакет надо на хост shift-worker0:

Таким образом, OpenShift SDN выбирает «основной» Egress IP-адрес, и все пакеты с проекта помечает меткой и отправляет на хост, содержащий «основной» Egress IP. На этом хосте iptables выполняет Source NAT, и задача решена. Если хост с «основным» Egress IP становится недоступен, то пакеты перенаправляются на следующий в списке Egress IP-адресов хост (в нашем случае это будет shift-worker1).

Если мы выключим хост shift-worker0, то наш тестовый POD «наружу» будет выходить уже с адресом 192.168.111.226, который мы присвоили узлу shift-worker1:

Читайте также:  Как убрать надпись активация windows чтобы активировать windows 10 навсегда

192.168.111.226 — — [30/Oct/2020:15:28:38 +0300] «GET /test HTTP/1.1» 200 8 «-» «curl/7.29.0»

Именно поэтому нам нужно как минимум два IP-адреса при использовании Egress IP. В случае отказа одного узла кластера POD мы сможем получить доступ к внешним ресурсам с заданных IP.

Описанная здесь схема организации Egress хорошо подходит для первого сценария использования, когда доступ к внешним по отношению к кластеру ресурсам определяется межсетевым экраном или самим ресурсом. Применительно к нашему стенду все POD в проекте «egress» (POD2 – POD4) при обращении «наружу» получат заранее определенные адреса (192.168.111.225 или 192.168.111.225) вне зависимости от того, на каком узле кластера они находятся. Остальные POD кластера при обращении к внешним ресурсам получат IP-адрес узла кластера и будут отвергнуты либо МЭ, либо приложением.

Subnet IP Egress

Если нужно сделать фиксированные Egress-адреса для нескольких проектов, то использовать Egress IP неудобно. В этом случае узлам кластера можно указать, какую подсеть использовать, а проекту — какой IP адрес из этой подсети взять.

После этого указываем проекту, какой IP-адрес использовать для исходящего трафика:

Разумеется, egressCIDR должен быть в той же подсети, что и основной IP-адрес узла. И выделять два адреса на проект в данном случае не требуется — при отказе узла используемый адрес «переедет» на другой доступный узел с установленным egressCIDR (при условии, что этот адрес в него входит).

Egress Router

Рассказывая про Egress в OpenShift, важно также упомянуть про Egress router. Он применялся еще до того, как появилась возможность контролировать исходящий трафик средствами Openshift SDN. В качестве решения использовался специальный POD, у которого один адрес находился в кластерной сети OpenShift, а другой получал внешний IP-адрес и доступ к физическому интерфейсу узла через macvlan CNI plugin.

Этот POD выступал в роли маршрутизатора между внутренней сетью кластера и внешними сетями за пределами OpenShift. Пример управления исходящим трафиком через Egress router можно посмотреть на странице Red Hat OpenShift Blog. Но так как конфигурация на базе OpenShfit SDN проще в настройке и поддержке, описание решения на базе Egress router в OpenShift версии 4 удалено из документации.

Vanilla Kubernetes

А что с управлением Egress трафиком в «ванильном» Kubernetes? К сожалению, единого решения здесь нет. Все зависит от возможностей SDN, который используется в работе кластера. Например, Calico позволяет отключить Source NAT для определенного пула IP-адресов. Но в этом случае вопросы маршрутизации трафика между POD кластера и внешним миром придется решать самостоятельно.

Резюме

В OpenShift можно штатными средствами SDN организовать контроль IP-адресации исходящего трафика, чтобы обеспечить требования внешних систем контроля доступа. При этом необходимо понимать возникающие в работе кластера технические нюансы:

  1. Весь исходящий трафик от проекта с фиксированным Egress IP будет направлен через один узел кластера вне зависимости от того, где находятся POD этого проекта. Если у вас на кластере большая нагрузка на сетевую подсистему, то это может увеличить задержки в передаче данных;
  2. Network alias для Egress IP будет создан на первом с точки зрения OC интерфейсе. Поэтому, если на узлах несколько интерфейсов, необходимо, чтобы «основной» из них был первым;
  3. Вам придется заняться IP address management для Egress IP. Это очевидно: раз вы сами занимаетесь выделением IP, то и контроль за корректностью тоже будет за вами.

Описанные выше способы организации Egress прекрасно помогают решить проблемы, когда нам нужно для определенных проектов получить фиксированные и отдельные от кластера IP адреса для исходящего трафика. Но что делать, если нам необходимо попасть в другой VLAN?

Подмена IP-адресов здесь никак не поможет. Решением является использование CNI «meta-plugin» Multus. Multus CNI plugin стал доступен в качестве поддерживаемого компонента в OpenShift 4.1 и фактически позволяет организовать подключение POD к нескольким сетям одновременно.

Настройке и использованию Multus CNI Plugin в OpenShift посвятим вторую часть этого поста.

Список литературы

Автор: Сергей Артемов, руководитель отдела DevOps-решений «Инфосистемы Джет»

Оцените статью