เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจŸเจฟเจชเจธ เจ…เจคเฉ‡ เจŸเฉเจฐเจฟเจ•เจธ: NGINX เจ…เจคเฉ‡ PHP-FPM เจตเจฟเฉฑเจš เจธเจผเจพเจจเจฆเจพเจฐ เจฌเฉฐเจฆ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš CI/CD เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจ‡เฉฑเจ• เจ†เจฎ เจธเจฅเจฟเจคเฉ€: เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฐเฉ‹เจ•เจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจจเจตเฉ€เจ†เจ‚ เจ•เจฒเจพเจ‡เฉฐเจŸ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจจเจพ เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ, เจฎเฉŒเจœเฉ‚เจฆเจพ เจจเฉ‚เฉฐ เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจชเฉ‚เจฐเจพ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจŸเจฟเจชเจธ เจ…เจคเฉ‡ เจŸเฉเจฐเจฟเจ•เจธ: NGINX เจ…เจคเฉ‡ PHP-FPM เจตเจฟเฉฑเจš เจธเจผเจพเจจเจฆเจพเจฐ เจฌเฉฐเจฆ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚

เจ‡เจธ เจธเจผเจฐเจค เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจคเฉˆเจจเจพเจคเฉ€ เจฆเฉŒเจฐเจพเจจ เจœเจผเฉ€เจฐเฉ‹ เจกเจพเจŠเจจเจŸเจพเจˆเจฎ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจฌเจนเฉเจค เจฎเจธเจผเจนเฉ‚เจฐ เจฌเฉฐเจกเจฒ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ NGINX เจ…เจคเฉ‡ PHP-FPM) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจตเฉ€, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฎเฉเจธเจผเจ•เจฒเจพเจ‚ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจเจพ เจชเฉˆ เจธเจ•เจฆเจพ เจนเฉˆ เจœเฉ‹ เจนเจฐเฉ‡เจ• เจคเฉˆเจจเจพเจคเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจตเจพเจงเฉ‡ เจตเฉฑเจฒ เจฒเฉˆ เจœเจพเจตเฉ‡เจ—เจพ...

เจฅเจฟเจŠเจฐเฉ€. เจชเฉŒเจก เจ•เจฟเจตเฉ‡เจ‚ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉˆ

เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจชเฉŒเจก เจฆเฉ‡ เจœเฉ€เจตเจจ เจšเฉฑเจ•เจฐ เจฌเจพเจฐเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจš เจชเฉเจฐเจ•เจพเจธเจผเจค เจ•เจฐ เจšเฉเฉฑเจ•เฉ‡ เจนเจพเจ‚ เจ‡เจน เจฒเฉ‡เจ–. เจตเจฟเจšเจพเจฐ เจ…เจงเฉ€เจจ เจตเจฟเจธเจผเฉ‡ เจฆเฉ‡ เจธเฉฐเจฆเจฐเจญ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจตเจฟเฉฑเจš เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจนเจพเจ‚: เจ‡เจธ เจธเจฎเฉ‡เจ‚ เจœเจฆเฉ‹เจ‚ เจชเฉ‹เจก เจฐเจพเจœ เจตเจฟเฉฑเจš เจฆเจพเจ–เจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจธเจฎเจพเจชเจคเฉ€, เจจเจตเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจ‡เจธ เจจเฉ‚เฉฐ เจญเฉ‡เจœเฉ€เจ†เจ‚ เจœเจพเจฃเฉ€เจ†เจ‚ เจฌเฉฐเจฆ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ (pod เจนเจŸเจพเจ‡เจ† เจธเฉ‡เจตเจพ เจฒเจˆ เจ…เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉ‚เจ†เจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจคเฉ‹เจ‚)เฅค เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจคเฉˆเจจเจพเจคเฉ€ เจฆเฉŒเจฐเจพเจจ เจกเจพเจŠเจจเจŸเจพเจˆเจฎ เจคเฉ‹เจ‚ เจฌเจšเจฃ เจฒเจˆ, เจธเจพเจกเฉ‡ เจฒเจˆ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจฐเฉ‹เจ•เจฃ เจฆเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจ‡เจน เจ•เจพเจซเจผเฉ€ เจนเฉˆเฅค

เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจตเฉ€ เจฏเจพเจฆ เจฐเฉฑเจ–เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ•เจฟ เจกเจฟเจซเฉŒเจฒเจŸ เจ—เฉเจฐเฉ‡เจธ เจชเฉ€เจฐเฉ€เจ…เจก เจนเฉˆ 30 เจธเจ•เจฟเฉฐเจŸ: เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจชเฉŒเจก เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจœเจพเจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ•เฉ‹เจฒ เจ‡เจธ เจฎเจฟเจ†เจฆ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ 'เจคเฉ‡ เจ•เจพเจฐเจตเจพเจˆ เจ•เจฐเจจ เจฒเจˆ เจธเจฎเจพเจ‚ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจŸเจฟเฉฑเจชเจฃเฉ€: เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ•เฉ‹เจˆ เจตเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจœเฉ‹ 5-10 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจคเฉ‹เจ‚ เจตเฉฑเจง เจธเจฎเจพเจ‚ เจฒเฉˆเจ‚เจฆเฉ€ เจนเฉˆ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจตเจพเจฒเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจธเจผเจพเจจเจฆเจพเจฐ เจฌเฉฐเจฆ เจ•เจฐเจจเจพ เจนเฉเจฃ เจ‡เจธเจฆเฉ€ เจฎเจฆเจฆ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพ...

เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเจฎเจเจฃ เจฒเจˆ เจ•เจฟ เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจชเฉŒเจก เจฌเฉฐเจฆ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจ•เฉ€ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เฉ‹:

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจŸเจฟเจชเจธ เจ…เจคเฉ‡ เจŸเฉเจฐเจฟเจ•เจธ: NGINX เจ…เจคเฉ‡ PHP-FPM เจตเจฟเฉฑเจš เจธเจผเจพเจจเจฆเจพเจฐ เจฌเฉฐเจฆ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚

A1, B1 - เจšเฉเฉฑเจฒเฉเจนเจพ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฌเจพเจฐเฉ‡ เจฌเจฆเจฒเจพเจ… เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ
A2 - เจฐเจตเจพเจจเจ—เฉ€ SIGTERM
B2 - เจ…เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉ‚เจ†เจ‚ เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจชเฉŒเจก เจจเฉ‚เฉฐ เจนเจŸเจพเจ‰เจฃเจพ
B3 - เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ (เจ…เฉฐเจค เจฌเจฟเฉฐเจฆเฉ‚เจ†เจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจฌเจฆเจฒ เจ—เจˆ เจนเฉˆ)
B4 - iptables เจจเจฟเจฏเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเฉ‹

