ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืคื•ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืคืœื™ืกื ื“ื™ืง ืื•ื™ืฃ Kubernetes

ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืคื•ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืคืœื™ืกื ื“ื™ืง ืื•ื™ืฃ Kubernetes

ื ืžืึธื“ืขืจืŸ ืฆื•ื’ืึทื ื’ ืฆื• ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืกืึทืœื•ื•ื– ืคื™ืœืข ื“ืจื™ื ื’ืœืขืš ื’ืขืฉืขืคื˜ ืคึผืจืึธื‘ืœืขืžืก. ืงืึทื ื˜ื™ื™ื ืขืจื– ืื•ืŸ ืึธืจืงืขืกื˜ืจื™ื™ื˜ืขืจื– ืžืึทื›ืŸ ืขืก ื’ืจื™ื ื’ ืฆื• ื•ื•ืึธื’ ืคึผืจืึทื“ื–ืฉืขืงืก ืคื•ืŸ ืงื™ื™ืŸ ืงืึทืžืคึผืœืขืงืกื™ื˜ื™, ืคืึทืจืคึผืึธืฉืขื˜ืขืจืŸ ื“ื™ ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืขืก, ืžืึทื›ืŸ ื–ื™ื™ ืžืขืจ ืคืึทืจืœืึธื–ืœืขืš, ืึธื‘ืขืจ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜ ื–ื™ื™ ืžืึทื›ืŸ ื ืึธืš ืคึผืจืึธื‘ืœืขืžืก ืคึฟืึทืจ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก. ื“ืขืจ ืคึผืจืึธื’ืจืึทืžื™ืกื˜, ืขืจืฉื˜ืขืจ ืคื•ืŸ ืึทืœืข, ื–ืึธืจื’ืŸ ื•ื•ืขื’ืŸ ื–ื™ื™ืŸ ืงืึธื“: ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ, ืงื•ื•ืึทืœื™ื˜ืขื˜, ืคืึธืจืฉื˜ืขืœื•ื ื’, ืขืœืึทื’ืึทื ืก - ืื•ืŸ ื ื™ืฉื˜ ื•ื•ื™ ืขืก ื•ื•ืขื˜ ืึทืจื‘ืขื˜ืŸ ืื™ืŸ Kubernetes ืื•ืŸ ื•ื•ื™ ืฆื• ืคึผืจื•ื‘ื™ืจืŸ ืื•ืŸ ื“ื™ื‘ืึทื’ื™ื ื’ ืขืก ื ืึธืš ืžืื›ืŸ ืืคื™ืœื• ืžื™ื ื™ืžืึทืœ ืขื ื“ืขืจื•ื ื’ืขืŸ. ื“ืขืจื™ื‘ืขืจ, ืขืก ืื™ื– ืื•ื™ืš ื’ืึทื ืฅ ื ืึทื˜ื™ืจืœืขืš ืึทื– ื“ื™ ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืงื•ื‘ืขืจื ืขื˜ืขืก ื–ืขื ืขืŸ ืึทืงื˜ื™ื•ื•ืœื™ ื“ืขื•ื•ืขืœืึธืคึผืขื“, ื”ืขืœืคึผื™ื ื’ ืฆื• ืกืึธืœื•ื•ืข ื“ื™ ืคึผืจืึธื‘ืœืขืžืก ืคื•ืŸ ืืคื™ืœื• ื“ื™ ืžืขืจืกื˜ "ืึทืจื˜ืฉื™ื™ืง" ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืื•ืŸ ืœืึธื–ืŸ ื–ื™ื™ ืฆื• ืคืึธืงื•ืก ืื•ื™ืฃ ื“ื™ ื”ื•ื™ืคึผื˜ ื–ืึทืš.

ื“ืขืจ ืจืขืฆืขื ื–ื™ืข ื’ื™ื˜ ืงื•ืจืฅ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืžื›ืฉื™ืจื™ื ื•ื•ืึธืก ืžืึทื›ืŸ ื“ื™ ืœืขื‘ืŸ ื’ืจื™ื ื’ืขืจ ืคึฟืึทืจ ืึท ืคึผืจืึธื’ืจืึทืžื™ืกื˜ ื•ื•ืขืžืขื ืก ืงืึธื“ ืœื•ื™ืคื˜ ืื™ืŸ ื“ื™ ืคึผืึธื“'ืึทืงืก ืคื•ืŸ ืึท ืงื•ื‘ืขืจื ืขื˜ืขืก ืงื ื•ื™ืœ.

ืคึผืฉื•ื˜ ื”ืขืœืคึผืขืจืก

ืงื•ื‘ืขืงื˜ืœ-ื“ืขื‘ื•ื’

  • ื“ื™ ืขืกืึทื ืก: ืœื™ื™ื’ ื“ื™ื™ืŸ ืงืึทื ื˜ื™ื™ื ืขืจ ืฆื• ืึท ืคึผืึธื“ ืื•ืŸ ื–ืขืŸ ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ืื™ืŸ ืขืก.
  • ื’ื™ื˜ื”ื•ื‘.
  • ืงื•ืจืฅ ื’ื” ืกื˜ืึทื˜ื™ืกื˜ื™ืง: 715 ืฉื˜ืขืจืŸ, 54 ืงืึทืžื™ืฅ, 9 ืžื™ื˜ืืจื‘ืขื˜ืขืจืก.
  • ืฉืคึผืจืึทืš: ื’ื™ื™ืŸ.
  • ืœื™ืกืขื ืกืข: ืึทืคึผืึทื˜ืฉื™ ืœื™ืกืขื ืกืข 2.0.

ื“ืขืจ ืคึผืœื•ื’ื™ืŸ ืคึฟืึทืจ kubectl ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืฉืึทืคึฟืŸ ืึทืŸ ื ืึธืš ืงืึทื ื˜ื™ื™ื ืขืจ ืื™ืŸ ื“ื™ ืคึผืึธื“ ืคื•ืŸ ืื™ื ื˜ืขืจืขืก, ื•ื•ืึธืก ื•ื•ืขื˜ ื˜ื™ื™ืœืŸ ื“ืขื ืคึผืจืึธืฆืขืก ื ืึธืžืขืŸ ืžื™ื˜ ืื ื“ืขืจืข ืงืึทื ื˜ื™ื™ื ืขืจื–. ืื™ืŸ ืขืก ืื™ืจ ืงืขื ืขืŸ ื“ื™ื‘ืึทื’ื™ื ื’ ื“ื™ ืึธืคึผืขืจืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืคึผืึธื“: ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ื ืขืฅ, ื”ืขืจืŸ ืฆื• ื ืขืฅ ืคืึทืจืงืขืจ, ื•ื™ืกืคืึธืจืฉืŸ ื“ืขื ืคึผืจืึธืฆืขืก ืคื•ืŸ ืื™ื ื˜ืขืจืขืก, ืขื˜ืง.

ืื™ืจ ืงืขื ืขืŸ ืื•ื™ืš ื‘ืึทืฉื˜ื™ืžืขืŸ ืฆื• ื“ืขื ืคึผืจืึธืฆืขืก ืงืึทื ื˜ื™ื™ื ืขืจ ื“ื•ืจืš ืคืœื™ืกื ื“ื™ืง chroot /proc/PID/root - ื“ืึธืก ืงืขืŸ ื–ื™ื™ืŸ ื–ื™ื™ืขืจ ื‘ืึทืงื•ื•ืขื ื•ื•ืขืŸ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื‘ืึทืงื•ืžืขืŸ ืึท ื•ื•ืึธืจืฆืœ ืฉืึธืœ ืื™ืŸ ืึท ืงืึทื ื˜ื™ื™ื ืขืจ ืคึฟืึทืจ ื•ื•ืึธืก ืขืก ืื™ื– ื‘ืึทืฉื˜ื™ืžื˜ ืื™ืŸ ื“ื™ ืžืึทื ืึทืคืขืกื˜ื™ื™ืฉืึทืŸ securityContext.runAs.

