Kubernetes-แƒ˜แƒก แƒ แƒฉแƒ”แƒ•แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒฎแƒ แƒ˜แƒ™แƒ”แƒ‘แƒ˜: แƒ›แƒแƒฎแƒ“แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜ NGINX-แƒกแƒ แƒ“แƒ PHP-FPM-แƒจแƒ˜

แƒขแƒ˜แƒžแƒ˜แƒฃแƒ แƒ˜ แƒžแƒ˜แƒ แƒแƒ‘แƒ Kubernetes-แƒจแƒ˜ CI/CD-แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ˜แƒกแƒแƒก: แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ”แƒซแƒšแƒแƒก แƒแƒ  แƒ›แƒ˜แƒ˜แƒฆแƒแƒก แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜, แƒกแƒแƒœแƒแƒ› แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒก แƒ“แƒ แƒ แƒแƒช แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜แƒ, แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒก แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒก.

Kubernetes-แƒ˜แƒก แƒ แƒฉแƒ”แƒ•แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒฎแƒ แƒ˜แƒ™แƒ”แƒ‘แƒ˜: แƒ›แƒแƒฎแƒ“แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜ NGINX-แƒกแƒ แƒ“แƒ PHP-FPM-แƒจแƒ˜

แƒแƒ› แƒžแƒ˜แƒ แƒแƒ‘แƒ˜แƒก แƒ“แƒแƒชแƒ•แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ›แƒ˜แƒแƒฆแƒฌแƒ˜แƒแƒ— แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก. แƒ—แƒฃแƒ›แƒชแƒ, แƒ›แƒแƒจแƒ˜แƒœแƒแƒช แƒ™แƒ˜, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒซแƒแƒšแƒ˜แƒแƒœ แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒš แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒก (แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ NGINX แƒ“แƒ PHP-FPM), แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒฎแƒ•แƒ“แƒ”แƒ— แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”แƒ”แƒ‘แƒก, แƒ แƒแƒช แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ–แƒ แƒ“แƒแƒก แƒงแƒแƒ•แƒ”แƒšแƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒกแƒแƒก...

แƒ—แƒ”แƒแƒ แƒ˜แƒ. แƒ แƒแƒ’แƒแƒ  แƒชแƒฎแƒแƒ•แƒ แƒแƒ‘แƒก แƒžแƒแƒ“แƒ˜

แƒฉแƒ•แƒ”แƒœ แƒฃแƒ™แƒ•แƒ” แƒ’แƒแƒ›แƒแƒ•แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ— แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒžแƒแƒ“แƒ˜แƒก แƒกแƒแƒกแƒ˜แƒชแƒแƒชแƒฎแƒšแƒ แƒชแƒ˜แƒ™แƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒแƒ› แƒ›แƒฃแƒฎแƒšแƒ˜แƒก. แƒ’แƒแƒœแƒกแƒแƒฎแƒ˜แƒšแƒ•แƒ”แƒšแƒ˜ แƒ—แƒ”แƒ›แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ”แƒฅแƒกแƒขแƒจแƒ˜ แƒ’แƒ•แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜: แƒžแƒแƒ“แƒจแƒ˜ แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒ›แƒแƒ›แƒ”แƒœแƒขแƒ˜ แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒ, แƒ›แƒแƒกแƒ–แƒ” แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ แƒฌแƒงแƒ“แƒ”แƒ‘แƒ (แƒžแƒแƒ“ แƒแƒ›แƒแƒ˜แƒฆแƒ”แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ˜แƒ“แƒแƒœ). แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒกแƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“, แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒฉแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒกแƒฌแƒแƒ แƒแƒ“ แƒ’แƒแƒ“แƒแƒ•แƒญแƒ แƒแƒ—.