เจ•เจฟเจฐเจชเจพ เจ•เจฐเจ•เฉ‡ เจจเฉ‹เจŸ เจ•เจฐเฉ‹: เจ…เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉ‚ เจชเฉ‹เจก เจจเฉ‚เฉฐ เจฎเจฟเจŸเจพเจ‰เจฃเจพ เจ…เจคเฉ‡ SIGTERM เจญเฉ‡เจœเจฃเจพ เจ•เฉเจฐเจฎเจตเจพเจฐ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ, เจชเจฐ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ‡เจธ เจคเฉฑเจฅ เจฆเฉ‡ เจ•เจพเจฐเจจ เจ•เจฟ เจ‡เฉฐเจ—เจฐเฉˆเจธ เจจเฉ‚เฉฐ เจ…เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉ‚เจ†เจ‚ เจฆเฉ€ เจ…เจชเจกเฉ‡เจŸ เจ•เฉ€เจคเฉ€ เจธเฉ‚เจšเฉ€ เจคเฉเจฐเฉฐเจค เจชเฉเจฐเจพเจชเจค เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจ—เจพเจนเจ•เจพเจ‚ เจฆเฉ€เจ†เจ‚ เจจเจตเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจชเฉ‹เจก เจจเฉ‚เฉฐ เจญเฉ‡เจœเฉ€เจ†เจ‚ เจœเจพเจฃเจ—เฉ€เจ†เจ‚, เจœเจฟเจธ เจจเจพเจฒ เจชเฉŒเจก เจธเจฎเจพเจชเจคเฉ€ เจฆเฉŒเจฐเจพเจจ 500 เจ—เจฒเจคเฉ€ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค (เจ‡เจธ เจฎเฉเฉฑเจฆเฉ‡ 'เจคเฉ‡ เจตเจงเฉ‡เจฐเฉ‡ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจธเจฎเฉฑเจ—เจฐเฉ€ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ…เจจเฉเจตเจพเจฆ เจ•เฉ€เจคเจพ). เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ‡ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจจเจพเจฒ เจนเฉฑเจฒ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ:

  • เจ•เจจเฉˆเจ•เจธเจผเจจ เจญเฉ‡เจœเฉ‹: เจœเจตเจพเจฌ เจฆเฉ‡ เจธเจฟเจฐเจฒเฉ‡เจ–เจพเจ‚ เจตเจฟเฉฑเจš เจฌเฉฐเจฆ เจ•เจฐเฉ‹ (เจœเฉ‡ เจ‡เจน เจ‡เฉฑเจ• HTTP เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉˆ)เฅค
  • เจœเฉ‡ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเจพเจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเจพ เจฒเฉ‡เจ– เจ‡เฉฑเจ• เจนเฉฑเจฒ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจผเจพเจจเจฆเจพเจฐ เจฎเจฟเจ†เจฆ เจฆเฉ‡ เจ…เฉฐเจค เจคเฉฑเจ• เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ 'เจคเฉ‡ เจ•เจพเจฐเจตเจพเจˆ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค

เจฅเจฟเจŠเจฐเฉ€. เจ•เจฟเจตเฉ‡เจ‚ NGINX เจ…เจคเฉ‡ PHP-FPM เจ†เจชเจฃเฉ€เจ†เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ

NGINX

เจ†เจ“ NGINX เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ€เจ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจธเจฆเฉ‡ เจจเจพเจฒ เจธเจญ เจ•เฉเจ เจ˜เฉฑเจŸ เจœเจพเจ‚ เจ˜เฉฑเจŸ เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆเฅค เจธเจฟเจงเจพเจ‚เจค เจตเจฟเฉฑเจš เจ—เฉ‹เจคเจพเจ–เฉ‹เจฐเฉ€ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจ…เจธเฉ€เจ‚ เจธเจฟเฉฑเจ–เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ NGINX เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฎเจพเจธเจŸเจฐ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ…เจคเฉ‡ เจ•เจˆ "เจ•เจฐเจฎเจšเจพเจฐเฉ€" เจนเจจ - เจ‡เจน เจฌเจพเจฒ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจนเจจ เจœเฉ‹ เจ•เจฒเจพเจ‡เฉฐเจŸ เจฆเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ 'เจคเฉ‡ เจ•เจพเจฐเจตเจพเจˆ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ‡เฉฑเจ• เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจตเจฟเจ•เจฒเจช เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ: เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ nginx -s <SIGNAL> เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจœเจพเจ‚ เจคเจพเจ‚ เจคเฉ‡เจœเจผ เจฌเฉฐเจฆ เจœเจพเจ‚ เจธเจผเจพเจจเจฆเจพเจฐ เจฌเฉฐเจฆ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจ–เจคเจฎ เจ•เจฐเฉ‹เฅค เจธเจชเฉฑเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจน เจฌเจพเจ…เจฆ เจตเจพเจฒเจพ เจตเจฟเจ•เจฒเจช เจนเฉˆ เจœเฉ‹ เจธเจพเจกเฉ€ เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆเฅค

เจซเจฟเจฐ เจธเจญ เจ•เฉเจ เจธเจงเจพเจฐเจจ เจนเฉˆ: เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ preStop-เจนเฉเฉฑเจ• เจ‡เฉฑเจ• เจ•เจฎเจพเจ‚เจก เจœเฉ‹ เจ‡เฉฑเจ• เจธเจผเจพเจจเจฆเจพเจฐ เจฌเฉฐเจฆ เจธเจฟเจ—เจจเจฒ เจญเฉ‡เจœเฉ‡เจ—เฉ€เฅค เจ‡เจน เจคเฉˆเจจเจพเจคเฉ€ เจตเจฟเฉฑเจš, เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฌเจฒเจพเจ• เจตเจฟเฉฑเจš เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ:

       lifecycle:
          preStop:
            exec:
              command:
              - /usr/sbin/nginx
              - -s
              - quit

เจนเฉเจฃ, เจœเจฆเฉ‹เจ‚ เจชเฉŒเจก เจฌเฉฐเจฆ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ…เจธเฉ€เจ‚ NGINX เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฒเฉŒเจ—เจธ เจตเจฟเฉฑเจš เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจพเจ‚เจ—เฉ‡:

2018/01/25 13:58:31 [notice] 1#1: signal 3 (SIGQUIT) received, shutting down
2018/01/25 13:58:31 [notice] 11#11: gracefully shutting down

เจ…เจคเฉ‡ เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจ‡เจน เจนเฉ‹เจตเฉ‡เจ—เจพ เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ เจ•เฉ€ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ: NGINX เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจชเฉ‚เจฐเจพ เจนเฉ‹เจฃ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจซเจฟเจฐ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจนเฉ‡เจ เจพเจ‚ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ†เจฎ เจธเจฎเฉฑเจธเจฟเจ† 'เจคเฉ‡ เจตเฉ€ เจตเจฟเจšเจพเจฐ เจ•เจฐเจพเจ‚เจ—เฉ‡ เจœเจฟเจธ เจ•เจพเจฐเจจ, เจ•เจฎเจพเจ‚เจก เจฆเฉ‡ เจจเจพเจฒ เจตเฉ€ nginx -s quit เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ—เจฒเจค เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจ–เจคเจฎ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค

เจ…เจคเฉ‡ เจ‡เจธ เจชเฉœเจพเจ… 'เจคเฉ‡ เจ…เจธเฉ€เจ‚ NGINX เจจเจพเจฒ เจ•เฉ€เจคเจพ เจนเฉˆ: เจ˜เฉฑเจŸเฉ‹ เจ˜เฉฑเจŸ เจฒเฉŒเจ—เจธ เจคเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจธเจฎเจ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจธเจญ เจ•เฉเจ เจ‰เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจน เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ.

PHP-FPM เจจเจพเจฒ เจ•เฉ€ เจธเฉŒเจฆเจพ เจนเฉˆ? เจ‡เจน เจธเจผเจพเจจเจฆเจพเจฐ เจฌเฉฐเจฆ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเฉฐเจญเจพเจฒเจฆเจพ เจนเฉˆ? เจ†เจ“ เจ‡เจธ เจจเฉ‚เฉฐ เจฌเจพเจนเจฐ เจ•เฉฑเจขเฉ€เจเฅค

PHP-FPM

PHP-FPM เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš, เจฅเฉ‹เฉœเฉ€ เจ˜เฉฑเจŸ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจนเฉˆ. เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ 'เจคเฉ‡ เจงเจฟเจ†เจจ เจ•เฉ‡เจ‚เจฆเจฐเจค เจ•เจฐเจฆเฉ‡ เจนเฉ‹ เจ…เจงเจฟเจ•เจพเจฐเจค เจฎเฉˆเจจเฉ‚เจ…เจฒ PHP-FPM เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจ‡เจน เจ•เจนเฉ‡เจ—เจพ เจ•เจฟ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ POSIX เจธเจฟเจ—เจจเจฒ เจธเจตเฉ€เจ•เจพเจฐ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ:

  1. SIGINT, SIGTERM - เจคเฉ‡เจœเจผ เจฌเฉฐเจฆ;
  2. SIGQUIT - เจธเจผเจพเจจเจฆเจพเจฐ เจฌเฉฐเจฆ (เจธเจพเจจเฉ‚เฉฐ เจ•เฉ€ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ)เฅค

เจ‡เจธ เจ•เฉฐเจฎ เจตเจฟเฉฑเจš เจฌเจพเจ•เฉ€ เจธเจฟเจ—เจจเจฒเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจจเฉ‚เฉฐ เจ›เฉฑเจก เจฆเฉ‡เจตเจพเจ‚เจ—เฉ‡เฅค เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจ–เจคเจฎ เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจชเฉเจฐเฉ€เจธเจŸเฉŒเจช เจนเฉเฉฑเจ• เจจเฉ‚เฉฐ เจฒเจฟเจ–เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€:

        lifecycle:
          preStop:
            exec:
              command:
              - /bin/kill
              - -SIGQUIT
              - "1"

เจชเจนเจฟเจฒเฉ€ เจจเจœเจผเจฐ 'เจคเฉ‡, เจ‡เจน เจ‰เจน เจธเจญ เจนเฉˆ เจœเฉ‹ เจฆเฉ‹เจตเจพเจ‚ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจผเจพเจจเจฆเจพเจฐ เจฌเฉฐเจฆ เจ•เจฐเจจ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเจพ เจนเฉˆ. เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจน เจ•เฉฐเจฎ เจ‡เจธ เจคเฉ‹เจ‚ เจตเฉฑเจง เจฎเฉเจธเจผเจ•เจฒ เจนเฉˆ. เจนเฉ‡เจ เจพเจ‚ เจฆเฉ‹ เจ•เฉ‡เจธ เจนเจจ เจœเจฟเจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจš เจธเจผเจพเจจเจฆเจพเจฐ เจฌเฉฐเจฆ เจนเฉ‹เจฃ เจ•เจพเจฐเจจ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจนเฉ‹เจ‡เจ† เจ…เจคเฉ‡ เจคเฉˆเจจเจพเจคเฉ€ เจฆเฉŒเจฐเจพเจจ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ€ เจฅเฉ‹เฉœเฉเจนเฉ‡ เจธเจฎเฉ‡เจ‚ เจฒเจˆ เจ…เจฃเจ‰เจชเจฒเจฌเจงเจคเจพ เจฆเจพ เจ•เจพเจฐเจจ เจฌเจฃเจฟเจ†เฅค

เจ…เจญเจฟเจ†เจธ. เจธเจผเจพเจจเจฆเจพเจฐ เจธเจผเจŸเจกเจพเจŠเจจ เจจเจพเจฒ เจธเฉฐเจญเจต เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚

NGINX

เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจ‡เจน เจฏเจพเจฆ เจฐเฉฑเจ–เจฃเจพ เจฒเจพเจญเจฆเจพเจ‡เจ• เจนเฉˆ: เจ•เจฎเจพเจ‚เจก เจšเจฒเจพเจ‰เจฃ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ nginx -s quit เจ‡เฉฑเจฅเฉ‡ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจชเฉœเจพเจ… เจนเฉˆ เจœเจฟเจธ เจตเฉฑเจฒ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจนเฉˆ. เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจเจพ เจชเจฟเจ† เจœเจฟเฉฑเจฅเฉ‡ NGINX เจ…เจœเฉ‡ เจตเฉ€ SIGQUIT เจธเจฟเจ—เจจเจฒ เจฆเฉ€ เจฌเจœเจพเจ SIGTERM เจญเฉ‡เจœเฉ‡เจ—เจพ, เจœเจฟเจธ เจ•เจพเจฐเจจ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจชเฉ‚เจฐเฉ€เจ†เจ‚ เจจเจนเฉ€เจ‚ เจนเฉ‹เจˆเจ†เจ‚เฅค เจ‡เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ‡ เจ•เฉ‡เจธ เจชเจพเจ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจฅเฉ‡. เจฌเจฆเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ, เจ…เจธเฉ€เจ‚ เจ‡เจธ เจตเจฟเจตเจนเจพเจฐ เจฆเฉ‡ เจ–เจพเจธ เจ•เจพเจฐเจจ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ…เจธเจฎเจฐเฉฑเจฅ เจธเฉ€: NGINX เจธเฉฐเจธเจ•เจฐเจฃ เจฌเจพเจฐเฉ‡ เจ‡เฉฑเจ• เจธเจผเฉฑเจ• เจธเฉ€, เจชเจฐ เจ‡เจธเจฆเฉ€ เจชเฉเจธเจผเจŸเฉ€ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€เฅค เจฒเฉฑเจ›เจฃ เจ‡เจน เจธเฉ€ เจ•เจฟ NGINX เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฒเฉŒเจ—เจธ เจตเจฟเฉฑเจš เจธเฉฐเจฆเฉ‡เจธเจผ เจฆเฉ‡เจ–เฉ‡ เจ—เจ เจธเจจ: "เจ•เฉเจจเฉˆเจ•เจธเจผเจจ 10 เจตเจฟเฉฑเจš เจ“เจชเจจ เจธเจพเจ•เฉ‡เจŸ #5 เจฌเจพเจ•เฉ€ เจนเฉˆ", เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจชเฉŒเจก เจฌเฉฐเจฆ เจนเฉ‹ เจ—เจฟเจ†เฅค

เจ…เจธเฉ€เจ‚ เจ…เจœเจฟเจนเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเจพเจ‚, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฐเจ—เจฐเฉˆเจธ 'เจคเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจœเจตเจพเจฌเจพเจ‚ เจคเฉ‹เจ‚:

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจŸเจฟเจชเจธ เจ…เจคเฉ‡ เจŸเฉเจฐเจฟเจ•เจธ: NGINX เจ…เจคเฉ‡ PHP-FPM เจตเจฟเฉฑเจš เจธเจผเจพเจจเจฆเจพเจฐ เจฌเฉฐเจฆ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚
เจคเฉˆเจจเจพเจคเฉ€ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจธเจฅเจฟเจคเฉ€ เจ•เฉ‹เจก เจฆเฉ‡ เจธเฉ‚เจšเจ•

เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจธเจพเจจเฉ‚เฉฐ Ingress เจคเฉ‹เจ‚ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• 503 เจ—เจฒเจคเฉ€ เจ•เฉ‹เจก เจชเฉเจฐเจพเจชเจค เจนเฉเฉฐเจฆเจพ เจนเฉˆ: เจ‡เจน NGINX เจ•เฉฐเจŸเฉ‡เจจเจฐ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจนเฉเจฃ เจชเจนเฉเฉฐเจšเจฏเฉ‹เจ— เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ NGINX เจตเจพเจฒเฉ‡ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฒเฉŒเจ—เจธ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจš เจนเฉ‡เจ  เจฒเจฟเจ–เฉ‡ เจธเจผเจพเจฎเจฒ เจนเจจ:

[alert] 13939#0: *154 open socket #3 left in connection 16
[alert] 13939#0: *168 open socket #6 left in connection 13

เจธเจŸเจพเจช เจธเจฟเจ—เจจเจฒ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ•เฉฐเจŸเฉ‡เจจเจฐ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจฌเฉฐเจฆ เจนเฉ‹เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆ: เจ‡เจน เจ‡เจธ เจคเฉฑเจฅ เจฆเฉเจ†เจฐเจพ เจชเฉเจธเจผเจŸเฉ€ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจ•เจฟ 503 เจ—เจฒเจคเฉ€ เจนเฉเจฃ เจจเจนเฉ€เจ‚ เจตเฉ‡เจ–เฉ€ เจœเจพเจ‚เจฆเฉ€.

เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃเจพ เจธเจฎเจเจฆเจพเจฐเฉ€ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจตเจฟเฉฑเจš เจ•เจฟเจนเฉœเจพ เจธเจŸเจพเจช เจธเจฟเจ—เจจเจฒ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจชเฉเจฐเฉ€เจธเจŸเฉŒเจช เจนเฉเฉฑเจ• เจ•เจฟเจนเฉ‹ เจœเจฟเจนเจพ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจ•เจพเจซเจผเฉ€ เจธเฉฐเจญเจต เจนเฉˆ เจ•เจฟ เจ‡เจธเจฆเจพ เจ•เจพเจฐเจจ เจฌเจฟเจฒเจ•เฉเจฒ เจ‡เจธ เจตเจฟเฉฑเจš เจนเฉˆ.

PHP-FPM... เจ…เจคเฉ‡ เจนเฉ‹เจฐ

PHP-FPM เจฆเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจฎเจพเจฎเฉ‚เจฒเฉ€ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจฆเฉฑเจธเจฟเจ† เจ—เจฟเจ† เจนเฉˆ: เจ‡เจน เจฌเจพเจฒ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฆเฉ‡ เจชเฉ‚เจฐเจพ เจนเฉ‹เจฃ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ, เจ‡เจน เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจ•เจพเจฐเจจ เจคเฉˆเจจเจพเจคเฉ€ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจฆเฉŒเจฐเจพเจจ 502 เจ—เจฒเจคเฉ€เจ†เจ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค 2005 เจคเฉ‹เจ‚ bugs.php.net 'เจคเฉ‡ เจ•เจˆ เจฌเฉฑเจ— เจฐเจฟเจชเฉ‹เจฐเจŸเจพเจ‚ เจนเจจ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ เจ‡เฉฑเจฅเฉ‡ ะธ เจ‡เฉฑเจฅเฉ‡), เจœเฉ‹ เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจชเจฐ เจคเฉเจธเฉ€เจ‚ เจธเฉฐเจญเจพเจตเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจฒเฉŒเจ—เจธ เจตเจฟเฉฑเจš เจ•เฉเจ เจตเฉ€ เจจเจนเฉ€เจ‚ เจฆเฉ‡เจ– เจธเจ•เฉ‹เจ—เฉ‡: PHP-FPM เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจ—เจฒเจคเฉ€ เจœเจพเจ‚ เจคเฉ€เจœเฉ€-เจงเจฟเจฐ เจฆเฉ€เจ†เจ‚ เจธเฉ‚เจšเจจเจพเจตเจพเจ‚ เจฆเฉ‡ เจ‡เจธเจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉ‡ เจชเฉ‚เจฐเจพ เจนเฉ‹เจฃ เจฆเจพ เจเจฒเจพเจจ เจ•เจฐเฉ‡เจ—เจพเฅค

เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจ•เจฐเจจ เจฏเฉ‹เจ— เจนเฉˆ เจ•เจฟ เจธเจฎเฉฑเจธเจฟเจ† เจ–เฉเจฆ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ 'เจคเฉ‡ เจ˜เฉฑเจŸ เจœเจพเจ‚ เจตเฉฑเจง เจนเฉฑเจฆ เจคเฉฑเจ• เจจเจฟเจฐเจญเจฐ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจชเฉเจฐเจ—เจŸ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ€, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจจเจฟเจ—เจฐเจพเจจเฉ€ เจตเจฟเฉฑเจš. เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ‡เฉฑเจ• เจธเจงเจพเจฐเจจ เจนเฉฑเจฒ เจชเจนเจฟเจฒเจพเจ‚ เจฎเจจ เจตเจฟเฉฑเจš เจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ: เจ‡เจธ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจชเฉเจฐเฉ€เจธเจŸเฉŒเจช เจนเฉเฉฑเจ• เจœเฉ‹เฉœเฉ‹ sleep(30). เจ‡เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจพเจฐเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเฉ‡เจตเฉ‡เจ—เจพ เจœเฉ‹ เจชเจนเจฟเจฒเจพเจ‚ เจธเจจ (เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจชเฉ‹เจก เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจจเจตเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจนเฉ€ เจ•เจฐเจจ เจฆเฉ‡ เจธเจฎเจฐเฉฑเจฅ เจธเจฎเจพเจชเจคเฉ€), เจ…เจคเฉ‡ 30 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจฌเจพเจ…เจฆ เจชเฉŒเจก เจ†เจชเจฃเฉ‡ เจ†เจช เจ‡เฉฑเจ• เจธเจฟเจ—เจจเจฒ เจจเจพเจฒ เจ–เจคเจฎ เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เจพ SIGTERM.

เจ‡เจน เจชเจคเจพ เจšเจฒเจฆเจพ เจนเฉˆ เจ•เจฟ lifecycle เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฒเจˆ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡เจตเฉ‡เจ—เจพ:

    lifecycle:
      preStop:
        exec:
          command:
          - /bin/sleep
          - "30"

เจนเจพเจฒเจพเจ‚เจ•เจฟ, 30-เจธเจ•เจฟเฉฐเจŸ เจฆเฉ‡ เจ•เจพเจฐเจจ sleep เจ…เจธเฉ€เจ‚ เจนเจพเจ‚ เจฌเจนเฉเจค เจ…เจธเฉ€เจ‚ เจคเฉˆเจจเจพเจคเฉ€ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจจเฉ‚เฉฐ เจตเจงเจพเจตเจพเจ‚เจ—เฉ‡, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจนเจฐเฉ‡เจ• เจชเฉŒเจก เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจœเจพเจตเฉ‡เจ—เจพ เจ˜เฉฑเจŸเฉ‹ เจ˜เฉฑเจŸ 30 เจธเจ•เจฟเฉฐเจŸ, เจœเฉ‹ เจ•เจฟ เจฌเฉเจฐเจพ เจนเฉˆ. เจ‡เจธ เจฌเจพเจฐเฉ‡ เจ•เฉ€ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ?

เจ†เจ“ เจ…เจฐเจœเจผเฉ€ เจฆเฉ‡ เจธเจฟเฉฑเจงเฉ‡ เจ…เจฎเจฒ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจงเจฟเจฐ เจตเฉฑเจฒ เจฎเฉเฉœเฉ€เจเฅค เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš เจ‡เจน เจนเฉˆ PHP-FPM, เจœเฉ‹ เจ•เจฟ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เจธ เจฆเฉ€เจ†เจ‚ เจšเจพเจˆเจฒเจก เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฆเฉ‡ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ: เจฎเจพเจธเจŸเจฐ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจคเฉเจฐเฉฐเจค เจ–เจคเจฎ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ เจจเจฟเจฐเจฆเฉ‡เจธเจผ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ‡เจธ เจตเจฟเจตเจนเจพเจฐ เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจธเจ•เจฆเฉ‡ เจนเฉ‹ process_control_timeout, เจœเฉ‹ เจฎเจพเจธเจŸเจฐ เจคเฉ‹เจ‚ เจธเจฟเจ—เจจเจฒเจพเจ‚ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐเจจ เจฒเจˆ เจฌเจพเจฒ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฒเจˆ เจธเจฎเจพเจ‚ เจธเฉ€เจฎเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจฎเฉเฉฑเจฒ เจจเฉ‚เฉฐ 20 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ 'เจคเฉ‡ เจธเฉˆเฉฑเจŸ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ‡เจน เจ•เฉฐเจŸเฉ‡เจจเจฐ เจตเจฟเฉฑเจš เจšเฉฑเจฒ เจฐเจนเฉ€เจ†เจ‚ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ›เจพเจ‚ เจจเฉ‚เฉฐ เจ•เจตเจฐ เจ•เจฐเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจฎเจพเจธเจŸเจฐ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจฐเฉ‹เจ• เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค

เจ‡เจธ เจ—เจฟเจ†เจจ เจฆเฉ‡ เจจเจพเจฒ, เจ†เจ“ เจ†เจชเจฃเฉ€ เจชเจฟเจ›เจฒเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจตเฉฑเจฒ เจฎเฉเฉœเฉ€เจเฅค เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฆเฉฑเจธเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจ‡เฉฑเจ• เจฎเฉ‹เจจเฉ‹เจฒเจฟเจฅเจฟเจ• เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจจเจนเฉ€เจ‚ เจนเฉˆ: เจ‡เจธเจฆเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจนเจฟเฉฑเจธเจฟเจ†เจ‚ เจตเจฟเจšเจ•เจพเจฐ เจธเฉฐเจšเจพเจฐ เจตเจฟเฉฑเจš เจ•เฉเจ เจธเจฎเจพเจ‚ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจตเจฟเจธเจผเฉ‡เจธเจผ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเฉฑเจš เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจ‡เจจเจ—เจฐเฉ‡เจธ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจนเจฟเฉฑเจธเจฟเจ†เจ‚ เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ 'เจคเฉ‡ เจตเจฟเจšเจพเจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจคเฉˆเจจเจพเจคเฉ€ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ…เจœเจฟเจนเฉ€ เจฆเฉ‡เจฐเฉ€ เจฆเฉ‡ เจ•เจพเจฐเจจ 500 เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเจพ เจตเจพเจงเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจ†เจธเจพเจจ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจ…เฉฑเจชเจธเจŸเฉเจฐเฉ€เจฎ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฌเฉ‡เจจเจคเฉ€ เจญเฉ‡เจœเจฃ เจฆเฉ‡ เจชเฉœเจพเจ… 'เจคเฉ‡ เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆ, เจชเจฐ เจญเจพเจ—เจพเจ‚ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจชเจฐเจธเจชเจฐ เจชเฉเจฐเจญเจพเจต เจฆเจพ "เจŸเจพเจˆเจฎ เจฒเฉˆเจ—" เจฌเจนเฉเจค เจ›เฉ‹เจŸเจพ เจนเฉˆ - เจ‡เฉฑเจ• เจธเจ•เจฟเฉฐเจŸ เจคเฉ‹เจ‚ เจตเฉ€ เจ˜เฉฑเจŸเฅค

เจ‡เจธ เจฒเจˆ, เจ•เฉเฉฑเจฒ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจœเจผเจฟเจ•เจฐ เจ•เฉ€เจคเฉ‡ เจจเจฟเจฐเจฆเฉ‡เจธเจผ เจฆเฉ‡ เจจเจพเจฒ process_control_timeout เจคเฉเจธเฉ€เจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจจเจฟเจฐเจฎเจพเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ lifecycle:

lifecycle:
  preStop:
    exec:
      command: ["/bin/bash","-c","/bin/sleep 1; kill -QUIT 1"]

เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจ•เจฎเจพเจ‚เจก เจจเจพเจฒ เจฆเฉ‡เจฐเฉ€ เจฒเจˆ เจฎเฉเจ†เจตเจœเจผเจพ เจฆเฉ‡เจตเจพเจ‚เจ—เฉ‡ sleep เจ…เจคเฉ‡ เจคเฉˆเจจเจพเจคเฉ€ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจจเฉ‚เฉฐ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจจเจพ เจตเจงเจพเจ“: เจ•เฉ€ 30 เจธเจ•เจฟเฉฐเจŸ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจ…เฉฐเจคเจฐ เจนเฉˆ?... เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจ‡เจน เจนเฉˆ process_control_timeoutเจ…เจคเฉ‡ lifecycle เจชเจ›เฉœเจจ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš เจธเจฟเจฐเจซเจผ "เจธเฉเจฐเฉฑเจ–เจฟเจ† เจœเจพเจฒ" เจตเจœเฉ‹เจ‚ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจ†เจฎ เจคเฉŒเจฐ เจคเฉ‡ เจฌเฉ‹เจฒเจฃเจพ เจตเจฐเจฃเจฟเจค เจตเจฟเจตเจนเจพเจฐ เจ…เจคเฉ‡ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจนเฉฑเจฒ เจจเจพ เจธเจฟเจฐเจซเจผ PHP-FPM 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ. เจฆเฉ‚เจœเฉ€เจ†เจ‚ เจญเจพเจธเจผเจพเจตเจพเจ‚/เจซเฉเจฐเฉ‡เจฎเจตเจฐเจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ‡เฉฑเจ• เจœเจพเจ‚ เจฆเฉ‚เจœเฉ‡ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจ…เจœเจฟเจนเฉ€ เจธเจฅเจฟเจคเฉ€ เจชเฉˆเจฆเจพ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจนเฉ‹เจฐ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจจเจพเจฒ เจธเจผเจพเจจเจฆเจพเจฐ เจธเจผเจŸเจกเจพเจŠเจจ เจจเฉ‚เฉฐ เจ เฉ€เจ• เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ - เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจฒเจฟเจ– เจ•เฉ‡ เจคเจพเจ‚ เจ•เจฟ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจธเจฎเจพเจชเจคเฉ€ เจธเจฟเจ—เจจเจฒเจพเจ‚ 'เจคเฉ‡ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเฉ‡ - เจคเฉเจธเฉ€เจ‚ เจตเจฐเจฃเจฟเจค เจขเฉฐเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ‡เจน เจธเจญ เจคเฉ‹เจ‚ เจธเฉเฉฐเจฆเจฐ เจจเจนเฉ€เจ‚ เจนเฉ‹ เจธเจ•เจฆเจพ, เจชเจฐ เจ‡เจน เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ.

เจ…เจญเจฟเจ†เจธ. เจชเฉŒเจก เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ เจฒเฉ‹เจก เจŸเฉˆเจธเจŸเจฟเฉฐเจ—

เจฒเฉ‹เจก เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจ‡เจน เจœเจพเจ‚เจš เจ•เจฐเจจ เจฆเจพ เจ‡เฉฑเจ• เจคเจฐเฉ€เจ•เจพ เจนเฉˆ เจ•เจฟ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ‡เจธ เจจเฉ‚เฉฐ เจ…เจธเจฒ เจฒเฉœเจพเจˆ เจฆเฉ€เจ†เจ‚ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจจเฉ‡เฉœเฉ‡ เจฒเจฟเจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเจพเจˆเจŸ 'เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจ‰เจชเจฐเฉ‹เจ•เจค เจธเจฟเจซเจพเจฐเจธเจผเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจตเจฐเจค เจธเจ•เจฆเฉ‡ เจนเฉ‹ Yandex.Tankom: เจ‡เจน เจธเจพเจกเฉ€เจ†เจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจœเจผเจฐเฉ‚เจฐเจคเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ•เจตเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจธเจพเจกเฉ‡ เจคเจœเจผเจฐเจฌเฉ‡ เจคเฉ‹เจ‚ เจธเจชเจธเจผเจŸ เจ‰เจฆเจพเจนเจฐเจจ เจฆเฉ‡ เจจเจพเจฒ เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจ•เจฐเจตเจพเจ‰เจฃ เจฒเจˆ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจธเฉเจเจพเจ… เจ…เจคเฉ‡ เจธเจฟเจซเจผเจพเจฐเจธเจผเจพเจ‚ เจนเจจ, เจœเฉ‹ เจ•เจฟ Grafana เจ…เจคเฉ‡ Yandex.Tank เจฆเฉ‡ เจ—เฉเจฐเจพเจซเจพเจ‚ เจฒเจˆ เจงเฉฐเจจเจตเจพเจฆ เจนเฉˆเฅค

เจ‡เฉฑเจฅเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจ—เฉฑเจฒ เจ‡เจน เจนเฉˆ เจ•เจฆเจฎ เจฆเจฐ เจ•เจฆเจฎ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเฉ‹. เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจซเจฟเจ•เจธ เจœเฉ‹เฉœเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจŸเฉˆเจธเจŸ เจšเจฒเจพเจ“ เจ…เจคเฉ‡ เจฆเฉ‡เจ–เฉ‹ เจ•เจฟ เจ•เฉ€ เจจเจคเฉ€เจœเฉ‡ เจชเจฟเจ›เจฒเฉ€ เจตเจพเจฐ เจฆเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเฉ‡ เจฌเจฆเจฒ เจ—เจ เจนเจจเฅค เจจเจนเฉ€เจ‚ เจคเจพเจ‚, เจฌเฉ‡เจ…เจธเจฐ เจนเฉฑเจฒเจพเจ‚ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เจฐเจจเจพ เจฎเฉเจธเจผเจ•เจฒ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจ…เจคเฉ‡ เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจตเจฟเฉฑเจš เจ‡เจน เจธเจฟเจฐเจซ เจจเฉเจ•เจธเจพเจจ เจนเฉ€ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจคเฉˆเจจเจพเจคเฉ€ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจตเจฟเฉฑเจš เจตเจพเจงเจพ)เฅค