ื“ื™ ื’ืขืฆื™ื™ึทื’ ืื™ื– ืคึผืฉื•ื˜ ืื•ืŸ ืขืคืขืงื˜ื™ื•ื•, ืึทื–ื•ื™ ืขืก ืงืขืŸ ื–ื™ื™ืŸ ื ื•ืฆื™ืง ืคึฟืึทืจ ื™ืขื“ืขืจ ื“ืขื•ื•ืขืœืึธืคึผืขืจ. ืžื™ืจ ื’ืขืฉืจื™ื‘ืŸ ืžืขืจ ื•ื•ืขื’ืŸ ืื™ื ืื™ืŸ ื‘ืึทื–ื•ื ื“ืขืจ ืึทืจื˜ื™ืงืœ.

ื˜ืขืœืขืคึผืจืขืกืขื ืกืข

  • ื“ื™ ืขืกืึทื ืก: ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืฆื• ื“ื™ื™ืŸ ืงืึธืžืคึผื™ื•ื˜ืขืจ. ืึทื ื˜ื•ื•ื™ืงืœืขืŸ ืื•ืŸ ื“ืขื‘ื•ื’ ืœืึธื•ืงืึทืœื™.
  • ืคึผืœืึทืฅ; ื’ื™ื˜ื”ื•ื‘.
  • ืงื•ืจืฅ ื’ื” ืกื˜ืึทื˜ื™ืกื˜ื™ืง: 2131 ืฉื˜ืขืจืŸ, 2712 ืงืึทืžื™ืฅ, 33 ืžื™ื˜ืืจื‘ืขื˜ืขืจืก.
  • ืฉืคึผืจืึทืš: ืคึผื™ื˜ื”ืึธืŸ.
  • ืœื™ืกืขื ืกืข: ืึทืคึผืึทื˜ืฉื™ ืœื™ืกืขื ืกืข 2.0.

ื“ืขืจ ื’ืขื“ืึทื ืง ืคื•ืŸ ื“ืขื ืงื ืึทืงืŸ-ืื™ืŸ ืื™ื– ืฆื• ืงืึทื˜ืขืจ ืึท ืงืึทื ื˜ื™ื™ื ืขืจ ืžื™ื˜ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื•ื™ืฃ ื“ื™ ื”ื™ื’ืข ื‘ืึทื ื™ืฆืขืจ ืงืึธืžืคึผื™ื•ื˜ืขืจ ืื•ืŸ ืคึผืจืึทืงืกื™ ืึทืœืข ืคืึทืจืงืขืจ ืคึฟื•ืŸ ื“ืขื ืงื ื•ื™ืœ ืฆื• ืขืก ืื•ืŸ ืฆื•ืจื™ืง. ื“ืขืจ ืฆื•ื’ืึทื ื’ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืึทื ื˜ื•ื•ื™ืงืœืขืŸ ืœืึธื•ืงืึทืœื™ ื“ื•ืจืš ืคืฉื•ื˜ ืขื“ื™ื˜ื™ื ื’ ื˜ืขืงืขืก ืื™ืŸ ื“ื™ื™ืŸ ื‘ืึทืœื™ื‘ืกื˜ืข IDE: ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ื•ื•ืขืœืŸ ื–ื™ื™ืŸ ื‘ืืจืขื›ื˜ื™ื’ื˜ ื’ืœื™ื™ืš.

ื“ื™ ืึทื“ื•ื•ืึทื ื˜ื™ื“ื–ืฉื™ื– ืคื•ืŸ ืคืœื™ืกื ื“ื™ืง ืœืึธื•ืงืึทืœื™ ื–ืขื ืขืŸ ื“ื™ ืงืึทื ื•ื•ื™ื ื™ืึทื ืก ืคื•ืŸ ืขื“ื™ืฅ ืื•ืŸ ืจืขื’ืข ืจืขื–ื•ืœื˜ืึทื˜ืŸ, ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื“ื™ื‘ืึทื’ื™ื ื’ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื•ื™ืฃ ื“ื™ ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš ื•ื•ืขื’. ื“ื™ ื“ืึทื•ื ืกื™ื™ื“ ืื™ื– ืึทื– ืขืก ืื™ื– ืคืืจืœืื ื’ื˜ ืคึฟืึทืจ ืงืฉืจ ื’ื™ื›ืงื™ื™ึทื˜, ื•ื•ืึธืก ืื™ื– ืกืคึผืขืฆื™ืขืœ ื‘ืืžืขืจืงื˜ ื•ื•ืขืŸ ืื™ืจ ื”ืึธื‘ืŸ ืฆื• ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืžื™ื˜ ืึท ืคืขืจืœื™ ื”ื•ื™ืš ืจืคึผืก ืื•ืŸ ืคืึทืจืงืขืจ. ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, Telepresence ื”ืื˜ ืคึผืจืึธื‘ืœืขืžืก ืžื™ื˜ ื‘ืึทื ื“ ืžืึทื•ื ืฅ ืื•ื™ืฃ Windows, ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืึท ื‘ืึทืฉื˜ื™ืžืขื ื“ื™ืง ื‘ืึทื’ืจืขื ืขืฆื•ื ื’ ืคึฟืึทืจ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืฆื•ื’ืขื•ื•ื•ื™ื ื˜ ืฆื• ื“ืขื ืึทืก.

ืžื™ืจ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ืฉืขืจื“ ืื•ื ื“ื–ืขืจ ื“ืขืจืคืึทืจื•ื ื’ ืคื•ืŸ ื ื™ืฆืŸ ื˜ืขืœืขืคึผืจืขืกืขื ืกืข ื“ืึธ.

ืงืกื™ื ืง

  • ื“ื™ ืขืกืึทื ืก: ื›ึผืžืขื˜ ื™ื ืกื˜ืึทื ื˜ืึทื ื™ืึทืก ืกื™ื ื’ืงืจืึทื ืึทื–ื™ื™ืฉืึทืŸ ืคื•ืŸ ืงืึธื“ ืžื™ื˜ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ืื™ืŸ ื“ืขื ืงื ื•ื™ืœ.
  • ื’ื™ื˜ื”ื•ื‘.
  • ืงื•ืจืฅ ื’ื” ืกื˜ืึทื˜ื™ืกื˜ื™ืง: 555 ืฉื˜ืขืจืŸ, 362 ืงืึทืžื™ืฅ, 11 ืžื™ื˜ืืจื‘ืขื˜ืขืจืก.
  • ืฉืคึผืจืึทืš: ื’ื™ื™ืŸ.
  • ืœื™ืกืขื ืกืข: ืึทืคึผืึทื˜ืฉื™ ืœื™ืกืขื ืกืข 2.0.

ื“ื™ ื ื•ืฆืŸ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืกื™ื ื’ืงืจืึทื ื™ื™ื– ื“ื™ ืื™ื ื”ืึทืœื˜ ืคื•ืŸ ืึท ื”ื™ื’ืข ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืžื™ื˜ ื“ืขืจ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืคื•ืŸ ืึท ืงืึทื ื˜ื™ื™ื ืขืจ ืคืœื™ืกื ื“ื™ืง ืื™ืŸ ื“ืขื ืงื ื•ื™ืœ. ืึทื–ืึท ืึท ื’ืขืฆื™ื™ึทื’ ืื™ื– ื’ืื ืฅ ืคึฟืึทืจ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืื™ืŸ ืกืงืจื™ืคึผื˜ื™ื ื’ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทื›ืŸ, ื•ื•ืขืžืขื ืก ื”ื•ื™ืคึผื˜ ืคึผืจืึธื‘ืœืขื ืื™ื– ื“ื™ืœื™ื•ื•ืขืจื™ื ื’ ืงืึธื“ ืฆื• ืึท ืคืœื™ืกื ื“ื™ืง ืงืึทื ื˜ื™ื™ื ืขืจ. Ksync ืื™ื– ื“ื™ื–ื™ื™ื ื“ ืฆื• ื‘ืึทืคืจื™ื™ึทืขืŸ ื“ืขื ืงืึธืคึผื•ื•ื™ื™ื˜ื™ืง.

