ืกืงื™ืจื” ื•ื”ืฉื•ื•ืื” ืฉืœ ื‘ืงืจื™ Ingress ืขื‘ื•ืจ Kubernetes

ืกืงื™ืจื” ื•ื”ืฉื•ื•ืื” ืฉืœ ื‘ืงืจื™ Ingress ืขื‘ื•ืจ Kubernetes

ื‘ืขืช ื”ืฉืงืช ืืฉื›ื•ืœ Kubernetes ืขื‘ื•ืจ ืืคืœื™ืงืฆื™ื” ืกืคืฆื™ืคื™ืช, ืขืœื™ืš ืœื”ื‘ื™ืŸ ืžื” ื”ืืคืœื™ืงืฆื™ื” ืขืฆืžื”, ื”ืขืกืง ื•ื”ืžืคืชื—ื™ื ืžืฆื™ื‘ื™ื ื‘ืคื ื™ ืžืฉืื‘ ื–ื”. ื‘ืขื–ืจืช ื”ืžื™ื“ืข ื”ื–ื” ืชื•ื›ืœื• ืœื”ืชื—ื™ืœ ืœืงื‘ืœ ื”ื—ืœื˜ื” ืืจื›ื™ื˜ืงื˜ื•ื ื™ืช ื•ื‘ืขื™ืงืจ ืœื‘ื—ื•ืจ ื‘ื‘ืงืจ Ingress ืกืคืฆื™ืคื™, ืฉื›ื‘ืจ ื”ื™ื•ื ื™ืฉ ืžืกืคืจ ื’ื“ื•ืœ ืžืžื ื•. ืขืœ ืžื ืช ืœืงื‘ืœ ืžื•ืฉื’ ื‘ืกื™ืกื™ ืขืœ ื”ืืคืฉืจื•ื™ื•ืช ื”ื–ืžื™ื ื•ืช ืžื‘ืœื™ ืœืขื‘ื•ืจ ืขืœ ื”ืจื‘ื” ืžืืžืจื™ื/ืชื™ืขื•ื“ ื•ื›ื•', ื”ื›ื ื• ืกืงื™ืจื” ื›ืœืœื™ืช ื–ื•, ื›ื•ืœืœ ื‘ืงืจื™ ื”-Ingress ื”ืขื™ืงืจื™ื™ื (ื”ืžื•ื›ื ื™ื ืœื™ื™ืฆื•ืจ).

ืื ื• ืžืงื•ื•ื™ื ืฉื–ื” ื™ืขื–ื•ืจ ืœืขืžื™ืชื™ื ื‘ื‘ื—ื™ืจืช ืคืชืจื•ืŸ ืื“ืจื™ื›ืœื™ - ืœืคื—ื•ืช ื™ื”ืคื•ืš ืœื ืงื•ื“ืช ืžื•ืฆื ืœื”ืฉื’ืช ืžื™ื“ืข ืžืคื•ืจื˜ ื™ื•ืชืจ ื•ื ื™ืกื•ื™ื™ื ืžืขืฉื™ื™ื. ื‘ืขื‘ืจ, ืœืžื“ื ื• ื—ื•ืžืจื™ื ื“ื•ืžื™ื ืื—ืจื™ื ื‘ืจืฉืช, ื•ืœืžืจื‘ื” ื”ืคืœื, ืœื ืžืฆืื ื• ืกืงื™ืจื” ืื—ืช ืฉืœืžื” ื™ื•ืชืจ ืื• ืคื—ื•ืช, ื•ื”ื›ื™ ื—ืฉื•ื‘ - ืžื•ื‘ื ื™ืช. ืื– ื‘ื•ืื• ื ืžืœื ืืช ื”ื—ืกืจ ื”ื–ื”!

ืงืจื™ื˜ืจื™ื•ื ื™ื

ื‘ืื•ืคืŸ ืขืงืจื•ื ื™, ื›ื“ื™ ืœื‘ืฆืข ื”ืฉื•ื•ืื” ื•ืœืงื‘ืœ ื›ืœ ืชื•ืฆืื” ืฉื™ืžื•ืฉื™ืช, ืืชื” ืฆืจื™ืš ืœื”ื‘ื™ืŸ ืœื ืจืง ืืช ืชื—ื•ื ื”ื ื•ืฉื, ืืœื ื’ื ืœืงื‘ืœ ืจืฉื™ืžื” ืกืคืฆื™ืคื™ืช ืฉืœ ืงืจื™ื˜ืจื™ื•ื ื™ื ืฉืชืงื‘ืข ืืช ื•ืงื˜ื•ืจ ื”ืžื—ืงืจ. ืžื‘ืœื™ ืœื”ืชื™ื™ืžืจ ืœื ืชื— ืืช ื›ืœ ื”ืžืงืจื™ื ื”ืืคืฉืจื™ื™ื ืฉืœ ืฉื™ืžื•ืฉ ื‘-Ingress / Kubernetes, ื ื™ืกื™ื ื• ืœื”ื“ื’ื™ืฉ ืืช ื”ื“ืจื™ืฉื•ืช ื”ื›ืœืœื™ื•ืช ื‘ื™ื•ืชืจ ืœื‘ืงืจื™ื - ื”ื™ื• ืžื•ื›ื ื™ื ืฉื‘ื›ืœ ืžืงืจื” ืชืฆื˜ืจื›ื• ืœืœืžื•ื“ ืืช ื›ืœ ื”ืคืจื˜ื™ื ื•ื”ืคืจื˜ื™ื ืฉืœื›ื ื‘ื ืคืจื“.

