ΠŸΡ€Π΅Π³Π»Π΅Π΄ ΠΈ сравнСниС Π½Π° Ingress ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈΡ‚Π΅ Π·Π° Kubernetes

ΠŸΡ€Π΅Π³Π»Π΅Π΄ ΠΈ сравнСниС Π½Π° Ingress ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈΡ‚Π΅ Π·Π° Kubernetes

ΠŸΡ€ΠΈ стартиранС Π½Π° Kubernetes ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Π·Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π°Ρ‚ изискванията, ΠΊΠΎΠΈΡ‚ΠΎ самото ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π±ΠΈΠ·Π½Π΅ΡΡŠΡ‚ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΈΠΌΠ°Ρ‚ към Ρ‚ΠΎΠ·ΠΈ рСсурс. Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Ρ‚Π°Π·ΠΈ информация, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΈΡΡ‚ΡŠΠΏΠΈΡ‚Π΅ към Π²Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈ, Π² частност, към ΠΈΠ·Π±ΠΎΡ€Π° Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ Ingress ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ. Π—Π° Π΄Π° ΡΡŠΡΡ‚Π°Π²ΠΈΠΌ основна прСдстава Π·Π° Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ Π±Π΅Π· нСобходимостта Π΄Π° ΠΏΡ€ΠΎΡƒΡ‡Π²Π°ΠΌΠ΅ мноТСство статии/докумСнтация ΠΈ Ρ‚.Π½., ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΡ…ΠΌΠ΅ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€Π΅Π³Π»Π΅Π΄, Π²ΠΊΠ»ΡŽΡ‡Π²Π°ΠΉΠΊΠΈ Π² Π½Π΅Π³ΠΎ основнитС (production ready) Ingress ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ.

НадявамС сС, Ρ‡Π΅ Ρ‚ΠΎΠΉ Ρ‰Π΅ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π½Π° ΠΊΠΎΠ»Π΅Π³ΠΈΡ‚Π΅ ΠΏΡ€ΠΈ ΠΈΠ·Π±ΠΎΡ€Π° Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” ΠΏΠΎΠ½Π΅ Ρ‰Π΅ послуТи ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π° информация ΠΈ практичСски СкспСримСнти. ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ ΠΏΡ€ΠΎΡƒΡ‡ΠΈΡ…ΠΌΠ΅ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈ Π² ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ Π½Π΅ Π΅ ΠΈΠ·Π½Π΅Π½Π°Π΄Π²Π°Ρ‰ΠΎ, Π½Π΅ ΠΎΡ‚ΠΊΡ€ΠΈΡ…ΠΌΠ΅ Π½ΠΈΡ‚ΠΎ Π΅Π΄ΠΈΠ½ ΠΏΠΎ-ΠΏΡŠΠ»Π½ΠΎΡ†Π΅Π½Π΅Π½ ΠΈ, Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΎΡ‚ΠΎ β€” структуриран β€” ΠΏΡ€Π΅Π³Π»Π΅Π΄. Π’Π°ΠΊΠ° Ρ‡Π΅, Π½Π΅ΠΊΠ° запълним Ρ‚ΠΎΠ·ΠΈ Π²Π°ΠΊΡƒΡƒΠΌ!

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ

Π—Π° Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎΡ‚ΠΎ ΠΈ Π΄Π° Π΅ сравнСниС ΠΈ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚, Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅ Π½Π΅ просто ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Π°Ρ‚Π° област, Π½ΠΎ ΠΈ Π΄Π° ΠΈΠΌΠ°Ρ‚Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ списък с ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π·Π°Π΄Π°Π΄Π°Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Π½Π° изслСдванСто. НСцСлСйки Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ всички възмоТни случаи Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ingress/Kubernetes, сС ΠΎΠΏΠΈΡ‚Π°Ρ…ΠΌΠ΅ Π΄Π° ΠΎΡ‚Π΄Π΅Π»ΠΈΠΌ Π½Π°ΠΉ-ΠΎΠ±Ρ‰ΠΈΡ‚Π΅ изисквания към ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈΡ‚Π΅ β€” ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Ρ‚Π΅ сС, Ρ‡Π΅ Π²ΠΈΠ½Π°Π³ΠΈ Ρ‰Π΅ трябва Π΄Π° ΠΈΠ·ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ спСцифичнитС Π΄Π΅Ρ‚Π°ΠΉΠ»ΠΈ ΠΏΠΎΠΎΡ‚Π΄Π΅Π»Π½ΠΎ.

