เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes
เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ Kubernetes, เบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบŠเบตเบงเบดเบ”เบเบฒเบง, เปเบฅเบฐเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ—เปˆเบฒเบ™เบ„เบงเบ™เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบ”เป‰เบฒเบ™เบฅเบนเบเบ„เป‰เบฒเบ–เป‰เบฒเบ—เปˆเบฒเบ™เปƒเบŠเป‰ HTTP / 2, gRPC, RSockets, AMQP, เบซเบผเบทเป‚เบ›เป‚เบ•เบ„เบญเบ™เบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบทเบ™เบญเบทเปˆเบ™เป†. . 

เป€เบฅเบฑเบเบ™เป‰เบญเบเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบˆเบฒเบฅเบฐเบˆเบญเบ™เบ–เบทเบเปเบˆเบเบขเบฒเบเบ„เบทเบ™เปƒเบซเบกเปˆเปƒเบ™ Kubernetes 

Kubernetes เบชเบฐเปœเบญเบ‡เบชเบดเปˆเบ‡เบซเบเปเป‰เบ—เปเป‰เบ—เบตเปˆเบชเบฐเบ”เบงเบเบชเบญเบ‡เบขเปˆเบฒเบ‡เบชเบณเบฅเบฑเบšเบเบฒเบ™เบ™เบณเปƒเบŠเป‰เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™: เบšเปเบฅเบดเบเบฒเบ™ เปเบฅเบฐเบเบฒเบ™เบ™เบณเปƒเบŠเป‰.

เบเบฒเบ™เบ™เบณเปƒเบŠเป‰เบˆเบฐเบญเบฐเบ—เบดเบšเบฒเบเบงเบดเบ—เบตเบเบฒเบ™ เปเบฅเบฐเบˆเบณเบ™เบงเบ™เบชเบณเป€เบ™เบปเบฒเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ„เบงเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเบ•เบฐเบซเบผเบญเบ”เป€เบงเบฅเบฒ. เปเบ•เปˆเบฅเบฐเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ–เบทเบเบ™เบณเปƒเบŠเป‰เป€เบ›เบฑเบ™ Pod เปเบฅเบฐเบ–เบทเบเบกเบญเบšเปเบฒเบเบ—เบตเปˆเบขเบนเปˆ IP.

เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เปƒเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบ•เบปเบงเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”. เบžเบงเบเบกเบฑเบ™เบ–เบทเบเบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเปเบˆเบเบขเบฒเบเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เปƒเบ™เบ—เบปเปˆเบงเบเบฑเบเบซเบผเบฒเบ.

เบ‚เปเปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบกเบฑเบ™เบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเปเบ™เบงเปƒเบ”.

  1. เปƒเบ™เปเบœเบ™เบงเบฒเบ”เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบชเบฒเบกเบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ”เบฝเบงเบเบฑเบ™เปเบฅเบฐเบ•เบปเบงเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  2. เบ•เบปเบงเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เปเบกเปˆเบ™เป€เบญเบตเป‰เบ™เบงเปˆเบฒเบšเปเบฅเบดเบเบฒเบ™เปเบฅเบฐเบ–เบทเบเบกเบญเบšเบซเบกเบฒเบเบ—เบตเปˆเบขเบนเปˆ IP. เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบกเบฒเบˆเบฐเบ–เบทเบเป‚เบญเบ™เป„เบ›เบซเบฒเบซเบ™เบถเปˆเบ‡เปƒเบ™ pods:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  3. เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบณเปƒเบŠเป‰เบˆเบฐเบเบณเบ™เบปเบ”เบˆเบณเบ™เบงเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™. เบ—เปˆเบฒเบ™เบˆเบฐเป€เบเบทเบญเบšเบšเปเปˆเป€เบ„เบตเบเบกเบตเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเป‚เบ”เบเบเบปเบ‡เบžเบฒเบเปƒเบ•เป‰:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  4. เปเบ•เปˆเบฅเบฐเบเบฑเบเปเบกเปˆเบ™เบเบณเบ™เบปเบ”เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

เบกเบฑเบ™เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเบˆเบฐเบ„เบดเบ”เบงเปˆเบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเบ—เบตเปˆเบขเบนเปˆ IP. เปเบ•เปˆเบฅเบฐเบ„เบฑเป‰เบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ—เบตเปˆเบขเบนเปˆ IP เบ–เบทเบเป€เบฅเบทเบญเบเบˆเบฒเบเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเปเบฅเบฐเปƒเบŠเป‰เป€เบ›เบฑเบ™เบ—เบตเปˆเบขเบนเปˆเบ›เบฒเบเบ—เบฒเบ‡.

เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ™เบตเป‰.

  1. เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป curl 10.96.45.152 เบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  2. เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบฅเบทเบญเบเบซเบ™เบถเปˆเบ‡เปƒเบ™เบชเบฒเบกเบ—เบตเปˆเบขเบนเปˆ pod เป€เบ›เบฑเบ™เบˆเบธเบ”เบซเบกเบฒเบเบ›เบฒเบเบ—เบฒเบ‡เบ‚เบญเบ‡เบกเบฑเบ™:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  3. เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ–เบทเบเบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบซเบฒเบžเบทเป‰เบ™เบ—เบตเปˆเบชเบฐเป€เบžเบฒเบฐ:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

เบ–เป‰เบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ›เบฐเบเบญเบšเบ”เป‰เบงเบ frontend เปเบฅเบฐ backend, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบˆเบฐเบกเบตเบ—เบฑเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบ„เบปเบ™.