ื•ื•ืขืŸ ื™ื ื™ืฉืึทืœื™ื™ื–ื“ ืึทืžืึธืœ ื“ื•ืจืš ื“ื™ ื‘ืึทืคึฟืขืœ ksync init ืึท DaemonSet ืื™ื– ื‘ืืฉืืคืŸ ืื™ืŸ ื“ืขื ืงื ื•ื™ืœ, ื•ื•ืึธืก ืื™ื– ื’ืขื ื™ืฆื˜ ืฆื• ืžืึธื ื™ื˜ืึธืจ ื“ื™ ื˜ืขืงืข ืกื™ืกื˜ืขื ืฉื˜ืึทื˜ ืคื•ืŸ ื“ื™ ืื•ื™ืกื’ืขืงืœื™ื‘ืŸ ืงืึทื ื˜ื™ื™ื ืขืจ. ืื•ื™ืฃ ื–ื™ื™ืŸ ื”ื™ื’ืข ืงืึธืžืคึผื™ื•ื˜ืขืจ, ื“ืขืจ ื“ืขื•ื•ืขืœืึธืคึผืขืจ ืœื•ื™ืคื˜ ื“ื™ ื‘ืึทืคึฟืขืœ ksync watch, ื•ื•ืึธืก ืžืึธื ื™ื˜ืึธืจืก ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื– ืื•ืŸ ืœื•ื™ืคื˜ ืกื™ื ืงื˜ื™ื ื’, ื•ื•ืึธืก ื’ืœื™ื™ึทืš ืกื™ื ื’ืงืจืึทื ื™ื™ื– ื˜ืขืงืขืก ืžื™ื˜ ื“ืขื ืงื ื•ื™ืœ.

ืึทืœืข ื•ื•ืึธืก ื‘ืœื™ื™ื‘ื˜ ืื™ื– ืฆื• ืœืขืจื ืขืŸ ksync ื•ื•ืึธืก ืฆื• ืกื™ื ื’ืงืจืึทื ื™ื™ื– ืžื™ื˜ ื•ื•ืึธืก. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื“ืขื ื‘ืึทืคึฟืขืœ:

ksync create --name=myproject --namespace=test --selector=app=backend --container=php --reload=false /home/user/myproject/ /var/www/myproject/

... ื•ื•ืขื˜ ืžืึทื›ืŸ ืึท ื•ื•ืึทื˜ืฉืขืจ ื’ืขื”ื™ื™ืกืŸ myprojectื•ื•ืึธืก ื•ื•ืขื˜ ื–ื•ื›ืŸ ืคึฟืึทืจ ืึท ืคึผืึธื“ ืžื™ื˜ ืึท ืคื™ืจืžืข app=backend ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ืกื™ื ื’ืงืจืึทื ื™ื™ื– ื“ื™ ื”ื™ื’ืข ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ /home/user/myproject/ ืžื™ื˜ ืงืึทื˜ืึทืœืึธื’ /var/www/myproject/ ืื™ืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ื’ืขืจื•ืคืŸ php.

ืคึผืจืึธื‘ืœืขืžืก ืื•ืŸ ื”ืขืจื•ืช ืื•ื™ืฃ ksync ืคึฟื•ืŸ ืื•ื ื“ื–ืขืจ ื“ืขืจืคืึทืจื•ื ื’:

  • ืžื•ื–ืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื•ื™ืฃ Kubernetes ืงื ื•ื™ืœ ื ืึธื•ื“ื– overlay2 ื•ื•ื™ ืึท ืกื˜ืึธืจื™ื“ื–ืฉ ื“ืจื™ื™ื•ื•ืขืจ ืคึฟืึทืจ ื“ืึธืงืงืขืจ. ื“ื™ ื ื•ืฆืŸ ื•ื•ืขื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ืงื™ื™ืŸ ืื ื“ืขืจืข.
  • ื•ื•ืขืŸ ื ื™ืฆืŸ Windows ื•ื•ื™ ืึท ืงืœื™ืขื ื˜ ืึทืก, ื“ืขืจ ื˜ืขืงืข ืกื™ืกื˜ืขื ื•ื•ืึทื˜ืฉืขืจ ืงืขืŸ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ ืจื™ื›ื˜ื™ืง. ื“ืขืจ ื–ืฉื•ืง ืื™ื– ื‘ืืžืขืจืงื˜ ื•ื•ืขืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื’ืจื•ื™ืก ื“ื™ื™ืจืขืงื˜ืขืจื™ื– - ืžื™ื˜ ืึท ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ื ืขืกื˜ืขื“ ื˜ืขืงืขืก ืื•ืŸ ื“ื™ืจืขืงื˜ืขืจื™ื–. ืžื™ืจ ื‘ืืฉืืคืŸ ื‘ืึทื˜ื™ื™ึทื˜ื™ืง ืึทืจื•ื™ืกื’ืขื‘ืŸ ืื™ืŸ ื“ื™ ืกื™ื ืงื˜ื™ื ื’ ืคึผืจื•ื™ืขืงื˜, ืึธื‘ืขืจ ืขืก ืื™ื– ืงื™ื™ืŸ ืคึผืจืึธื’ืจืขืก ืื•ื™ืฃ ืขืก ื ืึธืš (ื–ื™ื ื˜ ื“ื™ ืึธื ื”ื™ื™ื‘ ืคื•ืŸ ื™ื•ืœื™).
  • ื ื™ืฆืŸ ื˜ืขืงืข .stignore ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืคึผืึทื˜ืก ืึธื“ืขืจ ื˜ืขืงืข ืคึผืึทื˜ืขืจื ื– ื•ื•ืึธืก ื˜ืึธืŸ ื ื™ื˜ ื“ืึทืจืคึฟืŸ ืฆื• ื–ื™ื™ืŸ ืกื™ื ื’ืงืจืึทื ื™ื™ื–ื“ (ืœืžืฉืœ, ื“ื™ืจืขืงื˜ืขืจื™ื– app/cache ะธ .git).
  • ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, ksync ื•ื•ืขื˜ ืจื™ืกื˜ืึทืจื˜ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ื•ื•ืขืŸ ื˜ืขืงืขืก ื˜ื•ื™ืฉืŸ. ืคึฟืึทืจ Node.js ื“ืึธืก ืื™ื– ื‘ืึทืงื•ื•ืขื, ืึธื‘ืขืจ ืคึฟืึทืจ PHP ืขืก ืื™ื– ื’ืึธืจ ื•ืžื ื™ื™ื˜ื™ืง. ืขืก ืื™ื– ื‘ืขืกืขืจ ืฆื• ืงืขืจ ืึทื•ื•ืขืง ืึธืคึผืงืึทื˜ืฉืข ืื•ืŸ ื ื•ืฆืŸ ื“ื™ ืคืึธืŸ --reload=false.
  • ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืงืขื ืขืŸ ืฉื˜ืขื ื“ื™ืง ื–ื™ื™ืŸ ืงืขืจืขืงื˜ืึทื“ ืื™ืŸ $HOME/.ksync/ksync.yaml.

ืงืึทื‘ืึทืง

  • ื“ื™ ืขืกืึทื ืก: ื“ื™ื‘ืึทื’ ืคึผืจืึทืกืขืกืึทื– ื’ืœื™ื™ึทืš ืื™ืŸ ื“ืขื ืงื ื•ื™ืœ.
  • ื’ื™ื˜ื”ื•ื‘.
  • ืงื•ืจืฅ ื’ื” ืกื˜ืึทื˜ื™ืกื˜ื™ืง: 1154 ืฉื˜ืขืจืŸ, 279 ืงืึทืžื™ืฅ, 23 ืžื™ื˜ืืจื‘ืขื˜ืขืจืก.
  • ืฉืคึผืจืึทืš: ื’ื™ื™ืŸ.
  • ืœื™ืกืขื ืกืข: ืึทืคึผืึทื˜ืฉื™ ืœื™ืกืขื ืกืข 2.0.