Но Ρ‰Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π° с характСристики, ΠΊΠΎΠΈΡ‚ΠΎ станаха Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΎΠ±ΠΈΡ‡Π°ΠΉΠ½ΠΈ, Ρ‡Π΅ са Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ във всички Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ Π½Π΅ сС Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Ρ‚:

  • Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° услуги (service discovery);
  • SSL Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€Π°Π½Π΅;
  • Ρ€Π°Π±ΠΎΡ‚Π° с websocket-ΠΈ.

Π‘Π΅Π³Π° β€” Π·Π° Ρ‚ΠΎΡ‡ΠΊΠΈΡ‚Π΅ Π½Π° сравнСниС:

ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ

Π•Π΄ΠΈΠ½ ΠΎΡ‚ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΡ‚Π΅ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ Π·Π° ΠΈΠ·Π±ΠΎΡ€. Π’Π°ΡˆΠ΅Ρ‚ΠΎ ПО ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ стандартния HTTP ΠΈΠ»ΠΈ Π΄Π° изисква Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ мноТСство ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ. Ако Π²Π°ΡˆΠΈΡΡ‚ случай Π΅ нСстандартСн, Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Ρ‚ΠΎΠ·ΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ€, Π·Π° Π΄Π° Π½Π΅ сС Π½Π°Π»Π°Π³Π° послС Π΄Π° прСнастройватС ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°. Π‘ΠΏΠΈΡΡŠΠΊΡŠΡ‚ Π½Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ Π²Π°Ρ€ΠΈΡ€Π° ΠΏΡ€ΠΈ всички ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ.

ПО Π² основата

Има няколко Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° прилоТСния, Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ Π±Π°Π·ΠΈΡ€Π°Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΡŠΡ‚. ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΈ са nginx, traefik, haproxy, envoy. Π’ общия случай, Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ повлияС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π° Π½Π°Ρ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΈ ΠΏΡ€Π΅Π΄Π°Π²Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΡŠΡ‚, Π½ΠΎ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π° Π·Π½Π°Π΅Ρ‚Π΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΈΡ‚Π΅ нюанси ΠΈ особСности Π½Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ "ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠ°ΠΊΠ°".

ΠœΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°

На ΠΊΠ°ΠΊΠ²Π° основа ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π²Π·Π΅ΠΌΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° посоката Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° към ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΡΡŠΡ€Π²ΠΈΡ? ОбикновСно Ρ‚ΠΎΠ²Π° са host ΠΈ path, Π½ΠΎ ΠΈΠΌΠ° ΠΈ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ.

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π° Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎΡ‚ΠΎ ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π° (namespace) Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ логичСски Π΄Π° сС раздСлят рСсурситС Π² Kubernetes (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° stage, production ΠΈ Ρ‚.Π½.). Има Ingress-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° сС инсталират ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ Π² всяко пространство ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π° (ΠΈ Ρ‚ΠΎΠ³Π°Π²Π° Ρ‚ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° насочва Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° само Π² pod-ΠΎΠ²Π΅ Π½Π° Ρ‚ΠΎΠ²Π° пространство). А ΠΈΠΌΠ° ΠΈ Ρ‚Π°ΠΊΠΈΠ²Π° (ΠΈ Ρ‚Π΅ са явното мнозинство), ΠΊΠΎΠΈΡ‚ΠΎ работят Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ Π·Π° цСлия ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ β€” ΠΏΡ€ΠΈ тях Ρ‚Ρ€Π°Ρ„ΠΈΠΊΡŠΡ‚ сС насочва към всСки pod Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°, нСзависимо ΠΎΡ‚ пространството ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π°.

ΠŸΡ€ΠΎΠ±ΠΈ Π·Π° upstream-ΠΎΠ²Π΅