เป€เบกเบทเปˆเบญ frontend เป€เบฎเบฑเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฑเบš backend, เบกเบฑเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบฎเบนเป‰เบงเปˆเบฒเบกเบตเบˆเปเบฒเบ™เบงเบ™ pods เบ—เบตเปˆ backend เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™: เบญเบฒเบ”เบˆเบฐเบกเบตเบซเบ™เบถเปˆเบ‡, เบชเบดเบš, เบซเบผเบทเบฎเป‰เบญเบ.

เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, เบ”เป‰เบฒเบ™เบซเบ™เป‰เบฒเบšเปเปˆเบฎเบนเป‰เบซเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบ—เบตเปˆเบขเบนเปˆเบ‚เบญเบ‡เบเบฑเบเบ—เบตเปˆเปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบ”เป‰เบฒเบ™เบซเบผเบฑเบ‡.

เป€เบกเบทเปˆเบญ frontend เป€เบฎเบฑเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฑเบš backend, เบกเบฑเบ™เปƒเบŠเป‰เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบšเปเบฅเบดเบเบฒเบ™ backend, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡.

เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบ„เป‰เบฒเบเบ„เบท.

  1. เบžเบฒเบเปƒเบ•เป‰ 1 เบฎเป‰เบญเบ‡เบ‚เปเบญเบปเบ‡เบ›เบฐเบเบญเบš backend เบžเบฒเบเปƒเบ™. เปเบ—เบ™โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป€เบฅเบทเบญเบโ€‹เป€เบญเบปเบฒโ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐโ€‹เปƒเบ”โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เบชเปเบฒโ€‹เบฅเบฑเบš backend เป„เบ”เป‰โ€‹, เบกเบฑเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เบเบฒเบ™โ€‹:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  2. เบšเปเบฅเบดเบเบฒเบ™เป€เบฅเบทเบญเบเปœเบถเปˆเบ‡เปƒเบ™ backend pods เป€เบ›เบฑเบ™เบ—เบตเปˆเบขเบนเปˆเบ›เบฒเบเบ—เบฒเบ‡:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  3. เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เป„เบ›เบˆเบฒเบ Pod 1 เบซเบฒ Pod 5, เป€เบฅเบทเบญเบเป‚เบ”เบเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  4. เบžเบฒเบเปƒเบ•เป‰ 1 เบšเปเปˆเบฎเบนเป‰เบงเปˆเบฒเบกเบตเบˆเปเบฒเบ™เบงเบ™เบเบฑเบเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบ•เปˆเปเบฒเบเบงเปˆเบฒ 5 เป„เบ”เป‰เบ–เบทเบเป€เบŠเบทเปˆเบญเบ‡เป„เบงเป‰เบขเบนเปˆเบซเบฅเบฑเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

เปเบ•เปˆเบงเปˆเบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบˆเบเบขเบฒเบเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปเบ™เบงเปƒเบ”? เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบฎเบญเบš-robin เบ–เบทเบเปƒเบŠเป‰เบšเป? เปƒเบซเป‰เบ„เบดเบ”เบญเบญเบ. 

เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ Kubernetes

เบšเปเบฅเบดเบเบฒเบ™ Kubernetes เบšเปเปˆเบกเบตเบขเบนเปˆ. เบšเปเปˆเบกเบตเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบ–เบทเบเบกเบญเบšเบซเบกเบฒเบเบ—เบตเปˆเบขเบนเปˆ IP เปเบฅเบฐเบžเบญเบ”.

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเบงเบ”เบชเบญเบšเบ™เบตเป‰เป‚เบ”เบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบš node เปƒเบ”เปƒเบ™ cluster เปเบฅเบฐเปเบฅเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ netstat -ntlp.

เบ—เปˆเบฒเบ™เบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเบ—เบตเปˆเบขเบนเปˆ IP เบ—เบตเปˆเบˆเบฑเบ”เบชเบฑเบ™เปƒเบซเป‰เบเบฑเบšเบšเปเบฅเบดเบเบฒเบ™เป„เบ”เป‰.

เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบŠเบฑเป‰เบ™เบ„เบงเบšเบ„เบธเบก, เปƒเบ™เบ•เบปเบงเบ„เบงเบšเบ„เบธเบก, เปเบฅเบฐเบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ - etcd. เบ—เบตเปˆเบขเบนเปˆเบ”เบฝเบงเบเบฑเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบเบญเบปเบ‡เบ›เบฐเบเบญเบšเบญเบทเปˆเบ™ - kube-proxy .
Kube-proxy เป„เบ”เป‰เบฎเบฑเบšเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ—เบตเปˆเบขเบนเปˆ IP เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบฅเบฐเบชเป‰เบฒเบ‡เบŠเบธเบ”เบ‚เบญเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบš iptables เปƒเบ™เปเบ•เปˆเบฅเบฐ node เปƒเบ™ cluster.

เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒ: "เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เบฑเบ”เปเบ›เบ‡เบ—เบตเปˆเบขเบนเปˆเบ›เบฒเบเบ—เบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปเบฅเบฐเบชเบปเปˆเบ‡เบกเบฑเบ™เป„เบ›เบซเบฒเบซเบ™เบถเปˆเบ‡เปƒเบ™เบเบฑเบ."

เบ—เบตเปˆเบขเบนเปˆ IP เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบกเปˆเบ™เปƒเบŠเป‰เบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบฑเบ™เบˆเบธเบ”เป€เบ‚เบปเป‰เบฒเปเบฅเบฐเบšเปเปˆเป„เบ”เป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เป‚เบ”เบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เปƒเบ”เป†เบ—เบตเปˆเบŸเบฑเบ‡เบ—เบตเปˆเบขเบนเปˆ IP เปเบฅเบฐเบžเบญเบ”เบ™เบฑเป‰เบ™.

เปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบขเบนเปˆเปƒเบ™เบ™เบตเป‰

  1. เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบเบธเปˆเบกเบ‚เบญเบ‡เบชเบฒเบกเบ‚เปเป‰. เปเบ•เปˆเบฅเบฐ node เบกเบต pods:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  2. Tied pods painted beige เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบšเปเปˆเบกเบตเป€เบ›เบฑเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™, เบกเบฑเบ™เบชเบฐเปเบ”เบ‡เป€เบ›เบฑเบ™เบชเบตเบ‚เบตเป‰เป€เบ–เบปเปˆเบฒ:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  3. เบเบฑเบเบ—เปเบฒเบญเบดเบ”เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบฅเบฐเบ•เป‰เบญเบ‡เป„เบ›เบซเบฒเบซเบ™เบถเปˆเบ‡เปƒเบ™เบเบฑเบเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  4. เปเบ•เปˆเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบšเปเปˆเบกเบต, เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบšเปเปˆเบกเบตเบขเบนเปˆ. เบกเบฑเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เปเบ™เบงโ€‹เปƒเบ”?

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  5. เบเปˆเบญเบ™เบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบญเบญเบเบˆเบฒเบ node, เบกเบฑเบ™เบœเปˆเบฒเบ™เบเบปเบ”เบฅเบฐเบšเบฝเบš iptables:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  6. เบเบปเบ”เบฅเบฐเบšเบฝเบš iptables เบฎเบนเป‰เบงเปˆเบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบšเปเปˆเบกเบตเบขเบนเปˆเปเบฅเบฐเบ›เปˆเบฝเบ™เปเบ—เบ™เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบกเบฑเบ™เบ”เป‰เบงเบเบ—เบตเปˆเบขเบนเปˆ IP เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡ pods เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ™เบฑเป‰เบ™:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  7. เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบขเบนเปˆ IP เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™เบ—เบตเปˆเบขเบนเปˆเบ›เบฒเบเบ—เบฒเบ‡ เปเบฅเบฐเบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ•เบฒเบกเบ›เบปเบเบเบฐเบ•เบด:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  8. เบญเบตเบ‡เบ•เบฒเบก topology เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เปƒเบ™เบ—เบตเปˆเบชเบธเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเป„เบ›เป€เบ–เบดเบ‡ pod:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

iptables เบชเบฒเบกเบฒเบ”เป‚เบซเบผเบ”เบเบญเบ”เป€เบ‡เบดเบ™เป„เบ”เป‰เบšเป?

เบšเปเปˆ, iptables เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เปเบฅเบฐเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบญเบญเบเปเบšเบšเบกเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡.

เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ‚เบฝเบ™เบŠเบธเบ”เบ‚เบญเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบ„เบทเบเบฑเบš pseudo-balancer.

เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™ Kubernetes.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบชเบฒเบกเบเบฑเบ, kube-proxy เบˆเบฐเบ‚เบฝเบ™เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ•เปเปˆเป„เบ›เบ™เบตเป‰:

  1. เป€เบฅเบทเบญเบเบเปˆเบญเบเบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰ 33%, เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เป„เบ›เบซเบฒเบเบปเบ”เบฅเบฐเบšเบฝเบšเบ•เปเปˆเป„เบ›.
  2. เป€เบฅเบทเบญเบเบญเบฑเบ™เบ—เบตเบชเบญเบ‡เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰ 50%, เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เป„เบ›เบเบฑเบšเบเบปเบ”เบฅเบฐเบšเบฝเบšเบ•เปเปˆเป„เบ›.
  3. เป€เบฅเบทเบญเบเบ—เบตเบชเบฒเบกเบžเบฒเบเปƒเบ•เป‰.

เบฅเบฐเบšเบปเบšเบ™เบตเป‰เบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰เปเบ•เปˆเบฅเบฐเบเบฑเบเบ–เบทเบเป€เบฅเบทเบญเบเบ”เป‰เบงเบเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰ 33%.

เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

เปเบฅเบฐเบšเปเปˆเบกเบตเบเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒ Pod 2 เบˆเบฐเบ–เบทเบเป€เบฅเบทเบญเบเบ•เปเปˆเป„เบ›เบซเบผเบฑเบ‡เบˆเบฒเบ Pod 1.

ะŸั€ะธะผะตั‡ะฐะฝะธะต: iptables เปƒเบŠเป‰เป‚เบกเบ”เบนเบ™เบชเบฐเบ–เบดเบ•เบดเบ—เบตเปˆเบกเบตเบเบฒเบ™เปเบˆเบเบขเบฒเบเปเบšเบšเบชเบธเปˆเบก. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบชเบนเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เป€เบฅเบทเบญเบเปเบšเบšเบชเบธเปˆเบก.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบซเบผเบฒเบ.

เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes เบšเปเปˆเป„เบ”เป‰เบ›เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบ•เบฒเบกเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™

เปเบ•เปˆเบฅเบฐเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป HTTP เบˆเบฒเบ frontend เบเบฑเบš backend เปเบกเปˆเบ™เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เป‚เบ”เบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เป€เบŠเบดเปˆเบ‡เป€เบ›เบตเบ”เปเบฅเบฐเบ›เบดเบ”.