เจ‡เจธเจฆเฉ€ เจธเจฎเจพเจชเจคเฉ€ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฒเฉŒเจ—เจธ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เจฃเจพ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจธเฉ‚เจ–เจฎเจคเจพ เจนเฉˆเฅค เจ•เฉ€ เจ‰เฉฑเจฅเฉ‡ เจธเจผเจพเจจเจฆเจพเจฐ เจฌเฉฐเจฆ เจนเฉ‹เจฃ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเจฐเจœ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ? เจ•เฉ€ เจนเฉ‹เจฐ เจธเจฐเฉ‹เจคเจพเจ‚ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจ—เฉเจ†เจ‚เจขเฉ€ PHP-FPM เจ•เฉฐเจŸเฉ‡เจจเจฐ) เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจฒเฉŒเจ—เจธ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจคเจฐเฉเฉฑเจŸเฉ€เจ†เจ‚ เจนเจจ? เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš เจนเฉ€ เจ—เจฒเจคเฉ€เจ†เจ‚ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เฉฑเจชเจฐ เจฆเฉฑเจธเฉ‡ เจ—เจ NGINX เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš)? เจฎเฉˆเจจเฉ‚เฉฐ เจ‰เจฎเฉ€เจฆ เจนเฉˆ เจ•เจฟ เจ‡เจธ เจฒเฉ‡เจ– เจคเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจธเจฎเจเจฃ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเฉ‡เจ—เฉ€ เจ•เจฟ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฆเฉ‡ เจธเจฎเจพเจชเจคเฉ€ เจฆเฉŒเจฐเจพเจจ เจ•เฉ€ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจ‡เจธ เจฒเจˆ, เจชเจนเจฟเจฒเจพ เจŸเฉˆเจธเจŸ เจฐเจจ เจฌเจฟเจจเจพเจ‚ เจนเฉ‹เจ‡เจ† เจธเฉ€ lifecycle เจ…เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจธเจฐเจตเจฐ เจฒเจˆ เจตเจพเจงเฉ‚ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ (process_control_timeout PHP-FPM เจตเจฟเฉฑเจš). เจ‡เจธ เจŸเฉˆเจธเจŸ เจฆเจพ เจ‰เจฆเฉ‡เจธเจผ เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจ…เฉฐเจฆเจพเจœเจผเจจ เจธเฉฐเจ–เจฟเจ† (เจ…เจคเฉ‡ เจ•เฉ€ เจ•เฉ‹เจˆ เจนเจจ) เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เจฐเจจเจพ เจธเฉ€เฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจตเจพเจงเฉ‚ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจคเฉ‹เจ‚, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจชเจคเจพ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ•เจฟ เจนเจฐเฉ‡เจ• เจชเฉŒเจก เจฒเจˆ เจ”เจธเจค เจคเฉˆเจจเจพเจคเฉ€ เจธเจฎเจพเจ‚ เจฒเจ—เจญเจ— 5-10 เจธเจ•เจฟเฉฐเจŸ เจธเฉ€ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจ‡เจน เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจคเจฟเจ†เจฐ เจจเจนเฉ€เจ‚ เจธเฉ€เฅค เจจเจคเฉ€เจœเฉ‡ เจนเจจ:

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจŸเจฟเจชเจธ เจ…เจคเฉ‡ เจŸเฉเจฐเจฟเจ•เจธ: NGINX เจ…เจคเฉ‡ PHP-FPM เจตเจฟเฉฑเจš เจธเจผเจพเจจเจฆเจพเจฐ เจฌเฉฐเจฆ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚

Yandex.Tank เจœเจพเจฃเจ•เจพเจฐเฉ€ เจชเฉˆเจจเจฒ 502 เจคเจฐเฉเฉฑเจŸเฉ€เจ†เจ‚ เจฆเจพ เจตเจพเจงเจพ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจคเฉˆเจจเจพเจคเฉ€ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ†เจˆเจ†เจ‚ เจ…เจคเฉ‡ เจ”เจธเจคเจจ 5 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจคเฉฑเจ• เจšเฉฑเจฒเฉ€เจ†เจ‚เฅค เจธเฉฐเจญเจพเจตเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เจน เจ‡เจธ เจฒเจˆ เจธเฉ€ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจชเฉเจฐเจพเจฃเฉ‡ เจชเฉ‹เจก เจฒเจˆ เจฎเฉŒเจœเฉ‚เจฆเจพ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจธเฉ€ เจœเจฆเฉ‹เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจธเฉ€เฅค เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, 503 เจ—เจฒเจคเฉ€เจ†เจ‚ เจธเจพเจนเจฎเจฃเฉ‡ เจ†เจˆเจ†เจ‚, เจœเฉ‹ เจ•เจฟ เจ‡เฉฑเจ• เจฐเฉเจ•เฉ‡ เจนเฉ‹เจ เจเจจเจœเฉ€เจ†เจˆเจเจจเจเจ•เจธ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจฆเจพ เจจเจคเฉ€เจœเจพ เจธเฉ€, เจœเจฟเจธ เจจเฉ‡ เจฌเฉˆเจ•เจเจ‚เจก เจฆเฉ‡ เจ•เจพเจฐเจจ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจตเฉ€ เจ˜เจŸเจพ เจฆเจฟเฉฑเจคเฉ‡ (เจœเจฟเจธ เจจเฉ‡ เจ‡เฉฐเจ—เจฐเฉˆเจธ เจจเฉ‚เฉฐ เจ‡เจธ เจจเจพเจฒ เจœเฉเฉœเจจ เจคเฉ‹เจ‚ เจฐเฉ‹เจ•เจฟเจ†)เฅค