ืื‘ืœ ืืชื—ื™ืœ ืขื ื”ืžืืคื™ื™ื ื™ื ืฉื ืขืฉื• ื›ืœ ื›ืš ืžื•ื›ืจื™ื ืฉื”ื ืžื™ื•ืฉืžื™ื ื‘ื›ืœ ื”ืคืชืจื•ื ื•ืช ื•ืื™ื ื ื ื—ืฉื‘ื™ื:

  • ื’ื™ืœื•ื™ ื“ื™ื ืžื™ ืฉืœ ืฉื™ืจื•ืชื™ื (ื’ื™ืœื•ื™ ืฉื™ืจื•ืช);
  • ืกื™ื•ื SSL;
  • ืขื‘ื•ื“ื” ืขื websockets.

ืขื›ืฉื™ื• ืœื ืงื•ื“ื•ืช ื”ื”ืฉื•ื•ืื”:

ืคืจื•ื˜ื•ืงื•ืœื™ื ื ืชืžื›ื™ื

ืื—ื“ ืžืงืจื™ื˜ืจื™ื•ื ื™ ื”ื‘ื—ื™ืจื” ื”ื‘ืกื™ืกื™ื™ื. ื™ื™ืชื›ืŸ ืฉื”ืชื•ื›ื ื” ืฉืœืš ืœื ืชืขื‘ื•ื“ ืขืœ HTTP ืจื’ื™ืœ, ืื• ืฉื”ื™ื ืขืฉื•ื™ื” ืœื“ืจื•ืฉ ืขื‘ื•ื“ื” ืขืœ ืคืจื•ื˜ื•ืงื•ืœื™ื ืžืจื•ื‘ื™ื ื‘ื•-ื–ืžื ื™ืช. ืื ื”ืžืงืจื” ืฉืœืš ืื™ื ื• ืกื˜ื ื“ืจื˜ื™, ื”ืงืคื“ ืœืงื—ืช ื’ื•ืจื ื–ื” ื‘ื—ืฉื‘ื•ืŸ ื›ื“ื™ ืฉืœื ืชืฆื˜ืจืš ืœื”ื’ื“ื™ืจ ืžื—ื“ืฉ ืืช ื”ืืฉื›ื•ืœ ืžืื•ื—ืจ ื™ื•ืชืจ. ืขื‘ื•ืจ ื›ืœ ื”ื‘ืงืจื™ื, ืจืฉื™ืžืช ื”ืคืจื•ื˜ื•ืงื•ืœื™ื ื”ื ืชืžื›ื™ื ืžืฉืชื ื”.

ืชื•ื›ื ื” ื‘ื‘ืกื™ืก

ื™ืฉื ืŸ ืžืกืคืจ ื•ืจื™ืืฆื™ื•ืช ืฉืœ ื™ื™ืฉื•ืžื™ื ืฉื”ื‘ืงืจ ืžื‘ื•ืกืก ืขืœื™ื”ื. ื”ืคื•ืคื•ืœืจื™ื™ื ืฉื‘ื”ื ื”ื nginx, traefik, haproxy, envoy. ื‘ืžืงืจื” ื”ื›ืœืœื™, ืื•ืœื™ ืื™ืŸ ืœื–ื” ื”ืฉืคืขื” ืจื‘ื” ืขืœ ื”ืื•ืคืŸ ืฉื‘ื• ืชืขื‘ื•ืจื” ืžืชืงื‘ืœืช ื•ืžืฉื•ื“ืจืช, ืื‘ืœ ืชืžื™ื“ ื›ื“ืื™ ืœื“ืขืช ืืช ื”ื ื™ื•ืื ืกื™ื ื•ื”ืชื›ื•ื ื•ืช ื”ืคื•ื˜ื ืฆื™ืืœื™ื•ืช ืฉืœ ืžื” ืฉื ืžืฆื "ืžืชื—ืช ืœืžื›ืกื” ื”ืžื ื•ืข".

ื ื™ืชื•ื‘ ืชื ื•ืขื”

ืขืœ ืกืžืš ืžื” ืืคืฉืจ ืœืงื‘ืœ ื”ื—ืœื˜ื” ืœื’ื‘ื™ ื›ื™ื•ื•ืŸ ื”ืชื ื•ืขื” ืœืฉื™ืจื•ืช ืžืกื•ื™ื? ื‘ื“ืจืš ื›ืœืœ ืืœื• ืžืืจื— ื•ื ืชื™ื‘, ืืš ื™ืฉื ืŸ ืืคืฉืจื•ื™ื•ืช ื ื•ืกืคื•ืช.

ืžืจื—ื‘ ืฉืžื•ืช ื‘ืชื•ืš ืืฉื›ื•ืœ