ื“ืขืจ ื’ืขืฆื™ื™ึทื’ ืื™ื– ื“ื™ื–ื™ื™ื ื“ ืคึฟืึทืจ ื“ื™ื‘ืึทื’ื™ื ื’ ืคึผืจืึทืกืขืกืึทื– ื’ืœื™ื™ึทืš ืื™ืŸ ืคึผืึธื“ืก. ื“ื™ ื ื•ืฆืŸ ืื™ื– ืคึผืฉื•ื˜ ืื•ืŸ ื™ื ื˜ืขืจืึทืงื˜ื™ื•ื•ืœื™ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืกืขืœืขืงื˜ื™ืจืŸ ื“ืขื ื’ืขื•ื•ืืœื˜ ื“ืขื‘ื•ื’ื’ืขืจ (ื–ืข ืื•ื ื˜ืŸ) ืื•ืŸ ื ืึทืžืขืกืคึผืึทืกืข + ืคึผืึธื“, ืื™ืŸ ื“ืขื ืคึผืจืึธืฆืขืก ืคื•ืŸ ื•ื•ืึธืก ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื™ื ืขืจื•ื•ื™ืŸ. ืื™ืฆื˜ ื’ืขืฉื˜ื™ืฆื˜:

  • ื“ืขืœื•ื• - ืคึฟืึทืจ ื’ื™ื™ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–;
  • GDB - ื“ื•ืจืš ืฆื™ืœ ื•ื•ื™ื™ึทื˜ + ืคึผืึธืจื˜ ืคืึธืจื•ื•ืขืจื“ื™ื ื’;
  • JDWP ืคึผืึธืจื˜ ืคืึธืจื•ื•ืขืจื“ื™ื ื’ ืคึฟืึทืจ ื“ื™ื‘ืึทื’ื™ื ื’ Java ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–.

ืื•ื™ืฃ ื“ื™ IDE ื–ื™ื™ึทื˜, ืฉื˜ื™ืฆืŸ ืื™ื– ื‘ืœื•ื™ื– ื‘ื ื™ืžืฆื ืื™ืŸ VScode (ื ื™ืฆืŸ ื™ืงืกืคึผืึทื ืฉืึทืŸ), ืึธื‘ืขืจ, ืคึผืœืึทื ื– ืคึฟืึทืจ ื“ื™ ืงืจืึทื ื˜ (2019) ื™ืึธืจ ืึทืจื™ื™ึทื ื ืขืžืขืŸ Eclipse ืื•ืŸ Intellij.

ืฆื• ื“ื™ื‘ืึทื’ื™ื ื’ ืคึผืจืึทืกืขืกืึทื–, ืกืงื•ื•ืึทืฉ ืœื•ื™ืคื˜ ืึท ืคึผืจื™ื•ื•ืœื™ื“ื–ืฉื“ ืงืึทื ื˜ื™ื™ื ืขืจ ืื•ื™ืฃ ื“ื™ ืงื ื•ื™ืœ ื ืึธื•ื“ื–, ืึทื–ื•ื™ ืื™ืจ ืžื•ื–ืŸ ืขืจืฉื˜ืขืจ ื‘ืืงืขื ืขืŸ ื–ื™ืš ืžื™ื˜ ื“ื™ ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– ื–ื™ื›ืขืจืข ื•ื•ืขื’ ืฆื• ื•ื™ืกืžื™ื™ื“ืŸ ื–ื™ื›ืขืจื”ื™ื™ื˜ ืคึผืจืึธื‘ืœืขืžืก.

ื’ืึทื ืฅ ืกืึทืœื•ืฉืึทื ื–

ืœืึธืžื™ืจ ื’ื™ื™ืŸ ืฆื• ื“ื™ ืฉื•ื•ืขืจ ืึทืจื˜ื™ืœืขืจื™ืข - ืžืขืจ "ื’ืจื•ื™ืก-ื•ื•ืึธื’" ืคึผืจืึทื“ื–ืฉืขืงืก ื“ื™ื–ื™ื™ื ื“ ืฆื• ืžื™ื“ ื˜ืจืขืคืŸ ืคื™ืœืข ื‘ืื“ืขืจืคืขื ื™ืฉืŸ ืคื•ืŸ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก.

NB: ืื™ืŸ ื“ืขื ืจืฉื™ืžื”, ืคื•ืŸ ืงื•ืจืก, ืขืก ืื™ื– ืึท ืคึผืœืึทืฅ ืคึฟืึทืจ ืื•ื ื“ื–ืขืจ ืขืคึฟืŸ ืžืงื•ืจ ื ื•ืฆืŸ werf (ืึทืžืึธืœ ื‘ืืงืื ื˜ ื•ื•ื™ ื“ืึทืคึผ). ืึธื‘ืขืจ, ืžื™ืจ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ื’ืขืฉืจื™ื‘ืŸ ืื•ืŸ ื’ืขืจืขื“ื˜ ื•ื•ืขื’ืŸ ืื™ื ืžืขืจ ื•ื•ื™ ืึทืžืึธืœ, ืื•ืŸ ื“ืขืจื™ื‘ืขืจ ื‘ืึทืฉืœืึธืกืŸ ื ื™ืฉื˜ ืฆื• ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืขืก ืื™ืŸ ื“ื™ ืจืขืฆืขื ื–ื™ืข. ืคึฟืึทืจ ื™ืขื ืข ื•ื•ืึธืก ื•ื•ื™ืœืŸ ืฆื• ื–ื™ื™ืŸ ืžืขืจ ื‘ืึทืงืึทื ื˜ ืžื™ื˜ ื“ื™ ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื–, ืžื™ืจ ืจืขืงืึธืžืขื ื“ื™ืจืŸ ืœื™ื™ืขื ืขืŸ / ืฆื•ื’ืขื”ืขืจื˜ ืฆื• ื“ืขื ื‘ืึทืจื™ื›ื˜ "werf ืื™ื– ืื•ื ื“ื–ืขืจ ื’ืขืฆื™ื™ึทื’ ืคึฟืึทืจ ืกื™ / ืกื™ ืื™ืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก'.

DevSpace

  • ื“ื™ ืขืกืึทื ืก: ืคึฟืึทืจ ื“ื™ ื•ื•ืืก ื•ื•ื™ืœืŸ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ืืจื‘ืขื˜ืŸ ืื™ืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก, ืึธื‘ืขืจ ื˜ืึธืŸ ื ื™ืฉื˜ ื•ื•ืขืœืŸ ืฆื• ื“ืขืœื•ื• ืื™ืŸ ื“ื™ ื“ื–ืฉืึทื ื’ื’ืึทืœ.
  • ื’ื™ื˜ื”ื•ื‘.
  • ืงื•ืจืฅ ื’ื” ืกื˜ืึทื˜ื™ืกื˜ื™ืง: 630 ืฉื˜ืขืจืŸ, 1912 ืงืึทืžื™ืฅ, 13 ืžื™ื˜ืืจื‘ืขื˜ืขืจืก.
  • ืฉืคึผืจืึทืš: ื’ื™ื™ืŸ.
  • ืœื™ืกืขื ืกืข: ืึทืคึผืึทื˜ืฉื™ ืœื™ืกืขื ืกืข 2.0.

ื ืœื™ื™ื–ื•ื ื’ ืคื•ืŸ ื“ืขืจ ืคื™ืจืžืข ืžื™ื˜ ื“ื™ ื–ืขืœื‘ืข ื ืึธืžืขืŸ, ื•ื•ืึธืก ื’ื™ื˜ ื’ืขืจืื˜ืŸ ืงืœืึทืกื˜ืขืจื– ืžื™ื˜ Kubernetes ืคึฟืึทืจ ืžืึทื ืฉืึทืคึฟื˜ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’. ื“ื™ ื ื•ืฆืŸ ืื™ื– ื‘ืืฉืืคืŸ ืคึฟืึทืจ ื’ืขืฉืขืคื˜ ืงืœืึทืกื˜ืขืจื–, ืึธื‘ืขืจ ืึทืจื‘ืขื˜ ื’ืจื•ื™ืก ืžื™ื˜ ืงื™ื™ืŸ ืื ื“ืขืจืข.