เจ†เจ“ เจฆเฉ‡เจ–เฉ€เจ เจ•เจฟเจตเฉ‡เจ‚ process_control_timeout PHP-FPM เจตเจฟเฉฑเจš เจฌเจพเจฒ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฆเฉ‡ เจชเฉ‚เจฐเจพ เจนเฉ‹เจฃ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐเจจ เจตเจฟเฉฑเจš เจธเจพเจกเฉ€ เจฎเจฆเจฆ เจ•เจฐเฉ‡เจ—เจพ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจ—เจฒเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เจฐเฉ‹เฅค เจ‡เจธ เจจเจฟเจฐเจฆเฉ‡เจธเจผ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฎเฉเฉœ-เจคเฉˆเจจเจพเจค เจ•เจฐเฉ‹:

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจŸเจฟเจชเจธ เจ…เจคเฉ‡ เจŸเฉเจฐเจฟเจ•เจธ: NGINX เจ…เจคเฉ‡ PHP-FPM เจตเจฟเฉฑเจš เจธเจผเจพเจจเจฆเจพเจฐ เจฌเฉฐเจฆ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚

500 เจตเฉ€เจ‚ เจคเฉˆเจจเจพเจคเฉ€ เจฆเฉŒเจฐเจพเจจ เจ•เฉ‹เจˆ เจนเฉ‹เจฐ เจ—เจฒเจคเฉ€เจ†เจ‚ เจจเจนเฉ€เจ‚ เจนเจจ! เจคเฉˆเจจเจพเจคเฉ€ เจธเจซเจฒ เจนเฉˆ, เจธเจผเจพเจจเจฆเจพเจฐ เจฌเฉฐเจฆ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจน เจ‡เฉฐเจ—เจฐเฉˆเจธ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจฆเฉ‡ เจฎเฉเฉฑเจฆเฉ‡ เจจเฉ‚เฉฐ เจฏเจพเจฆ เจฐเฉฑเจ–เจฃ เจฏเฉ‹เจ— เจนเฉˆ, เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ€ เจชเฉเจฐเจคเฉ€เจธเจผเจคเจคเจพ เจœเจฟเจธ เจตเจฟเฉฑเจš เจธเจพเจจเฉ‚เฉฐ เจธเจฎเจพเจ‚ เจชเจ›เฉœเจจ เจ•เจพเจฐเจจ เจชเฉเจฐเจพเจชเจค เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‰เจนเจจเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจšเจฃ เจฒเจˆ, เจœเฉ‹ เจ•เฉเจ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉˆ เจ‰เจธ เจจเจพเจฒ เจ‡เฉฑเจ• เจขเจพเจ‚เจšเจพ เจœเฉ‹เฉœเจจเจพ เจนเฉˆ sleep เจ…เจคเฉ‡ เจคเฉˆเจจเจพเจคเฉ€ เจจเฉ‚เฉฐ เจฆเฉเจนเจฐเจพเจ“เฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจธเจพเจกเฉ‡ เจ–เจพเจธ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ•เฉ‹เจˆ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจฆเจฟเจ–เจพเจˆ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฑเจคเฉ€เจ†เจ‚ (เจฆเฉเจฌเจพเจฐเจพ, เจ•เฉ‹เจˆ เจ—เจฒเจคเฉ€ เจจเจนเฉ€เจ‚)เฅค