Как сС осигурява насочванСто Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° към Π·Π΄Ρ€Π°Π²ΠΈ инстанции Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΡΡŠΡ€Π²ΠΈΡΠΈΡ‚Π΅? Има Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ с Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ ΠΈ пасивни ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΈ ΠΎΠΏΠΈΡ‚ΠΈ (retries), circuit breakers (ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° тях Π²ΠΈΠΆΡ‚Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² статията Π·Π° Istio), собствСни Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π·Π° состояниС (custom health checks) ΠΈ Ρ‚.Π½. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€, особСно Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ високи изисквания към наличността ΠΈ наврСмСнния ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²Ρ€Π΅Π΄Π΅Π½ΠΈ ΡΡŠΡ€Π²ΠΈΡΠΈ ΠΎΡ‚ балансиранСто.

Алгоритми Π·Π° балансиранС

Има мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ: ΠΎΡ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΈ round-robin Π΄ΠΎ Π΅ΠΊΠ·ΠΎΡ‚ΠΈΡ‡Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ rdp-cookie, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ sticky sessions.

АутСнтикация

Какви схСми Π·Π° удостовСряванС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΡŠΡ‚? Basic, digest, oauth, external-auth β€” мисля, Ρ‡Π΅ Ρ‚Π΅Π·ΠΈ ΠΎΠΏΡ†ΠΈΠΈ са извСстни. Π’ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ΅Π½ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ, Π°ΠΊΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚ΡƒΡ€ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ (ΠΈ/ΠΈΠ»ΠΈ просто Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈ), Π΄ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π° Ρ‡Ρ€Π΅Π· Ingress.

Π Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°

ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π»ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΡŠΡ‚ Ρ‚Π°ΠΊΠΈΠ²Π° чСсто ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΊΠ°Ρ‚ΠΎ ΠΊΠ°Π½Π°Ρ€Π΅Π½ΠΈ вСрсии (canary), A/B тСстванС, отразяванС Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° (mirroring/shadowing)? Π’ΠΎΠ²Π° Π΅ наистина Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π° Ρ‚Π΅ΠΌΠ° Π·Π° прилоТСния, ΠΊΠΎΠΈΡ‚ΠΎ изискват Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ ΠΈ ΠΏΡ€Π΅Ρ†ΠΈΠ·Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π·Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎ тСстванС, отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π½Π΅ Π½Π° ΠΆΠΈΠ²ΠΎ (ΠΈΠ»ΠΈ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ Π·Π°Π³ΡƒΠ±ΠΈ), Π°Π½Π°Π»ΠΈΠ· Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ Ρ‚.Π½.

ΠŸΠ»Π°Ρ‚Π΅Π½Π° Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½Ρ‚

Има Π»ΠΈ ΠΏΠ»Π°Ρ‚Π΅Π½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° с Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΈ/ΠΈΠ»ΠΈ тСхничСска ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°?

Π“Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ интСрфСйс (Web UI)

Има Π»ΠΈ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ интСрфСйс Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° конфигурацията Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π°? Основно Π·Π° улСснСниС ΠΈ/ΠΈΠ»ΠΈ Π·Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° правят ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² конфигурацията Π½Π° Ingress, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° с 'сурови' шаблони Π΅ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½Π°. МоТС Π΄Π° бъдС ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² случай, Ρ‡Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ искат Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΄Π° ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Ρ‚ СкспСримСнти с Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°.

JWT валидация

НаличиС Π½Π° Π²Π³Ρ€Π°Π΄Π΅Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° JSON web Ρ‚ΠΎΠΊΠ΅Π½ΠΈ Π·Π° авторизация ΠΈ валидация Π½Π° потрСбитСля Π² ΠΊΡ€Π°ΠΉΠ½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° пСрсонализиранС Π½Π° конфигурацията

Π Π°Π·ΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ Π½Π° ΡˆΠ°Π±Π»ΠΎΠ½ΠΈΡ‚Π΅ относно Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ, позволяващи добавянС Π½Π° собствСни Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΈ, Ρ„Π»Π°Π³ΠΎΠ²Π΅ ΠΈ Ρ‚.Π½. Π² стандартнитС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ шаблони.

Основни ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π° срСщу DDOS