ื•ื•ืขืŸ ืคืœื™ืกื ื“ื™ืง ื“ื™ ื‘ืึทืคึฟืขืœ devspace init ืื™ืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืงืึทื˜ืึทืœืึธื’ ืื™ืจ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขืคึฟื™ื ื˜ (ื™ื ื˜ืขืจืึทืงื˜ื™ื•ื•ืœื™):

  • ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ืึท ืืจื‘ืขื˜ืŸ Kubernetes ืงื ื•ื™ืœ,
  • ื ื•ืฆืŸ ื™ื’ื–ื™ืกื˜ื™ื ื’ Dockerfile (ืึธื“ืขืจ ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืึท ื ื™ื™ึทืข) ืฆื• ืฉืึทืคึฟืŸ ืึท ืงืึทื ื˜ื™ื™ื ืขืจ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืขืก,
  • ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ืึท ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืคึฟืึทืจ ืกื˜ืึธืจื™ื ื’ ืงืึทื ื˜ื™ื™ื ืขืจ ื‘ื™ืœื“ืขืจ, ืขื˜ืง.

ื ืึธืš ืึทืœืข ื“ื™ ืคึผืจื™ืคึผืขืจืึทื˜ืึธืจื™ ืกื˜ืขืคึผืก, ืื™ืจ ืงืขื ืขืŸ ืึธื ื”ื™ื™ื‘ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ื“ื•ืจืš ืœื•ื™ืคืŸ ื“ื™ ื‘ืึทืคึฟืขืœ devspace dev. ืขืก ื•ื•ืขื˜ ื‘ื•ื™ืขืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ, ื•ืคึผืœืึธืึทื“ ืขืก ืฆื• ื“ื™ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™, ืจืึธื•ืœื“ ื“ื™ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืฆื• ื“ื™ ืงื ื•ื™ืœ ืื•ืŸ ืึธื ื”ื™ื™ื‘ืŸ ืคึผืึธืจื˜ ืคืึธืจื•ื•ืขืจื“ื™ื ื’ ืื•ืŸ ืกื™ื ื’ืงืจืึทื ืึทื–ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ืžื™ื˜ ื“ื™ ื”ื™ื’ืข ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ.

ืึธืคึผื˜ื™ืึธื ืึทืœืœื™, ืื™ืจ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืคึผืจืึทืžืคึผื˜ื™ื“ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื“ื™ ื•ื•ืึธืงื–ืึทืœ ืฆื• ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ. ืื™ืจ ื–ืึธืœ ื ื™ืฉื˜ ืึธืคึผื–ืึธื’ืŸ, ื•ื•ื™ื™ึทืœ ืื™ืŸ ืคืึทืงื˜, ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ืกื˜ืึทืจืฅ ืžื™ื˜ ื“ื™ ืฉืœืึธืคืŸ ื‘ืึทืคึฟืขืœ, ืื•ืŸ ืคึฟืึทืจ ืคืึทืงื˜ื™ืฉ ื˜ืขืกื˜ื™ื ื’ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื“ืึทืจืฃ ื–ื™ื™ืŸ ืœืึธื ื˜ืฉื˜ ืžืึทื ื™ื•ืึทืœื™.

ืฆื•ื ืกื•ืฃ, ื“ื™ ืžืึทื ืฉืึทืคึฟื˜ devspace deploy ืจืึธื•ืœื“ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื•ืŸ ื“ื™ ืคึฟืึทืจื‘ื•ื ื“ืŸ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืฆื• ื“ืขื ืงื ื•ื™ืœ, ื ืึธืš ื•ื•ืึธืก ืึทืœืฅ ื”ื™ื™ื‘ื˜ ืฆื• ืคื•ื ืงืฆื™ืึธื ื™ืจืŸ ืื™ืŸ ืงืึทืžื‘ืึทื˜ ืžืึธื“ืข.

ื›ืœ ืคึผืจื•ื™ืขืงื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื™ื– ืกื˜ืึธืจื“ ืื™ืŸ ืึท ื˜ืขืงืข devspace.yaml. ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืกื•ื•ื™ื•ื•ืข ืกืขื˜ื˜ื™ื ื’ืก, ืื™ืจ ืงืขื ืขืŸ ืื•ื™ืš ื’ืขืคึฟื™ื ืขืŸ ืึท ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ื“ื™ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืื™ืŸ ืขืก, ืขื ืœืขืš ืฆื• ื ืึธืจืžืึทืœ ืงื•ื‘ืขืจื ืขื˜ืขืก ืžืึทื ื™ืคืขืกืฅ, ื‘ืœื•ื™ื– ื–ื™ื™ืขืจ ืกื™ืžืคึผืœืึทืคื™ื™ื“.

ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืคื•ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืคืœื™ืกื ื“ื™ืง ืื•ื™ืฃ Kubernetes
ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืื•ืŸ ื”ื•ื™ืคึผื˜ ืกื˜ืึทื’ืขืก ืคื•ืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ DevSpace

ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, ืขืก ืื™ื– ื’ืจื™ื ื’ ืฆื• ืœื™ื™ื’ืŸ ืึท ืคึผืจืขื“ืขืคื™ื ืขื“ ืงืึธืžืคึผืึธื ืขื ื˜ (ืœืžืฉืœ, ืึท MySQL DBMS) ืึธื“ืขืจ ืึท ื”ืขืœื ื˜ืฉืึทืจื˜ ืฆื• ื“ื™ ืคึผืจื•ื™ืขืงื˜. ืœื™ื™ืขื ืขืŸ ืžืขืจ ืื™ืŸ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ - ืขืก ืื™ื– ื ื™ืฉื˜ ืงืึธืžืคึผืœื™ืฆื™ืจื˜.

Skaffold

  • ืคึผืœืึทืฅ; ื’ื™ื˜ื”ื•ื‘.
  • ืงื•ืจืฅ ื’ื” ืกื˜ืึทื˜ื™ืกื˜ื™ืง: 7423 ืฉื˜ืขืจืŸ, 4173 ืงืึทืžื™ืฅ, 136 ืžื™ื˜ืืจื‘ืขื˜ืขืจืก.
  • ืฉืคึผืจืึทืš: ื’ื™ื™ืŸ.
  • ืœื™ืกืขื ืกืข: ืึทืคึผืึทื˜ืฉื™ ืœื™ืกืขื ืกืข 2.0.

ื“ืขื ื ื•ืฆืŸ ืคื•ืŸ Google ืงืœื™ื™ืžื– ืฆื• ื“ืขืงืŸ ืึทืœืข ื“ื™ ื‘ืื“ืขืจืคืขื ื™ืฉืŸ ืคื•ืŸ ืึท ื“ืขื•ื•ืขืœืึธืคึผืขืจ ื•ื•ืขืžืขื ืก ืงืึธื“ ื•ื•ืขื˜ ืขืคืขืก ืœื•ื™ืคืŸ ืื•ื™ืฃ ืึท Kubernetes ืงื ื•ื™ืœ. ืกื˜ืึทืจื˜ื™ื ื’ ืฆื• ื ื•ืฆืŸ ืขืก ืื™ื– ื ื™ืฉื˜ ืึทื–ื•ื™ ื’ืจื™ื ื’ ื•ื•ื™ ื“ืขื•ื•ืกืคึผืึทืกืข: ืงื™ื™ืŸ ื™ื ื˜ืขืจืึทืงื˜ื™ื•ื•ื™ื˜ื™, ืฉืคึผืจืึทืš ื“ื™ื˜ืขืงืฉืึทืŸ ืื•ืŸ ืึทื•ื˜ืึธ-ืฉืึทืคื•ื ื’ Dockerfile ื–ื™ื™ ื•ื•ืขืœืŸ ืขืก ื“ื™ืจ ื ื™ืฉื˜ ืคืึธืจืฉืœืึธื’ืŸ ื“ืึธ.