เจธเจฟเฉฑเจŸเจพ

เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจธเจผเจพเจจเจฆเจพเจฐ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจ–เจคเจฎ เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจคเฉ‹เจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจตเจฟเจตเจนเจพเจฐ เจฆเฉ€ เจ‰เจฎเฉ€เจฆ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚:

  1. เจ•เฉเจ เจธเจ•เจฟเฉฐเจŸ เจ‰เจกเฉ€เจ• เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจซเจฟเจฐ เจจเจตเฉ‡เจ‚ เจ•เจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเจจเจพ เจฌเฉฐเจฆ เจ•เจฐเฉ‹เฅค
  2. เจธเจพเจฐเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจฒเจˆ เจ‰เจกเฉ€เจ• เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจธเจพเจฐเฉ‡ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฌเฉฐเจฆ เจ•เจฐเฉ‹ เจœเฉ‹ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจจเจนเฉ€เจ‚ เจ•เจฐ เจฐเจนเฉ‡ เจนเจจเฅค
  3. เจ†เจชเจฃเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเฉ‹.

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจธเจพเจฐเฉ€เจ†เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจนเจ•เฉ€เจ•เจคเจพเจ‚ เจตเจฟเฉฑเจš เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจ‡เฉฑเจ• เจนเฉฑเจฒ เจนเฉˆ:

  • เจ‡เฉฑเจ• เจชเฉเจฐเฉ€-เจธเจŸเจพเจช เจนเฉเฉฑเจ• เจœเฉ‹เฉœเจจเจพ เจœเฉ‹ เจ•เฉเจ เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐเฉ‡เจ—เจพ;
  • เจขเฉเจ•เจตเฉ‡เจ‚ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจฒเจˆ เจธเจพเจกเฉ‡ เจฌเฉˆเจ•เจเจ‚เจก เจฆเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒ เจฆเจพ เจ…เจงเจฟเจเจจ เจ•เจฐเจจเจพ.

NGINX เจฆเฉ‡ เจจเจพเจฒ เจ‰เจฆเจพเจนเจฐเจจ เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจœเจฟเจธ เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจธเจฎเจพเจชเจคเฉ€ เจธเจฟเจ—เจจเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจ…เจœเจฟเจนเจพ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจคเฉˆเจจเจพเจคเฉ€ เจฆเฉŒเจฐเจพเจจ 500 เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจเจพ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆเฅค เจ‡เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจตเจงเฉ‡เจฐเฉ‡ เจตเจฟเจ†เจชเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจฆเฉ‡เจ–เจฃ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจ‡เฉฑเจ•เจฒเฉ‡ เจชเฉ‹เจก เจœเจพเจ‚ เจ•เฉฐเจŸเฉ‡เจจเจฐ 'เจคเฉ‡ เจงเจฟเจ†เจจ เจ•เฉ‡เจ‚เจฆเจฐเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจชเจฐ เจชเฉ‚เจฐเฉ‡ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจจเฉ‚เฉฐ เจธเจฎเฉเฉฑเจšเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจฆเฉ‡เจ–เฉ‹เฅค

เจ‡เฉฑเจ• เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจŸเฉ‚เจฒ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจคเฉเจธเฉ€เจ‚ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจชเฉเจฐเจฃเจพเจฒเฉ€ เจฆเฉ‡ เจจเจพเจฒ Yandex.Tank เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ (เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจŸเฉˆเจธเจŸ เจฒเจˆ เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจฎเฉ€เจฅเฉ€เจ…เจธ เจฌเฉˆเจ•เจเจ‚เจก เจฆเฉ‡ เจจเจพเจฒ เจ—เฉเจฐเจพเจซเจพเจจเจพ เจคเฉ‹เจ‚ เจกเฉ‡เจŸเจพ เจฒเจฟเจ† เจ—เจฟเจ† เจธเฉ€)เฅค เจธเจผเจพเจจเจฆเจพเจฐ เจธเจผเจŸเจกเจพเจŠเจจ เจฆเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจญเจพเจฐเฉ€ เจฌเฉ‹เจ เจฆเฉ‡ เจนเฉ‡เจ เจพเจ‚ เจธเจชเฉฑเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจœเฉ‹ เจฌเฉˆเจ‚เจšเจฎเจพเจฐเจ• เจชเฉˆเจฆเจพ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจŸเฉˆเจธเจŸ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ เจœเจพเจ‚ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจธเจฅเจฟเจคเฉ€ เจฆเจพ เจตเจงเฉ‡เจฐเฉ‡ เจตเจฟเจธเจฅเจพเจฐ เจจเจพเจฒ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค

เจฒเฉ‡เจ– 'เจคเฉ‡ เจซเฉ€เจกเจฌเฉˆเจ• เจฆเฉ‡ เจœเจตเจพเจฌ เจตเจฟเฉฑเจš: เจ‡เจน เจตเจฐเจฃเจจ เจฏเฉ‹เจ— เจนเฉˆ เจ•เจฟ เจ‡เฉฑเจฅเฉ‡ NGINX Ingress เจฆเฉ‡ เจธเจฌเฉฐเจง เจตเจฟเฉฑเจš เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจ…เจคเฉ‡ เจนเฉฑเจฒ เจฆเฉฑเจธเฉ‡ เจ—เจ เจนเจจเฅค เจฆเฉ‚เจœเฉ‡ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจฒเจˆ, เจนเฉ‹เจฐ เจนเฉฑเจฒ เจตเฉ€ เจนเจจ, เจœเจฟเจจเฉเจนเจพเจ‚ เจฌเจพเจฐเฉ‡ เจ…เจธเฉ€เจ‚ เจฒเฉœเฉ€ เจฆเฉ€เจ†เจ‚ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจธเจฎเฉฑเจ—เจฐเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจตเจฟเจšเจพเจฐ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค

PS

K8s เจŸเจฟเจชเจธ เจ…เจคเฉ‡ เจŸเฉเจฐเจฟเจ•เจธ เจธเฉ€เจฐเฉ€เจœเจผ เจคเฉ‹เจ‚ เจนเฉ‹เจฐ:

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