แƒแƒกแƒ”แƒ•แƒ” แƒฃแƒœแƒ“แƒ แƒ’แƒแƒฎแƒกแƒแƒ•แƒ“แƒ”แƒ—, แƒ แƒแƒ› แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒกแƒแƒจแƒ”แƒฆแƒแƒ•แƒแƒ—แƒ แƒžแƒ”แƒ แƒ˜แƒแƒ“แƒ˜แƒ 30 แƒฌแƒแƒ›แƒ˜: แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒžแƒแƒ“แƒ˜ แƒจแƒ”แƒฌแƒงแƒ“แƒ”แƒ‘แƒ แƒ“แƒ แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒก แƒฃแƒœแƒ“แƒ แƒฐแƒฅแƒแƒœแƒ“แƒ”แƒก แƒ“แƒ แƒ, แƒ แƒแƒ› แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ“แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒแƒ› แƒ•แƒแƒ“แƒแƒ›แƒ“แƒ”. แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ: แƒ—แƒฃแƒ›แƒชแƒ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช 5-10 แƒฌแƒแƒ›แƒ–แƒ” แƒ›แƒ”แƒขแƒ˜ แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ, แƒฃแƒ™แƒ•แƒ” แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒฃแƒ แƒ˜แƒ แƒ“แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ แƒ›แƒแƒก แƒแƒฆแƒแƒ  แƒฃแƒจแƒ•แƒ”แƒšแƒ˜แƒก...

แƒฃแƒ™แƒ”แƒ— แƒ แƒแƒ› แƒ’แƒแƒ˜แƒ’แƒแƒ—, แƒ แƒ แƒฎแƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฏแƒ˜แƒ แƒ™แƒ•แƒแƒšแƒ˜ แƒ›แƒ—แƒแƒ•แƒ แƒ“แƒ”แƒ‘แƒ, แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒจแƒ”แƒฎแƒ”แƒ“แƒ”แƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒแƒก:

Kubernetes-แƒ˜แƒก แƒ แƒฉแƒ”แƒ•แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒฎแƒ แƒ˜แƒ™แƒ”แƒ‘แƒ˜: แƒ›แƒแƒฎแƒ“แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜ NGINX-แƒกแƒ แƒ“แƒ PHP-FPM-แƒจแƒ˜

A1, B1 - แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ แƒ™แƒ”แƒ แƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘
A2 - แƒ’แƒแƒ›แƒ’แƒ–แƒแƒ•แƒ แƒ”แƒ‘แƒ SIGTERM
B2 - แƒžแƒแƒ“แƒ˜แƒก แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒ แƒ‘แƒแƒšแƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ
B3 - แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ (แƒ‘แƒแƒšแƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒ)
B4 - แƒ’แƒแƒœแƒแƒแƒฎแƒšแƒ”แƒ— iptables แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜

แƒ’แƒ—แƒฎแƒแƒ•แƒ— แƒ’แƒแƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒแƒ—: แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒก แƒฌแƒแƒจแƒšแƒ แƒ“แƒ SIGTERM แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ แƒแƒ  แƒฎแƒ“แƒ”แƒ‘แƒ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒแƒ“, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“. แƒ“แƒ แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› Ingress แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒแƒ  แƒ˜แƒฆแƒ”แƒ‘แƒก แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒฃแƒš แƒกแƒ˜แƒแƒก, แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒ’แƒแƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒ”แƒ‘แƒ แƒžแƒแƒ“แƒจแƒ˜, แƒ แƒแƒช แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ”แƒ•แƒก 500 แƒจแƒ”แƒชแƒ“แƒแƒ›แƒแƒก แƒžแƒแƒ“ แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒ“แƒ แƒแƒก. (แƒแƒ› แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ–แƒ” แƒฃแƒคแƒ แƒ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒกแƒแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ—แƒแƒ แƒ’แƒ›แƒœแƒ). แƒ”แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒฃแƒœแƒ“แƒ แƒ›แƒแƒ’แƒ•แƒแƒ แƒ“แƒ”แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ’แƒ–แƒ”แƒ‘แƒ˜แƒ—:

  • แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ: แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒก แƒกแƒแƒ—แƒแƒฃแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฎแƒฃแƒ แƒ•แƒ (แƒ—แƒฃ แƒ”แƒก แƒ”แƒฎแƒ”แƒ‘แƒ HTTP แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก).
  • แƒ—แƒฃ แƒ™แƒแƒ“แƒจแƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒขแƒแƒœแƒ แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒ แƒแƒฆแƒฌแƒ”แƒ แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ›แƒแƒ’แƒชแƒ”แƒ›แƒ— แƒ“แƒแƒแƒ›แƒฃแƒจแƒแƒ•แƒแƒ— แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒ›แƒแƒฎแƒ“แƒ”แƒœแƒ˜แƒšแƒ˜ แƒžแƒ”แƒ แƒ˜แƒแƒ“แƒ˜แƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ›แƒ“แƒ”.