เบ–เป‰เบฒ frontend เบชเบปเปˆเบ‡ 100 เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบตเป„เบ›เบซเบฒ backend, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ 100 เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เปเบกเปˆเบ™เป€เบ›เบตเบ”เปเบฅเบฐเบ›เบดเบ”.

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบซเบผเบธเบ”เบœเปˆเบญเบ™เป€เบงเบฅเบฒเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปเบฅเบฐเบเบฒเบ™เป‚เบซเบผเบ”เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เป€เบ›เบตเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เบซเบ™เบถเปˆเบ‡เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบกเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป HTTP เบ•เปเปˆเป„เบ›เบ—เบฑเบ‡เบซเบกเบปเบ”.

เป‚เบ›เบฃเป‚เบ•เบ„เป HTTP เบกเบตเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ HTTP Keep-alive, เบซเบผเบทเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปƒเบŠเป‰เบ„เบทเบ™. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เบ”เบฝเบงเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบชเบปเปˆเบ‡เปเบฅเบฐเบฎเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป HTTP เบซเบผเบฒเบเปเบฅเบฐเบ„เปเบฒเบ•เบญเบš:

เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ™เบตเป‰เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™: เบ—เบฑเบ‡เป€เบŠเบตเบšเป€เบงเบต เปเบฅเบฐเบฅเบนเบเบ‚เปˆเบฒเบเบˆเบฐเบ•เป‰เบญเบ‡เบ–เบทเบเบ›เบฑเบšเบ•เบฑเป‰เบ‡เบ•เบฒเบกเบ„เบงเบฒเบกเป€เปเบฒเบฐเบชเบปเบก.

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเปเบฅเบฐเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบชเปˆเบงเบ™เปƒเบซเบเปˆ.

เบ™เบตเป‰เปเบกเปˆเบ™เบšเบฒเบ‡เบฅเบดเป‰เบ‡เป„เบ›เบซเบฒเบ•เบปเบงเบขเปˆเบฒเบ‡เปƒเบ™เบžเบฒเบชเบฒเบ•เปˆเบฒเบ‡เป†:

เบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ Keep-alive เปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ Kubernetes?
เปƒเบซเป‰เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบ—เบฑเบ‡ frontend เปเบฅเบฐ backend เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฎเบฑเบเบชเบฒเบŠเบตเบงเบดเบ”.

เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบชเบฐเบšเบฑเบšเบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡ frontend เปเบฅเบฐเบชเบฒเบกเบชเปเบฒเป€เบ™เบปเบฒเบ‚เบญเบ‡ backend. Frontend เป€เบฎเบฑเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ—เปเบฒเบญเบดเบ”เปเบฅเบฐเป€เบ›เบตเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เบเบฑเบš backend เป„เบ”เป‰. เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเป„เบ›เบฎเบญเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เบซเบ™เบถเปˆเบ‡เปƒเบ™ backend pods เบ–เบทเบเป€เบฅเบทเบญเบเป€เบ›เบฑเบ™เบ—เบตเปˆเบขเบนเปˆเบ›เบฒเบเบ—เบฒเบ‡. backend เบชเบปเปˆเบ‡เบ„เปเบฒเบ•เบญเบš, เปเบฅเบฐ frontend เป„เบ”เป‰เบฎเบฑเบšเบกเบฑเบ™.

เบšเปเปˆเป€เบซเบกเบทเบญเบ™เบเบฑเบšเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ›เบปเบเบเบฐเบ•เบดเบ—เบตเปˆเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เบ›เบดเบ”เบซเบผเบฑเบ‡เบˆเบฒเบเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡, เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบงเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป HTTP เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เบ–เป‰เบฒ frontend เบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเป„เบ›เบซเบฒ backend?

เป€เบžเบทเปˆเบญเบชเบปเปˆเบ‡เบ•เปเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เป€เบ›เบตเบ”เบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเป„เบ›เบซเบฒ backend เบ”เบฝเบงเบเบฑเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ—เปเบฒเบญเบดเบ”เป„เบ›.

iptables เบšเปเปˆเบ„เบงเบ™เปเบˆเบเบขเบฒเบเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ„เบทเบ™เปƒเบซเบกเปˆเบšเป?

เบšเปเปˆเปเบกเปˆเบ™เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰.

เป€เบกเบทเปˆเบญเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™, เบกเบฑเบ™เบˆเบฐเบœเปˆเบฒเบ™เบเบปเบ”เบฅเบฐเบšเบฝเบš iptables, เป€เบŠเบดเปˆเบ‡เป€เบฅเบทเบญเบ backend เบชเบฐเป€เบžเบฒเบฐเบšเปˆเบญเบ™เบ—เบตเปˆเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบˆเบฐเป„เบ›.

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเป„เบ›เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เบ—เบตเปˆเป€เบ›เบตเบ”เบขเบนเปˆเปเบฅเป‰เบง, เบเบปเบ”เบฅเบฐเบšเบฝเบš iptables เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเป€เบญเบตเป‰เบ™เบญเบตเบเบ•เปเปˆเป„เบ›.