ΠŸΡ€ΠΎΡΡ‚ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° скоростта ΠΈΠ»ΠΈ ΠΏΠΎ-слоТни Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ Π·Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° адрСси, Π±Π΅Π»ΠΈ ΡΠΏΠΈΡΡŠΡ†ΠΈ, Π΄ΡŠΡ€ΠΆΠ°Π²ΠΈ ΠΈ Ρ‚.Π½.

ΠŸΡ€ΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° заявки

Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° наблюдСниС, прослСдяванС ΠΈ отстраняванС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с заявкитС ΠΎΡ‚ Ingress към ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ услуги/pod-ΠΎΠ²Π΅, Π° Π² идСалния случай β€” ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ услуги/pod-ΠΎΠ²Π΅ ΡΡŠΡ‰ΠΎ.

WAF

ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π΅Π½ firewall.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈ Ingress

Π‘ΠΏΠΈΡΡŠΠΊΡŠΡ‚ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈΡ‚Π΅ Π΅ ΡΡŠΡΡ‚Π°Π²Π΅Π½ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½Π°Ρ‚Π° докумСнтация Π½Π° Kubernetes ΠΈ Ρ‚Π°Π·ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°. Някои ΠΎΡ‚ тях ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ…ΠΌΠ΅ ΠΎΡ‚ ΠΏΡ€Π΅Π³Π»Π΅Π΄Π° ΠΏΠΎΡ€Π°Π΄ΠΈ спСцифика ΠΈΠ»ΠΈ ΠΌΠ°Π»ΠΊΠ° популярност (Ρ€Π°Π½Π΅Π½ Π΅Ρ‚Π°ΠΏ Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅). ΠžΡΡ‚Π°Π½Π°Π»ΠΈΡ‚Π΅ са Ρ€Π°Π·Π³Π»Π΅Π΄Π°Π½ΠΈ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ. Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ с ΠΎΠ±Ρ‰ΠΎ описаниС Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ‚Π° ΠΈ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ със синтСтична Ρ‚Π°Π±Π»ΠΈΡ†Π°.

Ingress ΠΎΡ‚ Kubernetes

Π‘Π°ΠΉΡ‚: github.com/kubernetes/ingress-nginx
ЛицСнзия: Apache 2.0

Π’ΠΎΠ²Π° Π΅ официалният ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Π·Π° Kubernetes, ΠΊΠΎΠΉΡ‚ΠΎ сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΎΡ‚ общността. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ ΠΎΡ‚ ΠΈΠΌΠ΅Ρ‚ΠΎ, Ρ‚ΠΎΠΉ Π΅ основан Π½Π° nginx ΠΈ Π΅ допълнСн с Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Lua плъгини, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ. Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° популярността Π½Π° самия nginx ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ ΠΌΡƒ ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€, Ρ‚ΠΎΠ·ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π½Π°ΠΉ-лСсният ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ ΠΎΡ‚ срСдностатистичСския ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ (с ΠΎΠΏΠΈΡ‚ Π² ΡƒΠ΅Π±).

Ingress ΠΎΡ‚ NGINX Inc

Π‘Π°ΠΉΡ‚: github.com/nginxinc/kubernetes-ingress
ЛицСнзия: Apache 2.0

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»Π΅Π½ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° nginx. Има ΠΏΠ»Π°Ρ‚Π΅Π½Π° вСрсия, основана Π½Π° NGINX Plus. ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° идСя Π΅ високото Π½ΠΈΠ²ΠΎ Π½Π° стабилност, постоянна ΠΎΠ±Ρ€Π°Ρ‚Π½Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚, ΠΎΡ‚ΡΡŠΡΡ‚Π²ΠΈΠ΅ Π½Π° всякакви външни ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ заявСното ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ (Π² сравнСниС с официалния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€), постигнато Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΡ‚ΠΊΠ°Π·Π° ΠΎΡ‚ Lua.

