Xen слуз за Kubernetes нодове

Много малка Kubernetes метафора за разработчици, които чуват „tainted nodes“ и веднага си представят предупреждения за замърсяване от Half-Life.

В Kubernetes tainted node звучи като нещо от Half-Life.

Почти можеш да чуеш съобщението на Black Mesa:

Внимание. Засечено е Xen замърсяване.

Но идеята е по-малко мистична от името. Един taint е маркировка върху нод, която казва: не всеки pod има право да бъде тук.

Представи си клъстерен нод, покрит с радиоактивна извънземна слуз. Нормалните pod-ове не трябва да бъдат поставяни там. Нямат правилната защита. Но специален pod може да носи еквивалента на HEV костюм: toleration.

Taint-ът казва:

Това място е опасно, специално или запазено.

Toleration-ът казва:

Знам. Мога да се справя.

Това е връзката. Taint-ът не дърпа pod-а навътре. Не е магнит. По-скоро е предупредителен етикет, отблъскващо поле или маркер за Xen замърсяване. Kubernetes поглежда pod-а и пита: този workload толерира ли това условие?

Ако да, може да бъде разположен там.

Ако не, стои далеч.

Тази разлика има значение. Ако искаш „сложи този pod върху нодове като тези“, обикновено мислиш за labels, selectors или affinity. Taints и tolerations първо са за изключване. Те пазят нодовете от обикновени workloads, освен ако тези workloads не заявят изрично, че могат да влязат.

Затова когато някой каже „the nodes are tainted“, аз чувам:

Black Mesa е маркирала тези машини като опасни, специални или запазени. Само pod-ове с правилния модул за устойчивост могат да влизат.

Което някак е едновременно много Kubernetes и много Half-Life.


Коментари

Boris D. Teoharov

Автор

Здравей, аз съм Борис

Не съм писател. Не съм философ. Просто съм backend инженер от България, който живее между Laravel опашки и индекси със стотици милиони редове. През останалото време чета медицина, която няма работа да чета, френски романи, които разбирам наполовина, и каквото още малката ми гумена глава реши да дъвче. Две спасени кучета ме държат честен.