แƒ—แƒ”แƒแƒ แƒ˜แƒ. แƒ แƒแƒ’แƒแƒ  แƒฌแƒงแƒ•แƒ”แƒขแƒ”แƒœ NGINX แƒ“แƒ PHP-FPM แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒก

NGINX

แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— NGINX-แƒ˜แƒ—, แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒ›แƒแƒกแƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒ”แƒข-แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒแƒจแƒ™แƒแƒ แƒแƒ. แƒ—แƒ”แƒแƒ แƒ˜แƒแƒจแƒ˜ แƒฉแƒแƒกแƒ•แƒšแƒ˜แƒ— แƒ•แƒ˜แƒ’แƒ”แƒ‘แƒ—, แƒ แƒแƒ› NGINX-แƒก แƒแƒฅแƒ•แƒก แƒ”แƒ แƒ—แƒ˜ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ“แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” โ€žแƒ›แƒฃแƒจแƒแƒ™แƒ˜โ€œ - แƒ”แƒก แƒแƒ แƒ˜แƒก แƒกแƒแƒ‘แƒแƒ•แƒจแƒ•แƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ”แƒœ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒก. แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜: แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— nginx -s <SIGNAL> แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒ แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒแƒœ แƒ›แƒแƒฎแƒ“แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜. แƒชแƒฎแƒแƒ“แƒ˜แƒ, แƒ”แƒก แƒฃแƒ™แƒแƒœแƒแƒกแƒ™แƒœแƒ”แƒšแƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ แƒ’แƒ•แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒก.

แƒ›แƒแƒจแƒ˜แƒœ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ: แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒ›แƒแƒขแƒแƒ— preStop-hook แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ›แƒแƒกแƒชแƒ”แƒ›แƒก แƒ›แƒแƒฎแƒ“แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒกแƒ˜แƒ’แƒœแƒแƒšแƒก. แƒ”แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒก Deployment-แƒจแƒ˜, แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒจแƒ˜:

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

แƒแƒฎแƒšแƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช pod แƒ’แƒแƒ›แƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ, แƒฉแƒ•แƒ”แƒœ แƒ•แƒœแƒแƒฎแƒแƒ•แƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒก 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 - แƒ›แƒแƒฎแƒ“แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ (แƒ แƒแƒช แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ).

แƒ“แƒแƒ แƒฉแƒ”แƒœแƒ˜แƒšแƒ˜ แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ”แƒ‘แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒแƒ› แƒแƒ›แƒแƒชแƒแƒœแƒแƒจแƒ˜, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒขแƒแƒ•แƒ”แƒ‘แƒ— แƒ›แƒแƒ— แƒแƒœแƒแƒšแƒ˜แƒ–แƒก. แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒกแƒฌแƒแƒ แƒแƒ“ แƒ“แƒแƒกแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒšแƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒฌแƒ”แƒ แƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ preStop hook:

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

แƒ”แƒ แƒ—แƒ˜ แƒจแƒ”แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ”แƒก แƒแƒ แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜, แƒ แƒแƒช แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒแƒ แƒ˜แƒ•แƒ” แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒจแƒ˜ แƒ›แƒแƒฎแƒ“แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒšแƒแƒ“. แƒ—แƒฃแƒ›แƒชแƒ, แƒแƒ›แƒแƒชแƒแƒœแƒ แƒ˜แƒ›แƒแƒ–แƒ” แƒ แƒ—แƒฃแƒšแƒ˜แƒ, แƒ•แƒ˜แƒ“แƒ แƒ” แƒฉแƒแƒœแƒก. แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒแƒ แƒ˜ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒฎแƒ“แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ แƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ˜แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ›แƒแƒ™แƒšแƒ”แƒ•แƒแƒ“แƒ˜แƒแƒœแƒ˜ แƒ›แƒ˜แƒฃแƒฌแƒ•แƒ“แƒแƒ›แƒšแƒแƒ‘แƒ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก.