Π‘Π΅Π·ΠΏΠ»Π°Ρ‚Π½Π°Ρ‚Π° вСрсия Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄ΠΎΡ€ΠΈ Π² сравнСниС с официалния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ (ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΎΡ‚ΡΡŠΡΡ‚Π²ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΡΡŠΡ‰ΠΈΡ‚Π΅ Ρ‚Π΅Π·ΠΈ Lua ΠΌΠΎΠ΄ΡƒΠ»ΠΈ). ΠŸΠ»Π°Ρ‚Π΅Π½Π°Ρ‚Π° вСрсия ΠΎΠ±Π°Ρ‡Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° доста ΡˆΠΈΡ€ΠΎΠΊ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»: ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅, JWT валидация, Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ. Π’Π°ΠΆΠ½ΠΎΡ‚ΠΎ прСдимство ΠΏΡ€Π΅Π΄ NGINX Ingress Π΅ ΠΏΡŠΠ»Π½Π°Ρ‚Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° TCP/UDP Ρ‚Ρ€Π°Ρ„ΠΈΠΊ (ΠΈ Π² community вСрсията ΡΡŠΡ‰ΠΎ!). ΠΠ΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊ β€” ΠΎΡ‚ΡΡŠΡΡ‚Π²ΠΈΠ΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ±Π°Ρ‡Π΅ β€žΠΈΠΌΠ° максималСн ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅β€œ, Π½ΠΎ изисква Π²Ρ€Π΅ΠΌΠ΅ Π·Π° рСализация.

Kong Ingress

Π‘Π°ΠΉΡ‚: github.com/Kong/kubernetes-ingress-controller
ЛицСнзия: Apache 2.0

ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½ ΠΎΡ‚ компания Kong Inc. Π² Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°: Ρ‚ΡŠΡ€Π³ΠΎΠ²ΡΠΊΠΈ ΠΈ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½. Основан Π½Π° Nginx, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ са Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ с голям Π±Ρ€ΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° Lua.

ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ бСшС насочСн към ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° API заявки, Ρ‚.Π΅. ΠΊΠ°Ρ‚ΠΎ API Gateway, ΠΎΠ±Π°Ρ‡Π΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° сС Π΅ трансформирал Π² ΠΏΡŠΠ»Π½ΠΎΡ†Π΅Π½Π΅Π½ Ingress ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€. ΠžΡΠ½ΠΎΠ²Π½ΠΈΡ‚Π΅ прСдимства са: мноТСство Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈ ΠΎΡ‚ Ρ‚Ρ€Π΅Ρ‚ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ), ΠΊΠΎΠΈΡ‚ΠΎ лСсно сС инсталират ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°, ΠΈ с ΠΊΠΎΠΈΡ‚ΠΎ сС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚ ΡˆΠΈΡ€ΠΎΠΊ ΡΠΏΠ΅ΠΊΡ‚ΡŠΡ€ ΠΎΡ‚ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π΅Ρ‡Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡΡ‚Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° CRD рСсурси.

Π’Π°ΠΆΠ½ΠΎ прСдимство Π½Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° β€” Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅Π΄ΠΈΠ½ ΠΊΠΎΠ½Ρ‚ΡƒΡ€ (вмСсто cross-namespaced) Π΅ спорна Ρ‚Π΅ΠΌΠ°: Π½Π° някой ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΌΡƒ сС стори Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊ (Π½Π°Π»Π°Π³Π° сС Π΄Π° сС ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ сущности Π·Π° всСки ΠΊΠΎΠ½Ρ‚ΡƒΡ€), Π° Π·Π° Π΄Ρ€ΡƒΠ³ β€” функция (ΠΏΠΎ-високо Π½ΠΈΠ²ΠΎ Π½Π° изолация, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π°ΠΊΠΎ Π΅Π΄ΠΈΠ½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Π΅ ΠΏΠΎΠ²Ρ€Π΅Π΄Π΅Π½, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ остава ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ само Π² Π΅Π΄ΠΈΠ½ ΠΊΠΎΠ½Ρ‚ΡƒΡ€).ΠΏΠΎ-Π½Π°ΠΉ-високото Π½ΠΈΠ²ΠΎ Π½Π° изолация, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ€Π΅Π΄Π° Π½Π° Π΅Π΄ΠΈΠ½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ само Π΄ΠΎ Π΅Π΄ΠΈΠ½ ΠΊΠΎΠ½Ρ‚ΡƒΡ€).

Traefik

Π‘Π°ΠΉΡ‚: github.com/containous/traefik
ЛицСнзия: MIT