เบ‚เปเปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบกเบฑเบ™เบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเปเบ™เบงเปƒเบ”.

  1. เบเบฑเบเบ—เปเบฒเบญเบดเบ”เบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเป„เบ›เบซเบฒเบšเปเบฅเบดเบเบฒเบ™:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  2. เป€เบˆเบปเป‰เบฒเบฎเบนเป‰เปเบฅเป‰เบงเบงเปˆเบฒเบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เบ•เปเปˆเป„เบ›. เบšเปเบฅเบดเบเบฒเบ™เบšเปเปˆเบกเบตเบขเบนเปˆ, เปเบ•เปˆเบกเบตเบเบปเบ”เบฅเบฐเบšเบฝเบš iptables เบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  3. เบซเบ™เบถเปˆเบ‡เปƒเบ™ backend pods เบˆเบฐเบ–เบทเบเป€เบฅเบทเบญเบเป€เบ›เบฑเบ™เบ—เบตเปˆเบขเบนเปˆเบ›เบฒเบเบ—เบฒเบ‡:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  4. เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเป„เบ›เบฎเบญเบ”เบเบฑเบ. เปƒเบ™เบˆเบธเบ”เบ™เบตเป‰, เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบญเบ‡เบเบฑเบเบˆเบฐเบ–เบทเบเบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เบถเป‰เบ™:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  5. เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเป„เบ›เปƒเบ”เป†เบˆเบฒเบเบเบฑเบเบ—เปเบฒเบญเบดเบ”เบˆเบฐเบœเปˆเบฒเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบ•เบฑเป‰เบ‡เป„เบงเป‰เปเบฅเป‰เบง:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปเบกเปˆเบ™เป€เบงเบฅเบฒเบ•เบญเบšเป‚เบ•เป‰เป„เบงเบ‚เบถเป‰เบ™ เปเบฅเบฐเบชเบปเปˆเบ‡เบชเบฑเบ™เบเบฒเบ™เบ—เบตเปˆเบชเบนเบ‡เบ‚เบถเป‰เบ™, เปเบ•เปˆเบ—เปˆเบฒเบ™เบชเบนเบ™เป€เบชเบเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ›เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡ backend.

เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ—เปˆเบฒเบ™เบกเบตเบชเบญเบ‡เบเบฑเบเปƒเบ™ backend, เบ”เป‰เบงเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ„เบปเบ‡เบ—เบตเปˆ, เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบˆเบฐเป„เบ›เบซเบฒเบซเบ™เบถเปˆเบ‡เปƒเบ™เบ™เบฑเป‰เบ™เบชเบฐเป€เบซเบกเบต.

เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เป„เบ”เป‰เบšเป?

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบ Kubernetes เบšเปเปˆเบฎเบนเป‰เบงเบดเบ—เบตเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบ„เบปเบ‡เบ„เป‰เบฒเบ‡, เบงเบฝเบเบ‡เบฒเบ™เบ™เบตเป‰เบˆเบฐเบ•เบปเบเบขเบนเปˆเบเบฑเบšเป€เบˆเบปเป‰เบฒ.

เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบกเปˆเบ™เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเบ—เบตเปˆเบขเบนเปˆ IP เปเบฅเบฐเบžเบญเบ”เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ endpoints.

เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบˆเบธเบ”เบชเบดเป‰เบ™เบชเบธเบ”เบˆเบฒเบเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบฅเบฐเบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบงเบดเบ—เบตเบเบฒเบ™เปเบˆเบเบขเบฒเบเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบฅเบฐเบซเบงเปˆเบฒเบ‡เบžเบงเบเป€เบ‚เบปเบฒ. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบตเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบเบฑเบšเปเบ•เปˆเบฅเบฐ pod เปเบฅเบฐเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป‚เบ”เบเปƒเบŠเป‰ round-robin.

เบซเบผเบทเบชเบฐเปเบฑเบเป€เบžเบตเปˆเบกเป€เบ•เบตเบก เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบ—เบตเปˆเบŠเบฑเบšเบŠเป‰เบญเบ™.

เบฅเบฐเบซเบฑเบ”เบเปˆเบฒเบเบฅเบนเบเบ„เป‰เบฒเบ—เบตเปˆเบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเปƒเบ™เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบ„เบงเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเป€เบซเบ”เบœเบปเบ™เบ™เบตเป‰:

  1. เป€เบญเบปเบฒเบฅเบฒเบเบŠเบทเปˆเบˆเบธเบ”เบชเบดเป‰เบ™เบชเบธเบ”เบˆเบฒเบเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™.
  2. เป€เบ›เบตเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ„เบปเบ‡เบ—เบตเปˆเบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบˆเบธเบ”เบชเบดเป‰เบ™เบชเบธเบ”.
  3. เป€เบกเบทเปˆเบญเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป, เปƒเบซเป‰เปƒเบŠเป‰เบซเบ™เบถเปˆเบ‡เปƒเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบ›เบตเบ”.
  4. เบ›เบฑเบšเบ›เบธเบ‡เบฅเบฒเบเบŠเบทเปˆเบˆเบธเบ”เบชเบดเป‰เบ™เบชเบธเบ”เป€เบ›เบฑเบ™เบ›เบฐเบˆเปเบฒ, เบชเป‰เบฒเบ‡เบญเบฑเบ™เปƒเบซเบกเปˆเบซเบผเบทเบ›เบดเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ„เบปเบ‡เบ—เบตเปˆเป€เบเบปเปˆเบฒเบ–เป‰เบฒเบฅเบฒเบเบŠเบทเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡.

เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบˆเบฐเบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐ.

  1. เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบเบฑเบเบ—เปเบฒเบญเบดเบ”เบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเป„เบ›เบซเบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบขเบนเปˆเบเปˆเบฒเบเบฅเบนเบเบ„เป‰เบฒ:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  2. เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบ–เบฒเบกเบงเปˆเบฒ pods เปƒเบ”เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  3. เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เบกเบตเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆ, เบšเบฑเบ™เบ—เบถเบเบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบเปˆเบฒเบเบฅเบนเบเบ„เป‰เบฒเปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบกเบฑเบ™เป€เบžเบทเปˆเบญเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบเบฑเบ:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

  4. เบ—เปˆเบฒเบ™เบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ Load algorithm:

    เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™: เบšเบฑเบ™เบซเบฒเบ™เบตเป‰เปƒเบŠเป‰เบเบฑเบš HTTP Keep-alive เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™เบšเป?

เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เบ‚เป‰เบฒเบ‡เบฅเบนเบเบ„เป‰เบฒ

HTTP เบšเปเปˆเปเบกเปˆเบ™เป‚เบ›เป‚เบ•เบ„เบญเบ™เบ”เบฝเบงเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡.

เบ–เป‰เบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปƒเบŠเป‰เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เบšเปเปˆเป„เบ”เป‰เป€เบ›เบตเบ”เบ—เบธเบเบ„เบฑเป‰เบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบซเบผเบทเป€เบญเบปเบฒเป€เบญเบเบฐเบชเบฒเบ™เบˆเบฒเบเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. 

เปเบ—เบ™เบ—เบตเปˆเบˆเบฐ, เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบกเปˆเบ™เป€เบ›เบตเบ”เปเบฅเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰.

เบ–เป‰เบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ–เบทเบเบ™เบณเปƒเบŠเป‰เบขเบนเปˆเปƒเบ™ Kubernetes เปเบฅเบฐเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบชเบฐเปœเบญเบ‡เปƒเบซเป‰เป€เบ›เบฑเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบˆเบฐเบžเบปเบšเบšเบฑเบ™เบซเบฒเบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ—เบตเปˆเป„เบ”เป‰เบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เปƒเบ™เบžเบฒเบเบเปˆเบญเบ™เปœเป‰เบฒเบ™เบตเป‰.

เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบญเบฑเบ™เปœเบถเปˆเบ‡เบˆเบฐเบ–เบทเบเป‚เบซเบผเบ”เบซเบผเบฒเบเบเบงเปˆเบฒเบญเบฑเบ™เบญเบทเปˆเบ™. Kube-proxy เปเบฅเบฐ Kubernetes เบˆเบฐเบšเปเปˆเบŠเปˆเบงเบเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ. เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเปƒเบ™เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

เบญเบตเบ‡เบ•เบฒเบกเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ—เบตเปˆเบ—เปˆเบฒเบ™เปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰.

เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบเบธเปˆเบกเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ MySQL เบˆเบฒเบ Node.js:

var mysql = require('mysql');
var poolCluster = mysql.createPoolCluster();

var endpoints = /* retrieve endpoints from the Service */

for (var [index, endpoint] of endpoints) {
  poolCluster.add(`mysql-replica-${index}`, endpoint);
}

// Make queries to the clustered MySQL database

เบกเบตเบซเบผเบฒเบเป‚เบ›เป‚เบ•เบ„เบญเบ™เบญเบทเปˆเบ™เป†เบ—เบตเปˆเปƒเบŠเป‰เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡:

  • WebSockets เปเบฅเบฐ WebSockets เบ—เบตเปˆเบ›เบญเบ”เป„เบž
  • HTTP / 2
  • เบ. เบž. เบž
  • RSockets
  • AMQP

เบ—เปˆเบฒเบ™เบ„เบงเบ™เบ„เบธเป‰เบ™เป€เบ„เบตเบเบเบฑเบšเป‚เบ›เป‚เบ•เบ„เบญเบ™เบชเปˆเบงเบ™เปƒเบซเบเปˆเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบฅเป‰เบง.

เปเบ•เปˆเบ–เป‰เบฒเป‚เบ›เป‚เบ•เบ„เบญเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบ›เบฑเบ™เบ—เบตเปˆเบ™เบดเบเบปเบกเบซเบผเบฒเบ, เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบšเปเปˆเบกเบตเบเบฒเบ™เปเบเป‰เป„เบ‚เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™? เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เป€เบซเบ”เบœเบปเบ™เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡? เบกเบตเบเบฒเบ™เปเบเป‰เป„เบ‚ Kubernetes เบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡เบšเป?

Kube-proxy เปเบฅเบฐ iptables เบ–เบทเบเบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเปƒเบซเป‰เบเบงเบกเป€เบญเบปเบฒเบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเปƒเบŠเป‰เบ—เบปเปˆเบงเป„เบ›เบชเปˆเบงเบ™เปƒเบซเบเปˆเป€เบกเบทเปˆเบญเบ™เบณเปƒเบŠเป‰เบเบฑเบš Kubernetes. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบชเบฐเบ”เบงเบ.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบงเบฑเบšเบ—เบตเปˆเป€เบ›เบตเบ”เป€เบœเบตเบ REST API, เบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เป‚เบŠเบเบ”เบต - เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เบ„เบปเบ‡เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบšเปเบฅเบดเบเบฒเบ™ Kubernetes เปƒเบ”เป†.

เปเบ•เปˆเป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เป€เบฅเบตเปˆเบกเปƒเบŠเป‰เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡, เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบ„เบดเบ”เบงเบดเบ—เบตเบ—เบตเปˆเบˆเบฐเปเบˆเบเบขเบฒเบเบเบฒเบ™เป‚เบซเบผเบ”เป„เบ”เป‰เป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™เปƒเบ™เบ—เบปเปˆเบง backends. Kubernetes เบšเปเปˆเบกเบตเบงเบดเบ—เบตเปเบเป‰เป„เบ‚เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเบเปเบฅเบฐเบ™เบตเบ™เบตเป‰.

เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เปเบ™เปˆเบ™เบญเบ™เบงเปˆเบฒเบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบŠเปˆเบงเบเป„เบ”เป‰.

เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

เบกเบตเบชเบตเปˆเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปƒเบ™ Kubernetes:

  1. ClusterIP
  2. NodePort
  3. LoadBalancer
  4. เบšเปเปˆเบกเบตเบซเบปเบง

เบชเบฒเบกเบšเปเบฅเบดเบเบฒเบ™เบ—เปเบฒเบญเบดเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบ—เบตเปˆเบขเบนเปˆ IP virtual, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบ kube-proxy เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบš iptables. เปเบ•เปˆเบžเบทเป‰เบ™เบ–เบฒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเบซเบปเบง.

เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ headless เบšเปเปˆเบกเบตเบ—เบตเปˆเบขเบนเปˆ IP เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบกเบฑเบ™เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบชเบฐเบซเบ™เบญเบ‡เบเบปเบ™เป„เบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เบถเบ‡เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ—เบตเปˆเบขเบนเปˆ IP เปเบฅเบฐเบžเบญเบ”เบ‚เบญเบ‡เบเบฑเบ (เบˆเบธเบ”เบชเบดเป‰เบ™เบชเบธเบ”) เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบกเบฑเบ™.

เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ headless.

เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ ClusterIP เปเบกเปˆเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเบซเบปเบงเบ”เป‰เบงเบเบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบšเบฒเบ‡เบขเปˆเบฒเบ‡: 

  1. เบŠเบฑเป‰เบ™เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบกเบญเบšเปเบฒเบเปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบขเบนเปˆ IP.
  2. Kube-proxy เบชเป‰เบฒเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบš iptables เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™.

เบงเบดเบ—เบตเบ™เบตเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบฐเป€เบฅเบตเบ kube-proxy เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบเบเบปเบ‡เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบˆเบธเบ”เบชเบดเป‰เบ™เบชเบธเบ”เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบˆเบฒเบเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ headless เป€เบžเบทเปˆเบญเป‚เบซเบผเบ”เบเบญเบ”เป€เบ‡เบดเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบ—เบธเบเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบเบธเปˆเบกเป„เบ”เป‰เปเบ™เบงเปƒเบ”?

เบ–เป‰เบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ–เบทเบเบ™เบณเปƒเบŠเป‰เปเบฅเป‰เบง, เบงเบฝเบเบ‡เบฒเบ™เบ™เบตเป‰เบญเบฒเบ”เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบญเบทเปˆเบ™.

Service Mesh เบˆเบฐเบŠเปˆเบงเบเบ—เปˆเบฒเบ™เป„เบ”เป‰

เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เปเบฅเป‰เบงเบงเปˆเบฒเบเบธเบ”เบ—เบฐเบชเบฒเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เบ”เป‰เบฒเบ™เบฅเบนเบเบ„เป‰เบฒเปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™.

เป€เบกเบทเปˆเบญเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบกเบฑเบ™:

  1. เป„เบ”เป‰เบฎเบฑเบšเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ—เบตเปˆเบขเบนเปˆ IP เบˆเบฒเบเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™.
  2. เป€เบ›เบตเบ”เปเบฅเบฐเบฎเบฑเบเบชเบฒเบชเบฐเบ™เบธเบเป€เบเบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ.
  3. เบญเบฑเบšเป€เบ”เบ”เบชเบฐเบฅเบญเบเบ™เป‰เบณเป€เบ›เบฑเบ™เป„เบฅเบเบฐเป‚เบ”เบเบเบฒเบ™เป€เบžเบตเปˆเบก เบซเบผเบทเบฅเบถเบšเบˆเบธเบ”เบชเบดเป‰เบ™เบชเบธเบ”เบญเบญเบ.

เป€เบกเบทเปˆเบญเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป, เบกเบฑเบ™:

  1. เป€เบฅเบทเบญเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบขเบนเปˆเป‚เบ”เบเปƒเบŠเป‰เป€เบซเบ”เบœเบปเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡ (เป€เบŠเบฑเปˆเบ™: round-robin).
  2. เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป.

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบฎเบฑเบ”เบงเบฝเบเบชเปเบฒเบฅเบฑเบšเบ—เบฑเบ‡เบชเบญเบ‡ WebSockets, gRPC, เปเบฅเบฐเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ AMQP.

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปเบเบเป€เบซเบ”เบœเบปเบ™เบ™เบตเป‰เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบกเบฑเบ™เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ•เบฒเบซเบ™เปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบŠเบฑเปˆเบ™ Istio เบซเบผเบท Linkerd เปเบ—เบ™.

Service Mesh เบ‚เบฐเบซเบเบฒเบเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ”เป‰เบงเบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆ:

  1. เบ„เบปเป‰เบ™เบซเบฒเบ—เบตเปˆเบขเบนเปˆ IP เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.
  2. เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบŠเบฑเปˆเบ™ WebSockets เปเบฅเบฐ gRPC.
  3. เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเป‚เบ”เบเปƒเบŠเป‰เป‚เบ›เป‚เบ•เบ„เบญเบ™เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡.

Service Mesh เบŠเปˆเบงเบเบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบžเบฒเบเปƒเบ™เบเบธเปˆเบก, เปเบ•เปˆเบกเบฑเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบซเบผเบฒเบ. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบญเบทเปˆเบ™เปเบกเปˆเบ™เปƒเบŠเป‰เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบกเป€เบŠเบฑเปˆเบ™: Netflix Ribbon เบซเบผเบทเบ•เบปเบงเปเบ—เบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เป‚เบ›เบฃเปเบเบฃเบกเป„เบ”เป‰เป€เบŠเบฑเปˆเบ™: Envoy.

เบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบชเบปเบ™เปƒเบˆเบšเบฑเบ™เบซเบฒเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡?

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบทเบญเบเบ—เบตเปˆเบˆเบฐเบšเปเปˆเปƒเบŠเป‰เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เปเบฅเบฐเบเบฑเบ‡เบšเปเปˆเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ”เป†. เบ‚เปเปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบˆเปเบฒเบ™เบงเบ™เบซเบ™เป‰เบญเบเบซเบ™เบถเปˆเบ‡.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบฅเบนเบเบ„เป‰เบฒเบซเบผเบฒเบเบเบงเปˆเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, เบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบšเบฑเบ™เบซเบฒเปƒเบซเบเปˆ.

เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบกเบตเบซเป‰เบฒเบฅเบนเบเบ„เป‰เบฒเบ—เบตเปˆเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบชเบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบšเปเปˆเบกเบตเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบฑเบ‡เบชเบญเบ‡เบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰:

เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบญเบฒเบ”เบˆเบฐเบšเปเปˆเบ–เบทเบเปเบˆเบเบขเบฒเบเป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™: เบšเบฒเบ‡เบ—เบตเบฅเบนเบเบ„เป‰เบฒเบชเบตเปˆเบ„เบปเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ”เบฝเบงเบเบฑเบ™, เปเบ•เปˆเบกเบตเป‚เบญเบเบฒเบ”เบ”เบตเบ—เบตเปˆเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบฑเบ‡เบชเบญเบ‡เบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰.

เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบšเบฑเบ™เบซเบฒเบซเบผเบฒเบเปเบกเปˆเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบก.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบฅเบนเบเบ„เป‰เบฒเบซเบ™เป‰เบญเบเบฅเบปเบ‡เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบซเบผเบฒเบ, เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบ–เบทเบเปƒเบŠเป‰เบซเบ™เป‰เบญเบเบฅเบปเบ‡เปเบฅเบฐเบ‚เปเป‰เบšเบปเบเบœเปˆเบญเบ‡เบ—เบตเปˆเบญเบฒเบ”เบˆเบฐเป€เบเบตเบ”เบ‚เบทเป‰เบ™.

เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบกเบตเบชเบญเบ‡เบฅเบนเบเบ„เป‰เบฒเปเบฅเบฐเบซเป‰เบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”, เบˆเบฐเบกเบตเบชเบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ–เบฒเบงเบญเบ™เบเบฑเบšเบชเบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบญเบญเบเบˆเบฒเบเบซเป‰เบฒ.

เป€เบŠเบตเบšเป€เบงเบตเบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ:

เป‚เบซเบผเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบเบฒเบงเบ™เบฒเบ™เปƒเบ™ Kubernetes

เบ–เป‰เบฒเบชเบญเบ‡เป€เบŠเบตเบšเป€เบงเบตเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบšเปเปˆเบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบเบฒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเป„เบ”เป‰, เบเบฒเบ™เบ›เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบ•เบฒเบกเบฅเบงเบ‡เบ™เบญเบ™เบˆเบฐเบšเปเปˆเบŠเปˆเบงเบเป„เบ”เป‰.

เบชเบฐเบซเบฅเบธเบš

เบšเปเบฅเบดเบเบฒเบ™ Kubernetes เบ–เบทเบเบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบงเบฑเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบชเปˆเบงเบ™เปƒเบซเบเปˆ.

เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เป€เบฅเบตเปˆเบกเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป‚เบ›เป‚เบ•เบ„เบญเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเปƒเบŠเป‰เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡, เป€เบŠเบฑเปˆเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, gRPC เบซเบผเบท WebSockets, เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบกเปˆเบ™เบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบญเบตเบเบ•เปเปˆเป„เบ›. Kubernetes เบšเปเปˆเปƒเบซเป‰เบเบปเบ™เป„เบเบžเบฒเบเปƒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP เบ„เบปเบ‡เบ—เบตเปˆ.

เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบ‚เบฝเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบ”เป‰เบฒเบ™เบฅเบนเบเบ„เป‰เบฒเบขเบนเปˆเปƒเบ™เปƒเบˆ.

เบเบฒเบ™เปเบ›เบ—เบตเปˆเบเบฐเบเบฝเบกเป‚เบ”เบเบ—เบตเบกเบ‡เบฒเบ™ Kubernetes aaS เบˆเบฒเบ Mail.ru.

เบกเบตเบซเบเบฑเบ‡เบญเบตเบเปเบ”เปˆเบ—เบตเปˆเบˆเบฐเบญเปˆเบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบซเบปเบงเบ‚เปเป‰:

  1. เบชเบฒเบกเบฅเบฐเบ”เบฑเบšเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปƒเบ™ Kubernetes เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™เบขเปˆเบฒเบ‡เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš
  2. Kubernetes เปƒเบ™เบˆเบดเบ”เปƒเบˆเบ‚เบญเบ‡เบเบฒเบ™เบฅเบฐเป€เบกเบตเบ”เบฅเบดเบ‚เบฐเบชเบดเบ”เบเบฑเบšเปเบกเปˆเปเบšเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.
  3. เบŠเปˆเบญเบ‡เบ—เบฒเบ‡ Telegram เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบซเบฑเบ™เป€เบ›เบฑเบ™เบ”เบดเบˆเบดเบ•เบญเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™