แƒ˜แƒ•แƒแƒ แƒฏแƒ˜แƒจแƒ”. แƒจแƒ”แƒกแƒแƒซแƒšแƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ›แƒแƒฎแƒ“แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒ—

NGINX

แƒฃแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ”แƒก แƒงแƒแƒ•แƒšแƒ˜แƒกแƒ, แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒแƒ แƒ’แƒแƒฎแƒกแƒแƒ•แƒ“แƒ”แƒ—: แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ“แƒ nginx -s quit แƒแƒ แƒ˜แƒก แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒ”แƒขแƒแƒžแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ–แƒ”แƒช แƒฆแƒ˜แƒ แƒก แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฅแƒชแƒ”แƒ•แƒ. แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฎแƒ•แƒ“แƒ˜แƒ— แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช NGINX แƒ›แƒแƒ˜แƒœแƒช แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก SIGTERM-แƒก SIGQUIT แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, แƒ แƒแƒช แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒฌแƒแƒ แƒแƒ“ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก. แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒแƒ˜แƒซแƒ”แƒ‘แƒœแƒแƒก, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒแƒฅ. แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒ  แƒ“แƒแƒ•แƒแƒ“แƒ’แƒ˜แƒœแƒ”แƒ— แƒแƒ› แƒฅแƒชแƒ”แƒ•แƒ˜แƒก แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜: แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ“แƒ แƒ”แƒญแƒ•แƒ˜ NGINX แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒ–แƒ”, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒแƒ  แƒ“แƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒ“แƒ. แƒกแƒ˜แƒ›แƒžแƒขแƒแƒ›แƒ˜ แƒ˜แƒงแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ“แƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ“แƒ NGINX แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒจแƒ˜: "แƒฆแƒ˜แƒ แƒกแƒแƒ™แƒ”แƒขแƒ˜ #10 แƒ“แƒแƒ แƒฉแƒ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒจแƒ˜ 5", แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒแƒช แƒžแƒแƒ“แƒ˜ แƒ’แƒแƒฉแƒ”แƒ แƒ“แƒ.

แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ“แƒแƒ•แƒแƒ™แƒ•แƒ˜แƒ แƒ“แƒ”แƒ— แƒแƒกแƒ”แƒ— แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, Ingress-แƒ˜แƒก แƒžแƒแƒกแƒฃแƒฎแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ:

Kubernetes-แƒ˜แƒก แƒ แƒฉแƒ”แƒ•แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒฎแƒ แƒ˜แƒ™แƒ”แƒ‘แƒ˜: แƒ›แƒแƒฎแƒ“แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜ NGINX-แƒกแƒ แƒ“แƒ PHP-FPM-แƒจแƒ˜
แƒกแƒขแƒแƒขแƒฃแƒกแƒ˜แƒก แƒ™แƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒ“แƒ˜แƒ™แƒแƒขแƒแƒ แƒ”แƒ‘แƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก

แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ 503 แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒ™แƒแƒ“แƒก แƒ—แƒแƒ•แƒแƒ“ Ingress-แƒ˜แƒกแƒ’แƒแƒœ: แƒ›แƒแƒก แƒแƒ  แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒฌแƒ•แƒ“แƒแƒ›แƒ 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 แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ แƒแƒฆแƒแƒ  แƒจแƒ”แƒ˜แƒœแƒ˜แƒจแƒœแƒ”แƒ‘แƒ.