ΠŸΡ€ΠΎΠΊΡΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Π΅ създадСн Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° заявки Π·Π° микросСрвизи ΠΈ тяхната Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Π° срСда. ΠžΡ‚Ρ‚ΡƒΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: обновяванС Π½Π° конфигурацията напълно Π±Π΅Π· рСстартиранС, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° мноТСство ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° балансировка, ΡƒΠ΅Π± интСрфСйс, прСнос Π½Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ, REST API, ΠΊΠ°Π½Π°Ρ€Π΅Ρ‡Π½ΠΈ Ρ€Π΅Π»ΠΈΠ·ΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ. ΠŸΡ€ΠΈΡΡ‚Π½Π° функция Π΅ ΡΡŠΡ‰ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Let’s Encrypt сСртификати ΠΎΡ‚ кутията. ΠΠ΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊΡŠΡ‚ Π΅, Ρ‡Π΅ Π·Π° организация Π½Π° висока Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎΡΡ‚ (HA) ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΡŠΡ‚ изисква инсталиранС ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° собствСно KV Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

HAProxy

Π‘Π°ΠΉΡ‚: github.com/jcmoraisjr/haproxy-ingress
ЛицСнзия: Apache 2.0

HAProxy Π΅ Π΄ΠΎΠ±Ρ€Π΅ ΠΏΠΎΠ·Π½Π°Ρ‚ ΠΊΠ°Ρ‚ΠΎ прокси ΠΈ балансировчик Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. Π’ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° ΠΊΠ»ΡŠΡΡ‚ΡŠΡ€ Kubernetes сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° β€žΠΌΠ΅ΠΊΠΎβ€œ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° конфигурацията (Π±Π΅Π· Π·Π°Π³ΡƒΠ±Π° Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊ), ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈΠ΅ Π½Π° услуги Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° DNS, Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Π° конфигурация Ρ‡Ρ€Π΅Π· API. ΠŸΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»Π½ΠΎ Π΅ ΠΏΡŠΠ»Π½ΠΎΡ‚ΠΎ пСрсонализиранС Π½Π° конфигурационния шаблон Ρ‡Ρ€Π΅Π· замяна Π½Π° CM, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Sprig. Π’ ΠΎΠ±Ρ‰ΠΈ Π»ΠΈΠ½ΠΈΠΈ, основният Π°ΠΊΡ†Π΅Π½Ρ‚ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ Π²ΡŠΡ€Ρ…Ρƒ висока скорост Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°, оптимизация ΠΈ СфСктивност Π² ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° рСсурси. ΠŸΡ€Π΅Π΄ΠΈΠΌΡΡ‚Π²ΠΎΡ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Ρ€Π΅ΠΊΠΎΡ€Π΄Π΅Π½ Π±Ρ€ΠΎΠΉ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° балансировка.

Voyager

Π‘Π°ΠΉΡ‚: github.com/appscode/voyager
ЛицСнзия: Apache 2.0

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° HAproxy, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΊΠ°Ρ‚ΠΎ унивСрсално Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‰ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° мноТСство доставчици. ΠŸΡ€Π΅Π΄Π»Π°Π³Π° сС Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° балансировка Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π½Π° L7 ΠΈ L4, Π° балансировката Π½Π° TCP L4 Ρ‚Ρ€Π°Ρ„ΠΈΠΊΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π½Π°Ρ€Π΅Ρ‡Π΅Π½Π° Π΅Π΄Π½Π° ΠΎΡ‚ ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.

Contour

Π‘Π°ΠΉΡ‚: github.com/heptio/contour
ЛицСнзия: Apache 2.0