ืžืจื—ื‘ ืฉืžื•ืช (ืžืจื—ื‘ ืฉืžื•ืช) - ื”ื™ื›ื•ืœืช ืœืคืฆืœ ืžืฉืื‘ื™ื ื‘ืื•ืคืŸ ืœื•ื’ื™ ื‘-Kubernetes (ืœื“ื•ื’ืžื”, ืขืœ ื”ื‘ืžื”, ื”ืคืงื” ื•ื›ื•'). ื™ืฉื ื ื‘ืงืจื™ Ingress ืฉื—ื™ื™ื‘ื™ื ืœื”ืชืงื™ืŸ ื‘ื ืคืจื“ ื‘ื›ืœ ืžืจื—ื‘ ืฉืžื•ืช (ื•ืื– ื”ื•ื ื™ื›ื•ืœ ืœื”ืคื ื•ืช ืชืขื‘ื•ืจื” ืจืง ืœืชืจืžื™ืœื™ื ืฉืœ ื”ื—ืœืœ ื”ื–ื”). ื•ื™ืฉ ื›ืืœื” (ื•ื”ืจื•ื‘ ื”ืžื•ื‘ื”ืง ืฉืœื”ื) ืฉืขื•ื‘ื“ื™ื ื’ืœื•ื‘ืœื™ืช ืขื‘ื•ืจ ื›ืœ ื”ืืฉื›ื•ืœ - ื‘ื”ื ื”ืชื ื•ืขื” ืžื•ืคื ื™ืช ืœื›ืœ ืคื•ื“ ืฉืœ ื”ืืฉื›ื•ืœ, ืœืœื ืงืฉืจ ืœืžืจื—ื‘ ื”ืฉืžื•ืช.

ื“ื•ื’ืžืื•ืช ืœืžืขืœื” ื–ืจืžื™ื

ื›ื™ืฆื“ ืžื•ืคื ื™ืช ื”ืชืขื‘ื•ืจื” ืœืžื•ืคืขื™ื ื‘ืจื™ืื™ื ืฉืœ ื”ืืคืœื™ืงืฆื™ื”, ื”ืฉื™ืจื•ืชื™ื? ื™ืฉื ืŸ ืืคืฉืจื•ื™ื•ืช ืขื ื‘ื“ื™ืงื•ืช ืืงื˜ื™ื‘ื™ื•ืช ื•ืคืกื™ื‘ื™ื•ืช, ื ื™ืกื™ื•ื ื•ืช ื—ื•ื–ืจื™ื, ืžืคืกืงื™ื (ืœืคืจื˜ื™ื ื ื•ืกืคื™ื, ืจืื”, ืœืžืฉืœ, ืžืืžืจ ืขืœ Istio), ื™ื™ืฉื•ืžื™ื ืžืฉืœื• ืฉืœ ื‘ื“ื™ืงื•ืช ืชืงื™ื ื•ืช (ื‘ื“ื™ืงื•ืช ืชืงื™ื ื•ืช ืžื•ืชืืžื•ืช ืื™ืฉื™ืช) ื•ื›ื•'. ืคืจืžื˜ืจ ื—ืฉื•ื‘ ืžืื•ื“ ืื ื™ืฉ ืœืš ื“ืจื™ืฉื•ืช ื’ื‘ื•ื”ื•ืช ืœื–ืžื™ื ื•ืช ื•ื”ืกืจื” ื‘ื–ืžืŸ ืฉืœ ืฉื™ืจื•ืชื™ื ื›ื•ืฉืœื™ื ืžืื™ื–ื•ืŸ.

ืืœื’ื•ืจื™ืชืžื™ ืื™ื–ื•ืŸ

ื™ืฉื ืŸ ืืคืฉืจื•ื™ื•ืช ืจื‘ื•ืช: ืžืžืกื•ืจืชื™ื•ืช ืจื•ื‘ื™ืŸ ื”ืขื’ื•ืœ ืืœ ื”ืืงื–ื•ื˜ื™ rdp-cookie, ื›ืžื• ื’ื ืชื›ื•ื ื•ืช ื‘ื•ื“ื“ื•ืช ื›ืžื• ืžืคื’ืฉื™ื ื“ื‘ื™ืงื™ื.

ืื™ืžื•ืช

ื‘ืื™ืœื• ืกื›ื™ืžื•ืช ื”ืจืฉืื” ืชื•ืžืš ื”ื‘ืงืจ? Basic, digest, oauth, external-auth - ืื ื™ ื—ื•ืฉื‘ ืฉื”ืืคืฉืจื•ื™ื•ืช ื”ืืœื” ืฆืจื™ื›ื•ืช ืœื”ื™ื•ืช ืžื•ื›ืจื•ืช. ื–ื”ื• ืงืจื™ื˜ืจื™ื•ืŸ ื—ืฉื•ื‘ ืื ื™ืฉ ื”ืจื‘ื” ืœื•ืœืื•ืช ืžืคืชื—ื™ื (ื•/ืื• ืกืชื ืคืจื˜ื™ื•ืช) ืฉื”ื’ื™ืฉื” ืืœื™ื”ืŸ ืžืชื‘ืฆืขืช ื“ืจืš Ingress.

ื—ืœื•ืงืช ื”ืชื ื•ืขื”

ื”ืื ื”ื‘ืงืจ ืชื•ืžืš ื‘ืžื ื’ื ื•ื ื™ ื”ืคืฆืช ืชืขื‘ื•ืจื” ื ืคื•ืฆื™ื ื›ืžื• ื™ืฆื™ืื•ืช ืงื ืจื™ื•ืช (ืงื ืจื™ื•ืช), ื‘ื“ื™ืงืช A/B, ืฉื™ืงื•ืฃ ืชื ื•ืขื” (ืฉื™ืงื•ืฃ / ื”ืฆืœืœื”)? ื–ื”ื• ื ื•ืฉื ื›ื•ืื‘ ืžืื•ื“ ืขื‘ื•ืจ ื™ื™ืฉื•ืžื™ื ื”ื“ื•ืจืฉื™ื ื ื™ื”ื•ืœ ืชืขื‘ื•ืจื” ืžื“ื•ื™ืง ื•ืžื“ื•ื™ืง ืœืฆื•ืจืš ื‘ื“ื™ืงื•ืช ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื•ืช, ืื™ืชื•ืจ ื‘ืื’ื™ื ืฉืœ ืžื•ืฆืจื™ื ื‘ืžืฆื‘ ืœื ืžืงื•ื•ืŸ (ืื• ืขื ืื•ื‘ื“ืŸ ืžื™ื ื™ืžืœื™), ื ื™ืชื•ื— ืชืขื‘ื•ืจื” ื•ื›ื•'.

ืžื ื•ื™ ื‘ืชืฉืœื•ื

ื”ืื ื™ืฉ ืืคืฉืจื•ืช ื‘ืชืฉืœื•ื ืœื‘ืงืจ, ืขื ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืžืชืงื“ืžืช ื•/ืื• ืชืžื™ื›ื” ื˜ื›ื ื™ืช?

ืžืžืฉืง ืžืฉืชืžืฉ ื’ืจืคื™ (ืžืžืฉืง ืื™ื ื˜ืจื ื˜)

ื”ืื ื™ืฉ GUI ืœื ื™ื”ื•ืœ ืชืฆื•ืจืช ื”ื‘ืงืจ? ื‘ืขื™ืงืจ ื‘ืฉื‘ื™ืœ "ื™ื“ื™ื•ืช" ื•/ืื• ืœืžื™ ืฉืฆืจื™ืš ืœืขืฉื•ืช ื›ืžื” ืฉื™ื ื•ื™ื™ื ื‘ืชืฆื•ืจืช Ingress'a, ืื‘ืœ ืขื‘ื•ื“ื” ืขื ืชื‘ื ื™ื•ืช "ื’ื•ืœืžื™ื•ืช" ื”ื™ื ืœื ื ื•ื—ื”. ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื™ืžื•ืฉื™ ืื ืžืคืชื—ื™ื ืจื•ืฆื™ื ืœืขืจื•ืš ื›ืžื” ื ื™ืกื•ื™ื™ื ืขื ืชื ื•ืขื” ืชื•ืš ื›ื“ื™ ืชื ื•ืขื”.

ืื™ืžื•ืช JWT

ื ื•ื›ื—ื•ืช ืฉืœ ืื™ืžื•ืช ืžื•ื‘ื ื” ืฉืœ ืืกื™ืžื•ื ื™ ืื™ื ื˜ืจื ื˜ ืฉืœ JSON ืœื”ืจืฉืื” ื•ืื™ืžื•ืช ืฉืœ ื”ืžืฉืชืžืฉ ืœื™ื™ืฉื•ื ื”ืงืฆื”.

ืืคืฉืจื•ื™ื•ืช ืœื”ืชืืžื” ืื™ืฉื™ืช ืฉืœ ืชืฆื•ืจื”

ื”ืจื—ื‘ื” ืฉืœ ืชื‘ื ื™ื•ืช ื‘ืžื•ื‘ืŸ ืฉืœ ืงื™ื•ื ืžื ื’ื ื•ื ื™ื ื”ืžืืคืฉืจื™ื ืœืš ืœื”ื•ืกื™ืฃ ื”ื ื—ื™ื•ืช ืžืฉืœืš, ื“ื’ืœื™ื ื•ื›ื•' ืœืชื‘ื ื™ื•ืช ืชืฆื•ืจื” ืกื˜ื ื“ืจื˜ื™ื•ืช.

ืžื ื’ื ื•ื ื™ ื”ื’ื ื” ื‘ืกื™ืกื™ื™ื ืฉืœ DDOS

ืืœื’ื•ืจื™ืชืžื™ื ืคืฉื•ื˜ื™ื ืฉืœ ื”ื’ื‘ืœืช ืงืฆื‘ ืื• ืืคืฉืจื•ื™ื•ืช ืกื™ื ื•ืŸ ืชื ื•ืขื” ืžื•ืจื›ื‘ื•ืช ื™ื•ืชืจ ื”ืžื‘ื•ืกืกื•ืช ืขืœ ื›ืชื•ื‘ื•ืช, ืจืฉื™ืžื•ืช ื”ื™ืชืจื™ื, ืžื“ื™ื ื•ืช ื•ื›ื•'.

ื‘ืงืฉ ืžืขืงื‘

ื”ื™ื›ื•ืœืช ืœื ื˜ืจ, ืœืขืงื•ื‘ ื•ืœื‘ืฆืข ื ื™ืคื•ื™ ื‘ืื’ื™ื ืž-Ingresses ืœืฉื™ืจื•ืชื™ื/ืคื•ื“ื™ื ืกืคืฆื™ืคื™ื™ื, ื•ื‘ืื•ืคืŸ ืื™ื“ื™ืืœื™ ื’ื ื‘ื™ืŸ ืฉื™ืจื•ืชื™ื/ืคื•ื“ื™ื.

WAF

ืชืžื™ื›ื” ื—ื•ืžืช ืืฉ ืฉืœ ืืคืœื™ืงืฆื™ื”.

ื‘ืงืจื™ื

ืจืฉื™ืžืช ื”ื‘ืงืจื™ื ื ื•ืฆืจื” ืขืœ ืกืžืš ืชื™ืขื•ื“ ืจืฉืžื™ ืฉืœ Kubernetes ะธ ื”ืฉื•ืœื—ืŸ ื”ื–ื”. ื”ืกืจื ื• ื—ืœืง ืžื”ื ืžื”ืกืงื™ืจื” ืขืงื‘ ืกืคืฆื™ืคื™ื•ืช ืื• ืฉื›ื™ื—ื•ืช ื ืžื•ื›ื” (ืฉืœื‘ ืžื•ืงื“ื ืฉืœ ื”ืชืคืชื—ื•ืช). ืขืœ ื”ืฉืืจ ื ื“ื•ืŸ ืœื”ืœืŸ. ื ืชื—ื™ืœ ื‘ืชื™ืื•ืจ ื›ืœืœื™ ืฉืœ ื”ืคืชืจื•ื ื•ืช ื•ื ืžืฉื™ืš ื‘ื˜ื‘ืœืช ืกื™ื›ื•ื.

ื›ื ื™ืกื” ืž-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 (ื•ื’ื ื‘ื’ืจืกืช ื”ืงื”ื™ืœื”!). ืžื™ื ื•ืก - ื”ื™ืขื“ืจื•ืช ืชื›ื•ื ืช ื”ืคืฆืช ืชื ื•ืขื”, ืืฉืจ, ืขื ื–ืืช, "ื™ืฉ ืœื” ื”ืขื“ื™ืคื•ืช ื”ื’ื‘ื•ื”ื” ื‘ื™ื•ืชืจ ืขื‘ื•ืจ ืžืคืชื—ื™ื", ืืš ืœื•ืงื— ื–ืžืŸ ืœื™ื™ืฉื.

ืงื•ื ื’ ืื™ื ื’ืจืก

ืืชืจ ืื™ื ื˜ืจื ื˜: github.com/Kong/kubernetes-ingress-controller
ืจื™ืฉื™ื•ืŸ: Apache 2.0

ืžื•ืฆืจ ืฉืคื•ืชื— ืขืœ ื™ื“ื™ Kong Inc. ื‘ืฉืชื™ ื’ืจืกืื•ืช: ืžืกื—ืจื™ืช ื•ื—ื™ื ืžื™ืช. ืžื‘ื•ืกืก ืขืœ nginx, ืฉื”ื•ืจื—ื‘ ืขื ืžืกืคืจ ืจื‘ ืฉืœ ืžื•ื“ื•ืœื™ Lua.

ื‘ืชื—ื™ืœื”, ื”ื•ื ื”ืชืžืงื“ ื‘ืขื™ื‘ื•ื“ ื•ื‘ื ื™ืชื•ื‘ ื‘ืงืฉื•ืช API, ื›ืœื•ืžืจ. ื‘ืชื•ืจ API Gateway, ืื‘ืœ ื›ืจื’ืข ื”ื•ื ื”ืคืš ืœื‘ืงืจ Ingress ืžืŸ ื”ืžื ื™ื™ืŸ. ื™ืชืจื•ื ื•ืช ืขื™ืงืจื™ื™ื: ืžื•ื“ื•ืœื™ื ืจื‘ื™ื ื ื•ืกืคื™ื (ื›ื•ืœืœ ืืœื” ืžืžืคืชื—ื™ ืฆื“ ืฉืœื™ืฉื™) ืฉืงืœ ืœื”ืชืงื™ืŸ ื•ืœื”ื’ื“ื™ืจ ื•ื‘ืขื–ืจืชื ืžื™ื•ืฉื ืžื’ื•ื•ืŸ ืจื—ื‘ ืฉืœ ืคื™ืฆ'ืจื™ื ื ื•ืกืคื™ื. ืขื ื–ืืช, ืคื•ื ืงืฆื™ื•ืช ืžื•ื‘ื ื•ืช ื›ื‘ืจ ืžืฆื™ืขื•ืช ืืคืฉืจื•ื™ื•ืช ืจื‘ื•ืช. ืชืฆื•ืจืช ื”ืขื‘ื•ื“ื” ื ืขืฉื™ืช ื‘ืืžืฆืขื•ืช ืžืฉืื‘ื™ CRD.

ืชื›ื•ื ื” ื—ืฉื•ื‘ื” ืฉืœ ื”ืžื•ืฆืจ - ืขื‘ื•ื“ื” ื‘ืชื•ืš ืื•ืชื• ืงื• ืžืชืืจ (ื‘ืžืงื•ื ืจื•ื•ื—ื™ ืฉืžื•ืช ืฆื•ืœื‘ื™ื) ื”ื™ื ื ื•ืฉื ืฉื ื•ื™ ื‘ืžื—ืœื•ืงืช: ืขื‘ื•ืจ ื—ืœืง ื–ื” ื™ื™ืจืื” ื›ืžื• ื—ื™ืกืจื•ืŸ (ืฆืจื™ืš ืœื™ื™ืฆืจ ื™ืฉื•ื™ื•ืช ืœื›ืœ ืงื• ืžืชืืจ), ื•ืœืžื™ืฉื”ื• ื–ื” ืชื›ื•ื ื” ( ื‘ะพืจืžื” ื’ื‘ื•ื”ื” ื™ื•ืชืจ ืฉืœ ื‘ื™ื“ื•ื“, ื›ืžื• ืื ื‘ืงืจ ืื—ื“ ื ืฉื‘ืจ, ื”ื‘ืขื™ื” ืžื•ื’ื‘ืœืช ืœืžืขื’ืœ ื‘ืœื‘ื“).

ื˜ืจืืคื™ืง

ืืชืจ ืื™ื ื˜ืจื ื˜: 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 ื‘ื”. ื‘ืื•ืคืŸ ื›ืœืœื™, ื”ื“ื’ืฉ ื”ืขื™ืงืจื™ ืฉืœ ื”ืคืชืจื•ืŸ ื”ื•ื ืขืœ ืžื”ื™ืจื•ืช ื’ื‘ื•ื”ื”, ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœื• ื•ื™ืขื™ืœื•ืช ื‘ืžืฉืื‘ื™ื ื”ื ืฆืจื›ื™ื. ื”ื™ืชืจื•ืŸ ืฉืœ ื”ื‘ืงืจ ื”ื•ื ืชืžื™ื›ื” ื‘ืžืกืคืจ ืฉื™ื ืฉืœ ืฉื™ื˜ื•ืช ืื™ื–ื•ืŸ ืฉื•ื ื•ืช.

ื ื•ึนืกึตืขึท

ืืชืจ ืื™ื ื˜ืจื ื˜: github.com/appscode/voyager
ืจื™ืฉื™ื•ืŸ: Apache 2.0

ืžื‘ื•ืกืก ืขืœ ื‘ืงืจ HAproxy, ื”ืžืžื•ืงื ื›ืคืชืจื•ืŸ ืื•ื ื™ื‘ืจืกืœื™ ื”ืชื•ืžืš ื‘ืžื’ื•ื•ืŸ ืจื—ื‘ ืฉืœ ืชื›ื•ื ื•ืช ื‘ืžืกืคืจ ืจื‘ ืฉืœ ืกืคืงื™ื. ืžื•ืฆืขืช ื”ื–ื“ืžื ื•ืช ืœืื™ื–ื•ืŸ ืชืขื‘ื•ืจื” ื‘-L7 ื•-L4, ื•ืื™ื–ื•ืŸ ืชืขื‘ื•ืจืช TCP L4 ื›ื•ืœื” ื™ื›ื•ืœ ืœื”ื™ืงืจื ืื—ื“ ืžืžืืคื™ื™ื ื™ ื”ืžืคืชื— ืฉืœ ื”ืคืชืจื•ืŸ.

ืงื•ื ื˜ื•ืจ

ืืชืจ ืื™ื ื˜ืจื ื˜: github.com/heptio/contour
ืจื™ืฉื™ื•ืŸ: Apache 2.0

ื”ืคืชืจื•ืŸ ื”ื–ื” ืœื ืžื‘ื•ืกืก ืจืง ืขืœ Envoy: ื”ื•ื ืคื•ืชื— ืขืœ ื™ื“ื™ ื‘ืžืฉื•ืชืฃ ืขื ืžื—ื‘ืจื™ ื”ืคืจื•ืงืกื™ ื”ืคื•ืคื•ืœืจื™ ื”ื–ื”. ืชื›ื•ื ื” ื—ืฉื•ื‘ื” ื”ื™ื ื”ื™ื›ื•ืœืช ืœื”ืคืจื™ื“ ืฉืœื™ื˜ื” ื‘ืžืฉืื‘ื™ Ingress ื‘ืืžืฆืขื•ืช ืžืฉืื‘ื™ IngressRoute CRD. ืขื‘ื•ืจ ืืจื’ื•ื ื™ื ืขื ืฆื•ื•ืชื™ ืคื™ืชื•ื— ืจื‘ื™ื ื”ืžืฉืชืžืฉื™ื ื‘ืื•ืชื• ืืฉื›ื•ืœ, ื–ื” ืขื•ื–ืจ ืœืžืงืกื ืืช ื”ืื‘ื˜ื—ื” ืฉืœ ืขื‘ื•ื“ื” ืขื ืชืขื‘ื•ืจื” ื‘ืœื•ืœืื•ืช ืฉื›ื ื•ืช ื•ืœื”ื’ืŸ ืขืœื™ื”ื ืžืคื ื™ ืฉื’ื™ืื•ืช ื‘ืขืช ืฉื™ื ื•ื™ ืžืฉืื‘ื™ Ingress.

ื”ื•ื ืžืฆื™ืข ื’ื ืžืขืจืš ืžื•ืจื—ื‘ ืฉืœ ืฉื™ื˜ื•ืช ืื™ื–ื•ืŸ (ื™ืฉ ืฉื™ืงื•ืฃ ืฉืœ ื‘ืงืฉื•ืช, ื—ื–ืจื” ืื•ื˜ื•ืžื˜ื™ืช, ื”ื’ื‘ืœืช ืงืฆื‘ ื”ื‘ืงืฉื•ืช ื•ืขื•ื“ ื”ืจื‘ื” ื™ื•ืชืจ), ื ื™ื˜ื•ืจ ืžืคื•ืจื˜ ืฉืœ ื–ืจื™ืžืช ื”ืชืขื‘ื•ืจื” ื•ืชืงืœื•ืช. ืื•ืœื™ ืขื‘ื•ืจ ืžื™ืฉื”ื• ื–ื” ื™ื”ื™ื” ื—ื™ืกืจื•ืŸ ืžืฉืžืขื•ืชื™ ื—ื•ืกืจ ื”ืชืžื™ื›ื” ื‘ืคื’ื™ืฉื•ืช ื“ื‘ื™ืงื•ืช (ืื ื›ื™ ื”ืขื‘ื•ื“ื” ื›ื‘ืจ ื‘ืขื™ืฆื•ืžื•).

Istio Ingress

ืืชืจ ืื™ื ื˜ืจื ื˜: istio.io/docs/tasks/traffic-management/ingress
ืจื™ืฉื™ื•ืŸ: Apache 2.0

ืคืชืจื•ืŸ ืจืฉืช ืฉื™ืจื•ืช ืžืงื™ืฃ ืฉื”ื•ื ืœื ืจืง ื‘ืงืจ Ingress ืฉืžื ื”ืœ ืืช ื”ืชืขื‘ื•ืจื” ื”ื ื›ื ืกืช ืžื‘ื—ื•ืฅ, ืืœื ื’ื ืฉื•ืœื˜ ื‘ื›ืœ ื”ืชืขื‘ื•ืจื” ื‘ืชื•ืš ื”ืืฉื›ื•ืœ. ืžืชื—ืช ืœืžื›ืกื” ื”ืžื ื•ืข, Envoy ืžืฉืžืฉ ื›ืคืจื•ืงืกื™ ืฆื“ื“ื™ ืขื‘ื•ืจ ื›ืœ ืฉื™ืจื•ืช. ื‘ืขืฆื, ืžื“ื•ื‘ืจ ื‘ืฉื™ืœื•ื‘ ื’ื“ื•ืœ ืฉ"ื™ื›ื•ืœ ืœืขืฉื•ืช ื”ื›ืœ", ื•ื”ืจืขื™ื•ืŸ ื”ืžืจื›ื–ื™ ืฉืœื• ื”ื•ื ื™ื›ื•ืœืช ื ื™ื”ื•ืœ ืžืงืกื™ืžืœื™ืช, ื”ืจื—ื‘ื”, ืื‘ื˜ื—ื” ื•ืฉืงื™ืคื•ืช. ื‘ืขื–ืจืชื•, ืืชื” ื™ื›ื•ืœ ืœื›ื•ื•ื ืŸ ืืช ื ื™ืชื•ื‘ ื”ืชืขื‘ื•ืจื”, ืœื’ืฉืช ืœื”ืจืฉืื•ืช ื‘ื™ืŸ ืฉื™ืจื•ืชื™ื, ืื™ื–ื•ืŸ, ื ื™ื˜ื•ืจ, ืฉื—ืจื•ืจื™ื ืงื ืจื™ื™ื ื•ืขื•ื“ ื”ืจื‘ื” ื™ื•ืชืจ. ืงืจื ืขื•ื“ ืขืœ Istio ื‘ืกื“ืจืช ื”ื›ืชื‘ื•ืช "ื—ื–ืจื” ืœืฉื™ืจื•ืชื™ ืžื™ืงืจื• ืขื Istio".

ืฉืึทื’ึฐืจึดื™ืจ

ืืชืจ ืื™ื ื˜ืจื ื˜: github.com/datawire/ambassador
ืจื™ืฉื™ื•ืŸ: Apache 2.0

ืคืชืจื•ืŸ ื ื•ืกืฃ ื”ืžื‘ื•ืกืก ืขืœ Envoy. ื™ืฉ ืœื• ื’ืจืกืื•ืช ื—ื™ื ืžื™ื•ืช ื•ืžืกื—ืจื™ื•ืช. ื”ื•ื ืžืžื•ืงื ื›"ืžืงื•ืจื™ ืœื—ืœื•ื˜ื™ืŸ ืœ-Kubernetes", ืžื” ืฉืžื‘ื™ื ืืช ื”ื™ืชืจื•ื ื•ืช ื”ืžืงื‘ื™ืœื™ื (ืื™ื ื˜ื’ืจืฆื™ื” ื”ื“ื•ืงื” ืขื ื”ืฉื™ื˜ื•ืช ื•ื”ื™ืฉื•ื™ื•ืช ืฉืœ ืืฉื›ื•ืœ K8s).

ื˜ื‘ืœืช ื”ืฉื•ื•ืื”

ืื–, ืฉื™ืื• ืฉืœ ื”ืžืืžืจ ื”ื•ื ื”ื˜ื‘ืœื” ื”ืขื ืงื™ืช ื”ื–ื•:

ืกืงื™ืจื” ื•ื”ืฉื•ื•ืื” ืฉืœ ื‘ืงืจื™ Ingress ืขื‘ื•ืจ Kubernetes

ื ื™ืชืŸ ืœืœื—ื•ืฅ ืขืœื™ื• ืœืฆืคื™ื™ื” ืžืงืจื•ื‘, ื•ื”ื•ื ื–ืžื™ืŸ ื’ื ื‘ืคื•ืจืžื˜ ื’ื™ืœื™ื•ื ื•ืช ืืœืงื˜ืจื•ื ื™ื™ื ืฉืœ Google.

ืœืกื™ื›ื•ื

ืžื˜ืจืช ืžืืžืจ ื–ื” ื”ื™ื ืœืกืคืง ื”ื‘ื ื” ืžืœืื” ื™ื•ืชืจ (ืขื ื–ืืช, ื‘ืฉื•ื ืื•ืคืŸ ืœื ืžืžืฆื”!) ืฉืœ ืื™ื–ื• ื‘ื—ื™ืจื” ืœืขืฉื•ืช ื‘ืžืงืจื” ื”ืกืคืฆื™ืคื™ ืฉืœืš. ื›ืจื’ื™ืœ, ืœื›ืœ ื‘ืงืจ ื™ืฉ ื™ืชืจื•ื ื•ืช ื•ื—ืกืจื•ื ื•ืช ืžืฉืœื•...

ื”-Ingress ื”ืงืœืืกื™ ืž-Kubernetes ื˜ื•ื‘ ืœื–ืžื™ื ื•ืช ื•ืœื”ื•ื›ื—ื•ืช ืฉืœื•, ืชื›ื•ื ื•ืช ืขืฉื™ืจื•ืช ืžืกืคื™ืง - ื‘ืžืงืจื” ื”ื›ืœืœื™, ื–ื” ืฆืจื™ืš ืœื”ื™ื•ืช "ืžืกืคื™ืง ืœืขื™ื ื™ื™ื". ืขื ื–ืืช, ืื ื™ืฉ ื“ืจื™ืฉื•ืช ืžื•ื’ื‘ืจื•ืช ืœื™ืฆื™ื‘ื•ืช, ืœืจืžืช ื”ืชื›ื•ื ื•ืช ื•ื”ืคื™ืชื•ื—, ื›ื“ืื™ ืœืฉื™ื ืœื‘ ืœ-Ingress ืขื NGINX Plus ื•ืžื ื•ื™ ื‘ืชืฉืœื•ื. ืœืงื•ื ื’ ื™ืฉ ืืช ืกื˜ ื”ืชื•ืกืคื™ื ื”ืขืฉื™ืจ ื‘ื™ื•ืชืจ (ื•ื‘ื”ืชืื, ื”ื”ื–ื“ืžื ื•ื™ื•ืช ืฉื”ื ืžืกืคืงื™ื), ื•ื‘ื’ืจืกื” ื‘ืชืฉืœื•ื ื™ืฉ ืืคื™ืœื• ื™ื•ืชืจ ืžื”ื. ื™ืฉ ืœื• ื”ื–ื“ืžื ื•ื™ื•ืช ืจื‘ื•ืช ืœืขื‘ื•ื“ ื›ืฉืขืจ API, ืชืฆื•ืจื” ื“ื™ื ืžื™ืช ื”ืžื‘ื•ืกืกืช ืขืœ ืžืฉืื‘ื™ CRD, ื›ืžื• ื’ื ืฉื™ืจื•ืชื™ Kubernetes ื‘ืกื™ืกื™ื™ื.

ืขื ื“ืจื™ืฉื•ืช ืžื•ื’ื‘ืจื•ืช ืœืฉื™ื˜ื•ืช ืื™ื–ื•ืŸ ื•ื”ืจืฉืื”, ืชืกืชื›ืœ ืขืœ Traefik ื•- HAProxy. ืžื“ื•ื‘ืจ ื‘ืคืจื•ื™ืงื˜ื™ ืงื•ื“ ืคืชื•ื—, ืฉื”ื•ื›ื—ื• ืœืื•ืจืš ืฉื ื™ื, ื™ืฆื™ื‘ื™ื ืžืื•ื“ ื•ืžืชืคืชื—ื™ื ื‘ืื•ืคืŸ ืคืขื™ืœ. Contour ื™ืฆื ื›ื‘ืจ ื›ืžื” ืฉื ื™ื, ืื‘ืœ ื–ื” ืขื“ื™ื™ืŸ ื ืจืื” ืฆืขื™ืจ ืžื“ื™ ื•ื™ืฉ ืœื• ืจืง ืชื›ื•ื ื•ืช ื‘ืกื™ืกื™ื•ืช ืฉื ื•ืกืคื• ืขืœ ื’ื‘ื™ Envoy. ืื ื™ืฉ ื“ืจื™ืฉื•ืช ืœื ื•ื›ื—ื•ืช / ื”ื˜ืžืขื” ืฉืœ WAF ืžื•ืœ ื”ืืคืœื™ืงืฆื™ื”, ื›ื“ืื™ ืœืฉื™ื ืœื‘ ืœืื•ืชื” Ingress ืž-Kubernetes ืื• HAProxy.

ื•ื”ืขืฉื™ืจื™ื ื‘ื™ื•ืชืจ ืžื‘ื—ื™ื ืช ืชื›ื•ื ื•ืช ื”ื ืžื•ืฆืจื™ื ืฉื ื‘ื ื• ืขืœ ื’ื‘ื™ Envoy, ื‘ืžื™ื•ื—ื“ Istio. ื ืจืื” ืฉื–ื”ื• ืคืชืจื•ืŸ ืžืงื™ืฃ ืฉ"ื™ื›ื•ืœ ืœืขืฉื•ืช ื”ื›ืœ", ืžื” ืฉืžืฉืžืขื•ืชื•, ืขื ื–ืืช, ื’ื ืกืฃ ื›ื ื™ืกื” ื’ื‘ื•ื” ืžืฉืžืขื•ืชื™ืช ืœื”ื’ื“ืจื” / ื”ืฉืงื” / ื ื™ื”ื•ืœ ืžืืฉืจ ืคืชืจื•ื ื•ืช ืื—ืจื™ื.

ื‘ื—ืจื ื• ื•ืขื“ื™ื™ืŸ ืžืฉืชืžืฉื™ื ื‘-Ingress ืž-Kubernetes ื›ื‘ืงืจ ืกื˜ื ื“ืจื˜ื™, ืฉืžื›ืกื” 80-90% ืžื”ืฆืจื›ื™ื. ื–ื” ื“ื™ ืืžื™ืŸ, ืงืœ ืœื”ื’ื“ื™ืจ ื•ืœื”ืจื—ื™ื‘. ื‘ืื•ืคืŸ ื›ืœืœื™, ื‘ื”ื™ืขื“ืจ ื“ืจื™ืฉื•ืช ืกืคืฆื™ืคื™ื•ืช, ื–ื” ืืžื•ืจ ืœื”ืชืื™ื ืœืจื•ื‘ ื”ืืฉื›ื•ืœื•ืช / ื”ื™ื™ืฉื•ืžื™ื. ืžืชื•ืš ืื•ืชื ืžื•ืฆืจื™ื ืื•ื ื™ื‘ืจืกืœื™ื™ื ื•ืคืฉื•ื˜ื™ื ื™ื—ืกื™ืช, ื ื™ืชืŸ ืœื”ืžืœื™ืฅ โ€‹โ€‹ืขืœ Traefik ื•- HAProxy.

ื .ื‘.

ืงืจื ื’ื ื‘ื‘ืœื•ื’ ืฉืœื ื•:

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”