ืึธื‘ืขืจ, ืื•ื™ื‘ ื“ืึธืก ื˜ื•ื˜ ื ื™ืฉื˜ ื™ื‘ืขืจืฉืจืขืงืŸ ืื™ืจ, ื“ืึธ ืก ื•ื•ืึธืก Skaffold ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื˜ืึธืŸ:

  • ืฉืคึผื•ืจ ืžืงื•ืจ ืงืึธื“ ืขื ื“ืขืจื•ื ื’ืขืŸ.
  • ืกื™ื ื’ืงืจืึทื ื™ื™ื– ืขืก ืžื™ื˜ ื“ื™ ืคึผืึธื“ ืงืึทื ื˜ื™ื™ื ืขืจ ืื•ื™ื‘ ืขืก ื˜ื•ื˜ ื ื™ืฉื˜ ื“ืึทืจืคืŸ ืคึฟืึทืจื–ืึทืžืœื•ื ื’.
  • ืงืœื™ื™ึทื‘ืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– ืžื™ื˜ ืงืึธื“, ืื•ื™ื‘ ื“ื™ ืฉืคึผืจืึทืš ืื™ื– ื™ื ื˜ืขืจืคึผืจืึทื˜ืึทื“, ืึธื“ืขืจ ืฆื•ื ื•ื™ืคื ืขืžืขืŸ ืึทืจื˜ืึทืคืึทืงืฅ ืื•ืŸ ืคึผืึทืงืŸ ื–ื™ื™ ืื™ืŸ ืงืึทื ื˜ื™ื™ื ืขืจื–.
  • ื“ื™ ืจื™ื–ืึทืœื˜ื™ื ื’ ื‘ื™ืœื“ืขืจ ื–ืขื ืขืŸ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ืึธืคึผื’ืขืฉื˜ืขืœื˜ ื ื™ืฆืŸ ืงืึทื ื˜ื™ื™ื ืขืจ-ืกื˜ืจื•ืงื˜ื•ืจ-ืคึผืจื•ื‘ื™ืจืŸ.
  • ื˜ืึทื’ื™ื ื’ ืื•ืŸ ื•ืคึผืœืึธืึทื“ื™ื ื’ ื‘ื™ืœื“ืขืจ ืฆื• ื“ื™ ื“ืึธืงืขืจ ืจืขื’ื™ืกื˜ืจื™.
  • ืฆืขื•ื•ื™ืงืœืขืŸ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ืŸ ืึท ืงื ื•ื™ืœ ืžื™ื˜ kubectl, ื”ืขืœื ืึธื“ืขืจ ืงื•ืกื˜ืึธืžื™ื–ืข.
  • ื“ื•ืจื›ืคื™ืจืŸ ืคึผืึธืจื˜ ืคืึธืจื•ื•ืขืจื“ื™ื ื’.
  • ื“ื™ื‘ืึทื’ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ Java, Node.js, Python.

ื•ื•ืึธืจืงืคืœืึธื•ื• ืื™ืŸ ืคืึทืจืฉื™ื“ืŸ ื•ื•ืขืจื™ื™ื™ืฉืึทื ื– ืื™ื– ื“ืขืงืœืึทืจืึทื˜ื™ื•ื•ืขืœื™ ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ ื“ืขืจ ื˜ืขืงืข skaffold.yaml. ืคึฟืึทืจ ืึท ืคึผืจื•ื™ืขืงื˜, ืื™ืจ ืงืขื ืขืŸ ืื•ื™ืš ื“ืขืคื™ื ื™ืจืŸ ืขื˜ืœืขื›ืข ืคึผืจืึธื•ืคื™ื™ืœื– ืื™ืŸ ื•ื•ืึธืก ืื™ืจ ืงืขื ืขืŸ ื˜ื™ื™ืœ ืึธื“ืขืจ ื’ืึธืจ ื˜ื•ื™ืฉืŸ ื“ื™ ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ืื•ืŸ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืกื˜ืึทื’ืขืก. ืœืžืฉืœ, ืคึฟืึทืจ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’, ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึท ื‘ืึทื–ืข ื‘ื™ืœื“ ื‘ืึทืงื•ื•ืขื ืคึฟืึทืจ ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจ, ืื•ืŸ ืคึฟืึทืจ ืกื˜ืึทื’ื™ื ื’ ืื•ืŸ ืคึผืจืึธื“ื•ืงืฆื™ืข - ืึท ืžื™ื ื™ืžืึทืœ (+ ื ื•ืฆืŸ securityContext ืงืึทื ื˜ื™ื™ื ืขืจื– ืึธื“ืขืจ ืจื™ื“ื™ืคื™ื™ืŸ ื“ื™ ืงื ื•ื™ืœ ืื™ืŸ ื•ื•ืึธืก ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื™ืคึผืœื•ื™ื“).

ื“ืึธืงืงืขืจ ืงืึทื ื˜ื™ื™ื ืขืจื– ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื‘ื•ื™ื˜ ืœืึธื•ืงืึทืœื™ ืึธื“ืขืจ ืจื™ืžืึธื•ื˜ืœื™: ืื™ืŸ Google ืงืœืึธื•ื“ ื‘ื•ื™ืขืŸ ืึธื“ืขืจ ืื™ืŸ ืึท ืงื ื•ื™ืœ ื ื™ืฆืŸ ืงืึทื ื™ืงืึธ. Bazel ืื•ืŸ Jib Maven / Gradle ื–ืขื ืขืŸ ืื•ื™ืš ื’ืขืฉื˜ื™ืฆื˜. ืคึฟืึทืจ ื˜ืึทื’ื™ื ื’, Skaffold ืฉื˜ื™ืฆื˜ ืคื™ืœืข ืกื˜ืจืึทื˜ืขื’ื™ืขืก: ื“ื•ืจืš git commit hash, ื“ืึทื˜ืข / ืฆื™ื™ื˜, sha256 ืกืึทื›ืึทืงืœ ืคื•ืŸ ืงื•ื•ืืœืŸ, ืขื˜ืง.

ืกืขืคึผืขืจืึทื˜ืœื™, ืขืก ืื™ื– ื›ื“ืื™ ืฆื• ื‘ืืžืขืจืงืŸ ื“ื™ ืžืขื’ืœืขื›ืงื™ื™ื˜ ืคื•ืŸ ื˜ืขืกื˜ื™ื ื’ ืงืึทื ื˜ื™ื™ื ืขืจื–. ื“ื™ ืฉื•ื™ืŸ ื“ืขืจืžืื ื˜ ืงืึทื ื˜ื™ื™ื ืขืจ-ืกื˜ืจื•ืงื˜ื•ืจ-ืคึผืจื•ื‘ื™ืจืŸ ืคืจื™ื™ืžื•ื•ืขืจืง ืึธืคืคืขืจืก ื“ื™ ืคืืœื’ืขื ื“ืข ื•ื•ืขืจืึทืคืึทืงื™ื™ืฉืึทืŸ ืžืขื˜ื”ืึธื“ืก:

  • ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ ืงืึทืžืึทื ื“ื– ืื™ืŸ ื“ืขื ืงืึธื ื˜ืขืงืกื˜ ืคื•ืŸ ืึท ืงืึทื ื˜ื™ื™ื ืขืจ ืžื™ื˜ ื˜ืจืึทืงื™ื ื’ ืึทืจื•ื™ืกื’ืึทื ื’ ืกื˜ืึทื˜ื•ืกืขืก ืื•ืŸ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ื˜ืขืงืกื˜ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื“ื™ ื‘ืึทืคึฟืขืœ.
  • ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ื‘ื™ื™ึทื–ื™ื™ึทืŸ ืคื•ืŸ ื˜ืขืงืขืก ืื™ืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ืื•ืŸ ื’ืœื™ื™ึทื›ืŸ ื“ื™ ืกืคึผืขืกื™ืคื™ืขื“ ืึทื˜ืจื™ื‘ื™ื•ืฅ.
  • ืงืึธื ื˜ืจืึธืœ ืคื•ืŸ ื˜ืขืงืข ืื™ื ื”ืึทืœื˜ ื ื™ืฆืŸ ืจืขื’ื•ืœืขืจ ืื•ื™ืกื“ืจื•ืงืŸ.
  • ื‘ื™ืœื“ ืžืขื˜ืึทื“ืึทื˜ืึท ื•ื•ืขืจืึทืคืึทืงื™ื™ืฉืึทืŸ (ENV, ENTRYPOINT, VOLUMES ืื•ืŸ ืื–ื•ื™ ื•ื•ื™ื™ื˜ืขืจ.).
  • ืงืึธื ื˜ืจืึธืœื™ืจื•ื ื’ ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™.