Π’ основата Π½Π° Ρ‚ΠΎΠ²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ само Π»Π΅Π³Π½Π° Envoy: Ρ‚ΠΎ Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΎ Π² ΡΡŠΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ с Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ популярСн прокси. Π’Π°ΠΆΠ½Π° функция Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° раздСлянС Π½Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° рСсурситС Ingress Ρ‡Ρ€Π΅Π· CRD рСсурси IngressRoute. Π—Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ с мноТСство Π΅ΠΊΠΈΠΏΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ Π΅Π΄ΠΈΠ½ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€, Ρ‚ΠΎΠ²Π° ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° сС максимизира бСзопасността Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° с Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π² съсСдни ΠΊΠΎΠ½Ρ‚ΡƒΡ€ΠΈ ΠΈ Π΄Π° сС защитят ΠΎΡ‚ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΡ€ΠΈ промяна Π½Π° рСсурситС Ingress.

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° балансиранС (ΠΈΠΌΠ° зСркализация Π½Π° заявкитС, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΈ повторСния, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° броя Π½Π° заявкитС ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ), Π΄Π΅Ρ‚Π°ΠΉΠ»Π΅Π½ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° ΠΏΠΎΡ‚ΠΎΠΊΠ° Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ сривовСтС. МоТС Π±ΠΈ Π·Π° някои Ρ‰Π΅ бъдС ΡΡŠΡ‰Π΅ΡΡ‚Π²Π΅Π½ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊ липсата Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° sticky sessions (Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²Π΅Ρ‡Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚).

Istio Ingress

Π‘Π°ΠΉΡ‚: istio.io/docs/tasks/traffic-management/ingress
ЛицСнзия: Apache 2.0

КомплСксно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° service mesh, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ Π΅ само Ingress ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€, управляващ входящия Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° цСлия Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°. Под ΠΊΠ°ΠΏΠ°ΠΊΠ°, Π·Π° всСки сСрвис сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Envoy ΠΊΠ°Ρ‚ΠΎ sidecar прокси. По ΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΎ Ρ‚ΠΎΠ²Π° Π΅ голям ΠΊΠΎΠΌΠ±Π°ΠΉΠ½, ΠΊΠΎΠΉΡ‚ΠΎ β€žΠΌΠΎΠΆΠ΅ Π²ΡΠΈΡ‡ΠΊΠΎβ€œ, Π° основната ΠΌΡƒ идСя Π΅ максимална управляСмост, Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚, сигурност ΠΈ прозрачност. Π‘ Π½Π΅Π³ΠΎΠ²Π° ΠΏΠΎΠΌΠΎΡ‰ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π² Π΄Π΅Ρ‚Π°ΠΉΠ»ΠΈ Π΄Π° настройватС ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡΡ‚Π° Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, авторизацията Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ услугитС, балансиранСто, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, ΠΊΠ°Π½Π°Ρ€Π΅ΠΉΠ½ΠΈΡ‚Π΅ вСрсии ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ. ΠŸΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Istio ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π² сСрия ΠΎΡ‚ статии β€žΠΠ°Π·Π°Π΄ към микросСрвиситС с IstioΒ».

Ambassador

Π‘Π°ΠΉΡ‚: github.com/datawire/ambassador
ЛицСнзия: Apache 2.0

ΠžΡ‰Π΅ Π΅Π΄Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Envoy. Има Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½Π° ΠΈ комСрсиална вСрсия. ΠŸΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π° сС ΠΊΠ°Ρ‚ΠΎ β€žΠ½Π°ΠΏΡŠΠ»Π½ΠΎ Ρ€ΠΎΠ΄Π½ΠΎ Π·Π° Kubernetesβ€œ, ΠΊΠΎΠ΅Ρ‚ΠΎ носи ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ прСдимства (тясна интСграция с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ ΠΈ сущноститС Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° K8s).

Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°

И Ρ‚Π°ΠΊΠ°, кулминацията Π½Π° статията β€” Ρ‚Π°Π·ΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°:

ΠŸΡ€Π΅Π³Π»Π΅Π΄ ΠΈ сравнСниС Π½Π° Ingress ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ΠΈΡ‚Π΅ Π·Π° Kubernetes

Вя Π΅ ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌΠ° Π·Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΡ€Π΅Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅, Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ Π½Π°Π»ΠΈΡ‡Π½Π° във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Google Sheets.

НСка ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΠΌ

Π¦Π΅Π»Ρ‚Π° Π½Π° статията Π΅ Π΄Π° прСдостави ΠΏΠΎ-пълно Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ (Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π½Π΅ съвсСм ΠΈΠ·Ρ‡Π΅Ρ€ΠΏΠ°Ρ‚Π΅Π»Π½ΠΎ!) относно Ρ‚ΠΎΠ²Π° какъв ΠΈΠ·Π±ΠΎΡ€ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ във вашия ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ случай. ΠšΠ°ΠΊΡ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ, всСки ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈΠΌΠ° свои прСдимства ΠΈ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈβ€¦