แƒ—แƒฃ แƒ›แƒกแƒ’แƒแƒ•แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก แƒฌแƒแƒแƒฌแƒงแƒ“แƒ”แƒ‘แƒ˜แƒ—, แƒแƒ–แƒ แƒ˜ แƒแƒฅแƒ•แƒก แƒ’แƒแƒ”แƒ แƒ™แƒ•แƒœแƒ”แƒœ, แƒ—แƒฃ แƒ แƒ แƒ’แƒแƒฉแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒจแƒ˜ แƒ“แƒ แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ preStop hook. แƒกแƒแƒ•แƒกแƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ, แƒ แƒแƒ› แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜ แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒแƒ›แƒแƒจแƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒก.

PHP-FPM... แƒ“แƒ แƒกแƒฎแƒ•แƒ

PHP-FPM-แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒขแƒ แƒ˜แƒ•แƒ˜แƒแƒšแƒฃแƒ แƒแƒ“ แƒแƒ แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜: แƒ˜แƒก แƒแƒ  แƒ”แƒšแƒแƒ“แƒ”แƒ‘แƒ แƒ‘แƒแƒ•แƒจแƒ•แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก, แƒ˜แƒก แƒฌแƒงแƒ•แƒ”แƒขแƒก แƒ›แƒแƒ—, แƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒช 502 แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก. 2005 แƒฌแƒšแƒ˜แƒ“แƒแƒœ แƒแƒ แƒ˜แƒก bugs.php.net-แƒ–แƒ” แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜ (แƒ›แƒแƒ’ แƒแƒฅ ะธ แƒแƒฅ), แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฆแƒฌแƒ”แƒ แƒก แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ“ แƒ•แƒ”แƒ แƒแƒคแƒ”แƒ แƒก แƒœแƒแƒฎแƒแƒ•แƒ— แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒจแƒ˜: PHP-FPM แƒ’แƒแƒ›แƒแƒแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒแƒœ แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ›แƒฎแƒแƒ แƒ˜แƒก แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”.

แƒฃแƒœแƒ“แƒ แƒ’แƒแƒœแƒ•แƒ›แƒแƒ แƒขแƒแƒ—, แƒ แƒแƒ› แƒ—แƒแƒ•แƒแƒ“ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฃแƒคแƒ แƒ แƒ›แƒชแƒ˜แƒ แƒ” แƒแƒœ แƒ›แƒ”แƒขแƒฌแƒ˜แƒšแƒแƒ“ แƒ—แƒแƒ•แƒแƒ“ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒ–แƒ” แƒ“แƒ แƒแƒ  แƒ’แƒแƒ›แƒแƒ•แƒšแƒ˜แƒœแƒ“แƒ”แƒก, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒจแƒ˜. แƒ—แƒฃ แƒจแƒ”แƒ’แƒฎแƒ•แƒ“แƒ”แƒ‘แƒแƒ—, แƒฃแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ”แƒก แƒงแƒแƒ•แƒšแƒ˜แƒกแƒ แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ“แƒ”แƒ‘แƒแƒ— แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜: แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— preStop hook แƒ”แƒ แƒ—แƒแƒ“ sleep(30). แƒ”แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ›แƒแƒ’แƒชแƒ”แƒ›แƒ— แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒแƒ— แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ“แƒ แƒ” แƒ˜แƒงแƒ (แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒแƒฎแƒแƒšแƒก, แƒ แƒแƒ“แƒ’แƒแƒœ pod แƒฃแƒ™แƒ•แƒ” แƒฃแƒœแƒแƒ แƒ˜ แƒจแƒ”แƒกแƒฌแƒ”แƒ•แƒก แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒ), แƒ“แƒ 30 แƒฌแƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ—แƒแƒ•แƒแƒ“ แƒฆแƒ•แƒ”แƒ–แƒ”แƒšแƒ˜ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ˜แƒ— SIGTERM.

แƒ’แƒแƒ›แƒแƒ“แƒ˜แƒก, แƒ แƒแƒ› lifecycle แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ:

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

แƒ—แƒฃแƒ›แƒชแƒ 30 แƒฌแƒแƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ sleep แƒฉแƒ•แƒ”แƒœ แƒ›แƒ™แƒแƒชแƒ แƒแƒ“ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒ–แƒ แƒ“แƒ˜แƒ— แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก, แƒ แƒแƒ“แƒ’แƒแƒœ แƒงแƒแƒ•แƒ”แƒšแƒ˜ แƒžแƒแƒ“แƒ˜ แƒจแƒ”แƒฌแƒงแƒ“แƒ”แƒ‘แƒ แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ 30 แƒฌแƒแƒ›แƒ˜, แƒ แƒแƒช แƒชแƒฃแƒ“แƒ˜แƒ. แƒ แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒก แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘?

แƒ›แƒ˜แƒ•แƒ›แƒแƒ แƒ—แƒแƒ— แƒ’แƒแƒœแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒฃแƒจแƒฃแƒแƒšแƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ–แƒ” แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒš แƒ›แƒฎแƒแƒ แƒ”แƒก. แƒฉแƒ•แƒ”แƒœแƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒแƒกแƒ”แƒ PHP-FPMแƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“ แƒแƒ  แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ‘แƒก แƒ›แƒ˜แƒกแƒ˜ แƒจแƒ•แƒ˜แƒšแƒแƒ‘แƒ˜แƒšแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก: แƒกแƒแƒ›แƒแƒ’แƒ˜แƒกแƒขแƒ แƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒฌแƒงแƒ“แƒ”แƒ‘แƒ. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— แƒ”แƒก แƒฅแƒชแƒ”แƒ•แƒ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒ˜แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— process_control_timeout, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ•แƒก แƒ“แƒ แƒแƒ˜แƒก แƒšแƒ˜แƒ›แƒ˜แƒขแƒ”แƒ‘แƒก แƒ‘แƒแƒ•แƒจแƒ•แƒฃแƒ แƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ—แƒ แƒ“แƒแƒ”แƒšแƒแƒ“แƒแƒœ แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ”แƒ‘แƒก แƒ›แƒแƒกแƒขแƒ”แƒ แƒ˜แƒกแƒ’แƒแƒœ. แƒ—แƒฃ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒก แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ— 20 แƒฌแƒแƒ›แƒ–แƒ”, แƒ”แƒก แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒจแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒแƒ‘แƒแƒก แƒ“แƒ แƒจแƒ”แƒแƒฉแƒ”แƒ แƒ”แƒ‘แƒก แƒ›แƒ—แƒแƒ•แƒแƒ  แƒžแƒ แƒแƒชแƒ”แƒกแƒก แƒ›แƒแƒ—แƒ˜ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’.

แƒแƒ› แƒชแƒแƒ“แƒœแƒ˜แƒ—, แƒ“แƒแƒ•แƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒ‘แƒแƒšแƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก. แƒ แƒแƒ’แƒแƒ แƒช แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒ”แƒ—, Kubernetes แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒแƒœแƒแƒšแƒ˜แƒ—แƒฃแƒ แƒ˜ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ: แƒ›แƒ˜แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ“แƒ แƒ แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ. แƒ”แƒก แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒ˜แƒ— แƒ”แƒฎแƒ”แƒ‘แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ•แƒ— Ingresses-แƒ˜แƒก แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒกแƒ”แƒ—แƒ˜ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก แƒแƒ“แƒ•แƒ˜แƒšแƒ˜แƒ แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— 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 แƒฌแƒแƒ›แƒ˜, แƒกแƒแƒœแƒแƒ› แƒ˜แƒก แƒกแƒ แƒฃแƒšแƒแƒ“ แƒ›แƒ–แƒแƒ“ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒแƒ“แƒ. แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ แƒแƒกแƒ”แƒ—แƒ˜แƒ:

Kubernetes-แƒ˜แƒก แƒ แƒฉแƒ”แƒ•แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒฎแƒ แƒ˜แƒ™แƒ”แƒ‘แƒ˜: แƒ›แƒแƒฎแƒ“แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜ NGINX-แƒกแƒ แƒ“แƒ PHP-FPM-แƒจแƒ˜

Yandex.Tank แƒกแƒแƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒžแƒแƒœแƒ”แƒšแƒ˜ แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก 502 แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒ›แƒฌแƒ•แƒ”แƒ แƒ•แƒแƒšแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒแƒฎแƒ“แƒ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก แƒ“แƒ แƒ’แƒแƒ’แƒ แƒซแƒ”แƒšแƒ“แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒแƒ“ 5 แƒฌแƒแƒ›แƒแƒ›แƒ“แƒ”. แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ“, แƒ”แƒก แƒ˜แƒงแƒ แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒซแƒ•แƒ”แƒš แƒžแƒแƒ“แƒ–แƒ” แƒฌแƒงแƒ“แƒ”แƒ‘แƒแƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒ“แƒ แƒแƒก. แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒฉแƒœแƒ“แƒ 503 แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ, แƒ แƒแƒช แƒจแƒ”แƒฉแƒ”แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ NGINX แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒ˜แƒงแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ›แƒแƒช แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒแƒแƒฃแƒฅแƒ›แƒ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜ แƒ‘แƒ”แƒฅแƒ”แƒœแƒ“แƒ˜แƒก แƒ’แƒแƒ›แƒ (แƒ แƒแƒช แƒฎแƒ”แƒšแƒก แƒฃแƒจแƒšแƒ˜แƒ“แƒ Ingress-แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒแƒก).

แƒ•แƒœแƒแƒฎแƒแƒ— แƒ แƒแƒ’แƒแƒ  process_control_timeout PHP-FPM-แƒจแƒ˜ แƒ“แƒแƒ’แƒ•แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ แƒ“แƒแƒ•แƒ”แƒšแƒแƒ“แƒแƒ— แƒ‘แƒแƒ•แƒจแƒ•แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก, แƒ”.แƒ˜. แƒจแƒ”แƒแƒกแƒฌแƒแƒ แƒ”แƒ— แƒแƒกแƒ”แƒ—แƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜. แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ แƒแƒ› แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒ˜แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—:

Kubernetes-แƒ˜แƒก แƒ แƒฉแƒ”แƒ•แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒฎแƒ แƒ˜แƒ™แƒ”แƒ‘แƒ˜: แƒ›แƒแƒฎแƒ“แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜ NGINX-แƒกแƒ แƒ“แƒ PHP-FPM-แƒจแƒ˜

500-แƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜ แƒแƒฆแƒแƒ  แƒแƒ แƒ˜แƒก! แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒ›แƒแƒฎแƒ“แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ”แƒ‘แƒ˜.

แƒ—แƒฃแƒ›แƒชแƒ, แƒฃแƒœแƒ“แƒ แƒ’แƒ•แƒแƒฎแƒกแƒแƒ•แƒ“แƒ”แƒก Ingress แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ, แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒชแƒ˜แƒ แƒ” แƒžแƒ แƒแƒชแƒ”แƒœแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒแƒ— แƒ“แƒ แƒแƒ˜แƒก แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ. แƒ›แƒแƒ— แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒกแƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“, แƒ แƒฉแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ sleep แƒ“แƒ แƒ’แƒแƒ˜แƒ›แƒ”แƒแƒ แƒ”แƒ— แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ. แƒ—แƒฃแƒ›แƒชแƒ, แƒฉแƒ•แƒ”แƒœแƒก แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒš แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒแƒ  แƒจแƒ”แƒ˜แƒœแƒ˜แƒจแƒœแƒ”แƒ‘แƒแƒ“แƒ (แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒฎแƒ”แƒš, แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜ แƒแƒ  แƒ˜แƒงแƒ).

แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ

แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒ›แƒแƒฎแƒ“แƒ”แƒœแƒ˜แƒšแƒแƒ“ แƒจแƒ”แƒกแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒšแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒšแƒ˜แƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒฅแƒชแƒ”แƒ•แƒแƒก แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜แƒกแƒ’แƒแƒœ:

  1. แƒ“แƒแƒ”แƒšแƒแƒ“แƒ”แƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒฌแƒแƒ›แƒก แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ.
  2. แƒ“แƒแƒ”แƒšแƒแƒ“แƒ”แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก แƒ“แƒ แƒ“แƒแƒฎแƒฃแƒ แƒ”แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒกแƒแƒœแƒแƒฎแƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ  แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒก.
  3. แƒ“แƒแƒแƒกแƒ แƒฃแƒšแƒ”แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜.

แƒ—แƒฃแƒ›แƒชแƒ, แƒงแƒ•แƒ”แƒšแƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก แƒแƒ  แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒแƒ› แƒ’แƒ–แƒ˜แƒ— แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ. แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒ แƒ”แƒแƒšแƒแƒ‘แƒแƒจแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜แƒ:

  • แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒ’แƒแƒฉแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒ™แƒšแƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒ”แƒšแƒแƒ“แƒ”แƒ‘แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒฌแƒแƒ›แƒก;
  • แƒฉแƒ•แƒ”แƒœแƒ˜ backend-แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒจแƒ”แƒกแƒฌแƒแƒ•แƒšแƒ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

NGINX-แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜ แƒชแƒฎแƒแƒ“แƒงแƒแƒคแƒก, แƒ แƒแƒ› แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒช แƒ™แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒกแƒฌแƒแƒ แƒแƒ“ แƒฃแƒœแƒ“แƒ แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ“แƒ”แƒก แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ”แƒ‘แƒก, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒกแƒ” แƒแƒ  แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒก, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ’แƒแƒ“แƒแƒ›แƒฌแƒงแƒ•แƒ”แƒขแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒแƒฅแƒ•แƒก 500 แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒแƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก. แƒ”แƒก แƒแƒกแƒ”แƒ•แƒ” แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒจแƒ”แƒฎแƒ”แƒ“แƒแƒ— แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก แƒฃแƒคแƒ แƒ แƒคแƒแƒ แƒ—แƒแƒ“ แƒ“แƒ แƒแƒ  แƒ’แƒแƒแƒ›แƒแƒฎแƒ•แƒ˜แƒšแƒแƒ— แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ แƒ”แƒ แƒ— แƒžแƒแƒ“แƒ–แƒ” แƒแƒœ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ–แƒ”, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒจแƒ”แƒฎแƒ”แƒ“แƒแƒ— แƒ›แƒ—แƒšแƒ˜แƒแƒœ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒก แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ‘แƒแƒจแƒ˜.

แƒ แƒแƒ’แƒแƒ แƒช แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒ, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— Yandex.Tank แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“ (แƒฉแƒ•แƒ”แƒœแƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ Grafana-แƒ“แƒแƒœ Prometheus backend-แƒ˜แƒ— แƒขแƒ”แƒกแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก). แƒ›แƒแƒฎแƒ“แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒแƒจแƒ™แƒแƒ แƒแƒ“ แƒฉแƒแƒœแƒก แƒ›แƒซแƒ˜แƒ›แƒ” แƒขแƒ•แƒ˜แƒ แƒ—แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฌแƒแƒ แƒ›แƒแƒฅแƒ›แƒœแƒแƒก แƒกแƒแƒแƒ แƒ˜แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒœแƒ˜แƒจแƒœแƒ˜แƒ—, แƒฎแƒแƒšแƒ แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜ แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ˜แƒก แƒฃแƒคแƒ แƒ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ  แƒแƒœแƒแƒšแƒ˜แƒ–แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒ“แƒ แƒแƒก แƒแƒœ แƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’.

แƒกแƒขแƒแƒขแƒ˜แƒแƒ–แƒ” แƒ’แƒแƒ›แƒแƒฎแƒ›แƒแƒฃแƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒžแƒแƒกแƒฃแƒฎแƒแƒ“: แƒแƒฆแƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜แƒ, แƒ แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒแƒฅ NGINX Ingress-แƒ—แƒแƒœ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒแƒจแƒ˜. แƒกแƒฎแƒ•แƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ แƒ˜แƒก แƒกแƒฎแƒ•แƒ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒกแƒ”แƒ แƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒแƒกแƒแƒšแƒ”แƒ‘แƒจแƒ˜.

PS

แƒกแƒฎแƒ•แƒ K8s แƒ แƒฉแƒ”แƒ•แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒฎแƒ แƒ˜แƒ™แƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ˜แƒ˜แƒ“แƒแƒœ:

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