ืกื™ื ื˜ืฉืจืึธื ื™ื–ื™ื ื’ ื˜ืขืงืขืก ืžื™ื˜ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ืื™ื– ื ื™ืฉื˜ ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ืื™ืŸ ื“ื™ ืžืขืจืกื˜ ืึธืคึผื˜ื™ืžืึทืœ ื•ื•ืขื’: Skaffold ืคืฉื•ื˜ ืงืจื™ื™ื™ืฅ ืึทืŸ ืึทืจืงื™ื™ื•ื• ืžื™ื˜ ื“ื™ ืงื•ื•ืืœืŸ, ืงืึธืคึผื™ืขืก ืขืก ืื•ืŸ ืึทื ืคึผืึทืงืก ืขืก ืื™ืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ (ื˜ืึทืจ ืžื•ื–ืŸ ื–ื™ื™ืŸ ืื™ื ืกื˜ืึทืœื™ืจืŸ). ื“ืขืจื™ื‘ืขืจ, ืื•ื™ื‘ ื“ื™ื™ืŸ ื”ื•ื™ืคึผื˜ ืึทืจื‘ืขื˜ ืื™ื– ืงืึธื“ ืกื™ื ื’ืงืจืึทื ืึทื–ื™ื™ืฉืึทืŸ, ืขืก ืื™ื– ื‘ืขืกืขืจ ืฆื• ืงื•ืงืŸ ืื™ืŸ ืึท ืกืคึผืขืฉืึทืœื™ื™ื–ื“ ืœื™ื™ื–ื•ื ื’ (ืงืกื™ื ืง).

ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืคื•ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืคืœื™ืกื ื“ื™ืง ืื•ื™ืฃ Kubernetes
ื”ื•ื™ืคึผื˜ ืกื˜ืึทื’ืขืก ืคื•ืŸ ืกืงืึทืคืคืึธืœื“ ืึธืคึผืขืจืึทืฆื™ืข

ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ื“ื™ ื’ืขืฆื™ื™ึทื’ ื˜ื•ื˜ ื ื™ืฉื˜ ืœืึธื–ืŸ ืื™ืจ ืฆื• ืึทื‘ืกื˜ืจืึทืงื˜ ืคึฟื•ืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืžืึทื ื™ืคืขืกืฅ ืื•ืŸ ื”ืื˜ ืงื™ื™ืŸ ื™ื ื˜ืขืจืึทืงื˜ื™ื•ื•ื™ื˜ื™, ืึทื–ื•ื™ ืขืก ืงืขืŸ ื•ื™ืกืงื•ืžืขืŸ ืฉื•ื•ืขืจ ืฆื• ื‘ืขืœ. ืื‘ืขืจ ื“ืึธืก ืื™ื– ืื•ื™ืš ื–ื™ื™ึทืŸ ืžื™ื™ึทืœืข - ืึท ื’ืจืขืกืขืจืข ืคืจื™ื™ื”ื™ื™ื˜ ืคื•ืŸ ืงืึทืžืฃ.

ื’ืึธืจื˜ืŸ

  • ืคึผืœืึทืฅ; ื’ื™ื˜ื”ื•ื‘.
  • ืงื•ืจืฅ ื’ื” ืกื˜ืึทื˜ื™ืกื˜ื™ืง: 1063 ืฉื˜ืขืจืŸ, 1927 ืงืึทืžื™ืฅ, 17 ืžื™ื˜ืืจื‘ืขื˜ืขืจืก.
  • ืฉืคึผืจืึทืš: ื˜ื™ืคึผ ืกืงืจื™ืคึผื˜ (ืขืก ืื™ื– ืคึผืœืึทื ื ืขื“ ืฆื• ืฉืคึผืึทืœื˜ืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืขื˜ืœืขื›ืข ืงืึทืžืคึผืึธื•ื ืึทื ืฅ, ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื•ื•ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื™ืŸ Go, ืื•ืŸ ืื•ื™ืš ืžืึทื›ืŸ ืึท SDK ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึทื“ื™ืฉืึทื ื– ืื™ืŸ TypeScript/JavaScript ืื•ืŸ Go).
  • ืœื™ืกืขื ืกืข: ืึทืคึผืึทื˜ืฉื™ ืœื™ืกืขื ืกืข 2.0.

ื•ื•ื™ Skaffold, Garden ื™ื™ืžื– ืฆื• ืึธื˜ืึทืžื™ื™ื˜ ื“ื™ ืคึผืจืึทืกืขืกืึทื– ืคื•ืŸ ื“ื™ืœื™ื•ื•ืขืจื™ื ื’ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืงืึธื“ ืฆื• ื“ื™ K8s ืงื ื•ื™ืœ. ืฆื• ื˜ืึธืŸ ื“ืึธืก, ืื™ืจ ืขืจืฉื˜ืขืจ ื“ืึทืจืคึฟืŸ ืฆื• ื‘ืึทืฉืจื™ื™ึทื‘ืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืกื˜ืจื•ืงื˜ื•ืจ ืื™ืŸ ืึท YAML ื˜ืขืงืข, ืื•ืŸ ื“ืขืžืึธืœื˜ ืœื•ื™ืคืŸ ื“ื™ ื‘ืึทืคึฟืขืœ garden dev. ื–ื™ ื•ื•ืขื˜ ื˜ืึธืŸ ืึทืœืข ื“ื™ ืžืึทื’ื™ืฉ:

  • ืงืœื™ื™ึทื‘ืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– ืžื™ื˜ ืคืึทืจืฉื™ื“ืŸ ืคึผืึทืจืฅ ืคื•ืŸ ื“ื™ ืคึผืจื•ื™ืขืงื˜.
  • ืงืึทื ื“ืึทืงืฅ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ ืื•ืŸ ืึทืคึผืึทืจืึทื˜ ื˜ืขืกืฅ, ืื•ื™ื‘ ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ื“ื™ืกืงืจื™ื™ื‘ื“.
  • ืจืึธื•ืœื“ ืึทืœืข ืคึผืจื•ื™ืขืงื˜ ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืฆื• ื“ื™ ืงื ื•ื™ืœ.
  • ืื•ื™ื‘ ื“ื™ ืžืงื•ืจ ืงืึธื“ ืขื ื“ืขืจื•ื ื’ืขืŸ, ืขืก ื•ื•ืขื˜ ืจื™ืกื˜ืึทืจื˜ ื“ื™ ื’ืื ืฆืข ืจืขืจื  - ืœื™ื ื™ืข.

ื“ืขืจ ื”ื•ื™ืคึผื˜ ืคืึธืงื•ืก ืคื•ืŸ ื ื™ืฆืŸ ื“ืขื ื’ืขืฆื™ื™ึทื’ ืื™ื– ืฆื• ื˜ื™ื™ืœืŸ ืึท ื•ื•ื™ื™ึทื˜ ืงื ื•ื™ืœ ืžื™ื˜ ืึท ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืžืึทื ืฉืึทืคึฟื˜. ืื™ืŸ ื“ืขื ืคืึทืœ, ืื•ื™ื‘ ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ื‘ื ื™ืŸ ืื•ืŸ ื˜ืขืกื˜ื™ื ื’ ืกื˜ืขืคึผืก ื–ืขื ืขืŸ ืฉื•ื™ืŸ ื“ื•ืจื›ื’ืขืงืึธื›ื˜, ื“ืึธืก ื•ื•ืขื˜ ื‘ืื˜ื™ื™ื˜ื™ืง ืคืึทืจื’ื™ื›ืขืจืŸ ื“ื™ ื’ืื ืฆืข ืคึผืจืึธืฆืขืก, ื•ื•ื™ื™ึทืœ ื’ืึทืจื“ืึทืŸ ื•ื•ืขื˜ ืงืขื ืขืŸ ืฆื• ื ื•ืฆืŸ ื“ื™ ืงืึทืฉื˜ ืจืขื–ื•ืœื˜ืึทื˜ืŸ.

ื ืคึผืจื•ื™ืขืงื˜ ืžืึธื“ื•ืœืข ืงืขื ืขืŸ ื–ื™ื™ืŸ ืึท ืงืึทื ื˜ื™ื™ื ืขืจ, ืึท ืžืึทื•ื•ืขืŸ ืงืึทื ื˜ื™ื™ื ืขืจ, ืึท ื”ืขืœื ื˜ืฉืึทืจื˜, ืึท ื‘ืึทืฉื™ื™ึทืžืคึผืขืจืœืขืš ืคึฟืึทืจ kubectl apply ืึธื“ืขืจ ืืคื™ืœื• ืึทืŸ OpenFaaS ืคื•ื ืงืฆื™ืข. ื“ืขืจืฆื•, ืงื™ื™ืŸ ืคื•ืŸ ื“ื™ ืžืึทื“ื–ืฉื•ืœื– ืงืขื ืขืŸ ื–ื™ื™ืŸ ืคึผื•ืœื“ ืคึฟื•ืŸ ืึท ื•ื•ื™ื™ึทื˜ ื’ื™ื˜ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™. ื ืžืึธื“ื•ืœืข ืงืขืŸ ืึธื“ืขืจ ืงืขืŸ ื ื™ืฉื˜ ื“ืขืคื™ื ื™ืจืŸ ื‘ืึทื“ื™ื ื•ื ื’ืก, ื˜ืึทืกืงืก ืื•ืŸ ื˜ืขืกืฅ. ืกืขืจื•ื•ื™ืกืขืก ืื•ืŸ ื˜ืึทืกืงืก ืงืขื ืขืŸ ื”ืึธื‘ืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื–, ืึทื–ื•ื™ ืื™ืจ ืงืขื ืขืŸ ื‘ืึทืฉื˜ื™ืžืขืŸ ื“ื™ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืกื™ืงื•ื•ืึทื ืก ืคื•ืŸ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ื“ื™ื ืกื˜ ืื•ืŸ ืึธืจื’ืึทื ื™ื–ื™ืจืŸ ื“ื™ ืงืึทื˜ืขืจ ืคื•ืŸ ื˜ืึทืกืงืก ืื•ืŸ ื˜ืขืกืฅ.

ื’ืึทืจื“ืึทืŸ ื’ื™ื˜ ื“ื™ ื‘ืึทื ื™ืฆืขืจ ืึท ืฉื™ื™ืŸ ื“ืึทืฉื‘ืึธืจื“ (ื“ืขืจื•ื•ื™ื™ึทืœ ืื™ืŸ ื™ืงืกืคึผืขืจืžืขื ืึทืœ ืฉื˜ืึทื˜), ื•ื•ืึธืก ื“ื™ืกืคึผืœื™ื™ื– ื“ื™ ืคึผืจื•ื™ืขืงื˜ ื’ืจืึทืคื™ืง: ืงืึทืžืคึผืึธื•ื ืึทื ืฅ, ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ืกื™ืงื•ื•ืึทื ืก, ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ื˜ืึทืกืงืก ืื•ืŸ ื˜ืขืกืฅ, ื–ื™ื™ืขืจ ืงืึทื ืขืงืฉืึทื ื– ืื•ืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื–. ืจืขื›ื˜ ืื™ืŸ ื“ืขื ื‘ืœืขื˜ืขืจืขืจ, โ€‹โ€‹ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ื“ื™ ืœืึธื’ืก ืคื•ืŸ ืึทืœืข ืคึผืจื•ื™ืขืงื˜ ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืื•ืŸ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื•ื•ืึธืก ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืงืึธืžืคึผืึธื ืขื ื˜ ืึทื•ื˜ืคึผื•ืฅ ื“ื•ืจืš ื”ื˜ื˜ืคึผ (ืื•ื™ื‘, ืคื•ืŸ ืงื•ืจืก, ืึทืŸ ื™ื ื’ืจืขืกืก ืžื™ื˜ืœ ืื™ื– ื“ืขืจืงืœืขืจื˜ ืคึฟืึทืจ ืื™ื).

ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืคื•ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืคืœื™ืกื ื“ื™ืง ืื•ื™ืฃ Kubernetes
ื˜ืึทืคืœื™ืข ืคึฟืึทืจ ื’ืึทืจื“ืึทืŸ

ื“ืขืจ ื’ืขืฆื™ื™ึทื’ ืื•ื™ืš ื”ืื˜ ืึท ื”ื™ื™ืก-ืจื™ืœืึธื•ื“ ืžืึธื“ืข, ื•ื•ืึธืก ืคืฉื•ื˜ ืกื™ื ื’ืงืจืึทื ื™ื™ื– ืฉืจื™ืคื˜ ืขื ื“ืขืจื•ื ื’ืขืŸ ืžื™ื˜ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ืื™ืŸ ื“ืขื ืงื ื•ื™ืœ, ืื•ืŸ ื–ื™ื™ืขืจ ืคืึทืจื’ื™ื›ืขืจืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื“ื™ื‘ืึทื’ื™ื ื’ ืคึผืจืึธืฆืขืก. ื’ืึธืจื˜ืŸ ื”ืื˜ ืึท ื’ื•ื˜ ืื™ื™ื ืขืจ ื“ื™ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ืื•ืŸ ื ื™ืฉื˜ ืฉืœืขื›ื˜ ืกื›ื•ื ืคื•ืŸ ื‘ื™ื™ืฉืคื™ืœืŸ, ืึทืœืึทื•ื™ื ื’ ืื™ืจ ืฆื• ื’ืขืฉื•ื•ื™ื ื“ ื‘ืึทืงื•ืžืขืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ืขืก ืื•ืŸ ืึธื ื”ื™ื™ื‘ืŸ ื ื™ืฆืŸ ืขืก. ื“ื•ืจืš ื“ืขื ื•ื•ืขื’, ื ืึธืจ ืœืขืฆื˜ื ืก ืžื™ืจ ืืจื•ื™ืก ืึทืจื˜ื™ืงืœ ืื™ื‘ืขืจื–ืขืฆื•ื ื’ ืคึฟื•ืŸ ืื™ืจืข ืžื—ื‘ืจื™ื.

ืกืึธืฃ

ื“ืึธืš, ื“ื™ ืจืฉื™ืžื” ืคื•ืŸ ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืื•ืŸ ื“ื™ื‘ืึทื’ื™ื ื’ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื™ืŸ Kubernetes ืื™ื– ื ื™ืฉื˜ ืœื™ืžื™ื˜ืขื“ ืฆื•. ืขืก ื–ืขื ืขืŸ ืคื™ืœืข ืžืขืจ ื ื•ืฆื™ืง ืื•ืŸ ืคึผืจืึทืงื˜ื™ืฉ ื™ื•ื˜ื™ืœืึทื˜ื™ื– ื•ื•ืึธืก ื–ืขื ืขืŸ ื•ื•ืขืจื˜, ืื•ื™ื‘ ื ื™ืฉื˜ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืึทืจื˜ื™ืงืœ, ื“ืขืžืึธืœื˜ ื‘ื™ื™ึท ืžื™ื ื“ืกื˜ืขืจ ืึท ื“ืขืจืžืึธื ืขืŸ. ื–ืื’ ืื•ื ื“ื– ื•ื•ืึธืก ืื™ืจ ื ื•ืฆืŸ, ื•ื•ืึธืก ืคึผืจืึธื‘ืœืขืžืก ืื™ืจ ื”ืึธื˜ ื’ืขืคึผืœืึธื ื˜ืขืจื˜ ืื•ืŸ ื•ื•ื™ ืื™ืจ ืกืึทืœื•ื•ื“ ื–ื™ื™!

ืคึผืก

ืœื™ื™ืขื ืขืŸ ืื•ื™ืš ืื•ื™ืฃ ืื•ื ื“ื–ืขืจ ื‘ืœืึธื’:

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

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’