ΠšΠ»Π°ΡΠΈΡ‡Π΅ΡΠΊΠΈΡΡ‚ Ingress ΠΎΡ‚ Kubernetes сС ΠΎΡ‚Π»ΠΈΡ‡Π°Π²Π° със своята Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎΡΡ‚ ΠΈ надСТдност, ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π±ΠΎΠ³Π°Ρ‚ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ β€” Π² ΠΎΠ±Ρ‰ΠΈ Π»ΠΈΠ½ΠΈΠΈ, Ρ‚ΠΎΠΉ трябва Π΄Π° Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π΅Π½. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ повишСни изисквания Π·Π° стабилност, особСности ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅, струва си Π΄Π° сС ΠΎΠ±ΡŠΡ€Π½Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ingress с NGINX Plus ΠΈ ΠΏΠ»Π°Ρ‚Π΅Π½ Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½Ρ‚. Kong Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π° с ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΎΡ‚ плъгини (ΠΈ, ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ, прСдоставяни ΠΎΡ‚ тях Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ), Π° Π² ΠΏΠ»Π°Ρ‚Π΅Π½Π°Ρ‚Π° вСрсия Π³ΠΈ ΠΈΠΌΠ° Π΄ΠΎΡ€ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅. Π’ΠΎΠΉ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΡˆΠΈΡ€ΠΎΠΊΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΊΠ°Ρ‚ΠΎ API Gateway, Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Π° конфигурация Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° CRD рСсурси, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ основни услуги Π½Π° Kubernetes.

ΠŸΡ€ΠΈ повишСни изисквания към Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° удостовСряванС, Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΉΡ‚Π΅ Traefik ΠΈ HAProxy. Π’ΠΎΠ²Π° са Open Source ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΈ с Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ стабилни ΠΈ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅. Contour ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° ΠΎΡ‚ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Π½ΠΎ всС ΠΎΡ‰Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π²ΡŠΡ€Π΄Π΅ Π½ΠΎΠ² ΠΈ ΠΈΠΌΠ° само основни Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½Π°Π΄ Envoy. Ако ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ WAF ΠΏΡ€Π΅Π΄ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, струва си Π΄Π° сС ΠΎΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ към ΡΡŠΡ‰ΠΈΡ Ingress ΠΎΡ‚ Kubernetes ΠΈΠ»ΠΈ HAProxy.

Най-Π±ΠΎΠ³Π°Ρ‚ΠΈΡ‚Π΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ са ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΡ‚Π΅, ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Envoy, особСно Istio. Π’ΠΎΠΉ сС прСдставя ΠΊΠ°Ρ‚ΠΎ комплСксно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ 'ΠΌΠΎΠΆΠ΅ всичко', ΠΊΠΎΠ΅Ρ‚ΠΎ, ΠΎΠ±Π°Ρ‡Π΅, ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-висок ΠΏΡ€Π°Π³ Π½Π° Π²Ρ…ΠΎΠ΄ ΠΏΡ€ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅/стартиранС/администриранС Π² сравнСниС с Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

НиС ΠΈΠ·Π±Ρ€Π°Ρ…ΠΌΠ΅ ΠΈ всС ΠΎΡ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ingress ΠΎΡ‚ Kubernetes ΠΊΠ°Ρ‚ΠΎ стандартСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠΊΡ€ΠΈΠ²Π° 80β€”90% ΠΎΡ‚ Π½ΡƒΠΆΠ΄ΠΈΡ‚Π΅. Π’ΠΎΠΉ Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½, лСсСн Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ ΠΈ Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°Π½Π΅. По ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, ΠΏΡ€ΠΈ липса Π½Π° спСцифични изисквания, Ρ‚ΠΎΠΉ трябва Π΄Π° ΠΏΠΎΠ΄Ρ…ΠΎΠΆΠ΄Π° Π½Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ/прилоТСния. ΠžΡ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ унивСрсални ΠΈ относитСлно прости ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π°Ρ‚ Traefik ΠΈ HAProxy.

P.S.

ΠŸΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΡΡŠΡ‰ΠΎ Π² нашия Π±Π»ΠΎΠ³:

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster