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

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

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

ืžื™ ืจ ื”ืื‘ ืŸ ื‘ืืœ ื“ ื“ืขืจื–ืขืŸ , ื ื– ื ื ืฒืข ืจ ื‘ืืฉืจืฒื‘ื•ื  ื’ ืื™ ื– ื’ืขื“ืืจืค ื˜ ืฐืขืจืŸ , ืžื™ื˜ื’ืขืฉื˜ืขืœ ื˜ :

  1. ื ื’ืจื•ื™ืกืข ืฆืืœ ื‘ื™ื™ืฉืคื™ืœืŸ ืื•ืŸ ืžืขืฉื™ื•ืช;
  2. ืกืคึผืขืฆื™ืคื™ืฉ ื“ืขืคึฟื™ื ื™ืฆื™ืข ืคื•ืŸ โ€‹โ€‹GitOps;
  3. ืคืึทืจื’ืœื™ื™ึทืš ืžื™ื˜ ื˜ืจืื“ื™ืฆื™ืื ืขืœืŸ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ืขืงืกืคึผืจืขืก.

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

ื˜ืจืขืคืŸ GitOps

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

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

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

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

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

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

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

  • ื’ืขืคื•ื ืขืŸ ืึทื– ื“ื™ ืžืึทื ืฉืึทืคึฟื˜ ืก ืคึผืจืึธื•ื“ืึทืงื˜ื™ื•ื•ืึทื˜ื™ ื“ืึทื‘ืึทืœื“ ืึธืŸ ื•ื•ืขืจ ืขืก ื™ื– ื’ืขื’ืื ื’ืขืŸ ืžืฉื•ื’ืข;
  • ืื•ื™ืคื’ืขื”ืขืจื˜ ื“ื™ื ืขืŸ ืกืงืจื™ืคึผืก. ืึทื ืฉื˜ืึธื˜, ื–ื™ื™ ืงืขื ืขืŸ ืื™ืฆื˜ ืคืึธืงื•ืก ืื•ื™ืฃ ื ื™ื™ึทืข ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืื•ืŸ ืคึฟืึทืจื‘ืขืกืขืจืŸ ื™ื ื–ืฉืขื ื™ืขืจื™ืข ื˜ืขืงื ื™ืงืก - ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื™ืžืคึผืœืึทืžืขื ื™ื ื’ ืงืึทื ืึทืจื™ ืจืึธื•ืœืึทืฅ ืื•ืŸ ื™ืžืคึผืจื•ื•ื•ื™ื ื’ ื˜ืขืกื˜ื™ื ื’;
  • ืžื™ืจ ื”ืึธื‘ืŸ ื™ืžืคึผืจื•ื•ื•ื“ ื“ื™ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืคึผืจืึธืฆืขืก ืึทื–ื•ื™ ืึทื– ืขืก ืจืึทืจืขืœื™ ื‘ืจื™ื™ืงืก ืึทืจืึธืคึผ;
  • ื‘ืึทืงื•ืžืขืŸ ื“ื™ ื’ืขืœืขื’ื ื”ื™ื™ื˜ ืฆื• ื•ืžืงืขืจืŸ ื“ื™ืคึผืœื•ื™ืžืึทื ืฅ ื ืึธืš ืคึผืึทืจื˜ื™ื™ื™ืฉ ืคื™ื™ืœื™ืขืจื– ืึธืŸ ืžืึทื ื•ืึทืœ ื™ื ื˜ืขืจื•ื•ืขื ื˜ื™ืึธืŸ;
  • ื’ืขืงื•ื™ืคื˜ ื’ืขื•ื•ื™ื™ื ื˜ะพืžืขืจ ื‘ื˜ื—ื•ืŸ ืื™ืŸ ืขืงืกืคึผืจืขืก ืกื™ืกื˜ืขืžืขืŸ. ืึทืœื™ืก ืื•ืŸ ื‘ืึธื‘ ื“ื™ืกืงืึทื•ื•ืขืจื“ ืึทื– ื–ื™ื™ ืงืขื ืขืŸ ืฉืคึผืึทืœื˜ืŸ ื“ื™ ืžืึทื ืฉืึทืคึฟื˜ ืื™ืŸ ืžื™ืงืจืึธืกืขืจื•ื•ื™ืก ื˜ื™ืžื– ืืจื‘ืขื˜ืŸ ืื™ืŸ ืคึผืึทืจืึทืœืขืœ;
  • ืงืขื ืขืŸ ืžืึทื›ืŸ 30-50 ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ื™ ืคึผืจื•ื™ืขืงื˜ ื™ืขื“ืขืจ ื˜ืึธื’ ื“ื•ืจืš ื“ื™ ื”ืฉืชื“ืœื•ืช ืคื•ืŸ ื™ืขื“ืขืจ ื’ืจื•ืคึผืข ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ื ื™ื™ึทืข ื˜ืขืงื ื™ืงืก;
  • ืขืก ืื™ื– ื’ืจื™ื ื’ ืฆื• ืฆื•ืฆื™ืขืŸ ื ื™ื™ึทืข ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืฆื• ื“ื™ ืคึผืจื•ื™ืขืงื˜, ื•ื•ืึธืก ื”ืึธื‘ืŸ ื“ื™ ื’ืขืœืขื’ื ื”ื™ื™ื˜ ืฆื• ืจืึธื•ืœื™ื ื’ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ ืฆื• ืคึผืจืึธื“ื•ืงืฆื™ืข ื ื™ืฆืŸ ืฆื™ืขืŸ ืจื™ืงื•ื•ืขืก ืื™ืŸ ืึท ื‘ื™ืกืœ ืฉืขื”;
  • ื“ื•ืจื›ื’ื™ื™ืŸ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืœื™ื™ื›ื˜ ืื™ืŸ ื“ื™ ืคืจื™ื™ืžื•ื•ืขืจืง ืคื•ืŸ SOC2 (ืคึฟืึทืจ ื”ืขืกืงืขื ืคื•ืŸ ืกืขืจื•ื•ื™ืก ืคึผืจืึทื•ื•ื™ื™ื“ืขืจื– ืžื™ื˜ ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ ืคึฟืึทืจ ื–ื™ื›ืขืจ ื“ืึทื˜ืŸ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’; ืœื™ื™ืขื ืขืŸ ืžืขืจ, ืœืžืฉืœ, ื“ืึธ - ื‘ืขืขืจืขืš. ืื™ื‘ืขืจื–ืขืฆืŸ).

ื•ื•ืืก ืื™ื– ื’ืขืฉืขืŸ?

GitOps ืื™ื– ืฆื•ื•ื™ื™ ื˜ื™ื ื’ื–:

  1. ืึทืคึผืขืจื™ื™ืฉืึทื ืึทืœ ืžืึธื“ืขืœ ืคึฟืึทืจ ืงื•ื‘ืขืจื ืขื˜ืขืก ืื•ืŸ ื•ื•ืึธืœืงืŸ ื’ืขื‘ื•ื™ืจืŸ. ืขืก ืคึผืจืึธื•ื•ื™ื“ืขืก ืึท ืกื›ื•ื ืคื•ืŸ ื‘ืขืกื˜ืขืจ ืคึผืจืึทืงื˜ื™ืกื™ื– ืคึฟืึทืจ ื“ื™ืคึผืœื•ื™ื™ื ื’, ืึธื ืคื™ืจื•ื ื’ ืื•ืŸ ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืงืึทื ื˜ื™ื ื™ื•ื–ื“ ืงืœืึทืกื˜ืขืจื– ืื•ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–. ืขืœืขื’ืึทื ื˜ ื“ืขืคึฟื™ื ื™ืฆื™ืข ืื™ืŸ ื“ื™ ืคืึธืจืขื ืื™ื™ืŸ ืจื•ืง ืคื•ืŸ ืœื•ื™ืก ืคืึทืกื™ืจืึท:
  2. ื“ืขืจ ื“ืจืš ืฆื• ืฉืึทืคึฟืŸ ืึท ื“ืขื•ื•ืขืœืึธืคึผืขืจ-ืกืขื ื˜ืจื™ืง ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืกื•ื•ื™ื•ื•ืข. ืžื™ืจ ืฆื•ืœื™ื™ื’ืŸ ื“ื™ Git ื•ื•ืึธืจืงืคืœืึธื•ื• ืฆื• ื‘ื™ื™ื“ืข ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืื•ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’. ื‘ื™ื˜ืข ื˜ืึธืŸ ืึทื– ื“ืึธืก ืื™ื– ื ื™ืฉื˜ ื‘ืœื•ื™ื– ื•ื•ืขื’ืŸ Git ืฉื˜ื•ืคึผืŸ, ืึธื‘ืขืจ ื•ื•ืขื’ืŸ ืึธืจื’ืึทื ื™ื™ื–ื™ื ื’ ื“ื™ ื’ืื ืฆืข ื’ืึทื ื’ ืคื•ืŸ CI / CD ืื•ืŸ UI / UX ืžื›ืฉื™ืจื™ื.

ืขื˜ืœืขื›ืข ื•ื•ืขืจื˜ืขืจ ื•ื•ืขื’ืŸ ื’ื™ื˜

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

ื•ื•ื™ Kubernetes ืึทืจื‘ืขื˜

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

ื•ื•ืึธืก ื’ื™ื˜ Kubernetes ื ื™ืฆืขืจืก?

ื“ืึธ ื–ืขื ืขืŸ ืขื˜ืœืขื›ืข ื”ื•ื™ืคึผื˜ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ:

  1. ืื™ืŸ ื“ื™ Kubernetes ืžืึธื“ืขืœ, ืึทืœืฅ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ ื“ืขืงืœืึทืจืึทื˜ื™ื•ื•ืข ืคืึธืจืขื.
  2. ื“ื™ Kubernetes API ืกืขืจื•ื•ืขืจ ื ืขืžื˜ ื“ืขื ื“ืขืงืœืึทืจืึทืฆื™ืข ื•ื•ื™ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ืื•ืŸ ื“ืึทืŸ ืงืขืกื™ื™ื“ืขืจ ืคืจื•ื•ื•ืŸ ืฆื• ื‘ืจืขื ื’ืขืŸ ื“ืขื ืงื ื•ื™ืœ ืื™ืŸ ื“ื™ ืฉื˜ืึทื˜ ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ ื“ืขืจ ื“ืขืงืœืึทืจืึทืฆื™ืข.
  3. ื“ืขืงืœืึทืจืึทืฆื™ืขืก ื–ืขื ืขืŸ ื’ืขื ื•ื’ ืฆื• ื‘ืึทืฉืจื™ื™ึทื‘ืŸ ืื•ืŸ ืคื™ืจืŸ ืึท ื‘ืจื™ื™ื˜ ืคืึทืจืฉื™ื™ื“ื ืงื™ื™ึทื˜ ืคื•ืŸ ื•ื•ืขืจืงืœืึธื•ื“ื– - "ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธื ืก."
  4. ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื•ืŸ ืงื ื•ื™ืœ ืคึผืึทืกื™ืจืŸ ืจืขื›ื˜ ืฆื•:
    • ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ืงืึทื ื˜ื™ื™ื ืขืจ ื‘ื™ืœื“ืขืจ;
    • ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ื™ ื“ืขืงืœืึทืจืึทื˜ื™ื•ื•ืข ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’;
    • ืขืจืจืึธืจืก ืื™ืŸ ื“ื™ ืกื•ื•ื™ื•ื•ืข - ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืงืึทื ื˜ื™ื™ื ืขืจ ืงืจืึทืฉื™ื–.

ื“ื™ ื’ืจื•ื™ืก ืงืึทื ื•ื•ืขืจื“ื–ืฉืึทื ืก ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– ืคื•ืŸ Kubernetes

ื•ื•ืขืŸ ืึท ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจ ืžืื›ื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ, ื“ื™ Kubernetes ืึธืจืงืขืกื˜ืจืึทื˜ืึธืจ ื•ื•ืขื˜ ืฆื•ืœื™ื™ื’ืŸ ื–ื™ื™ ืฆื• ื“ื™ ืงื ื•ื™ืœ ืึทื–ื•ื™ ืœืึทื ื’ ื•ื•ื™ ื–ื™ื™ืŸ ืฉื˜ืึทื˜ ืื™ื– ื•ื•ืขื˜ ื ื™ืฉื˜ ืงื•ืžืขืŸ ื ืึธืขื ื˜ ืฆื• ื“ื™ ื ื™ื™ึทืข ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ. ื“ืขืจ ืžืึธื“ืขืœ ืึทืจื‘ืขื˜ ืคึฟืึทืจ ืงื™ื™ืŸ Kubernetes ืžื™ื˜ืœ ืื•ืŸ ืื™ื– ืขืงืกื˜ืขื ืกื™ื‘ืœืข ืžื™ื˜ Custom Resource Definitions (CRDs). ื“ืขืจื™ื‘ืขืจ, Kubernetes ื“ื™ืคึผืœื•ื™ืžืึทื ืฅ ื”ืึธื‘ืŸ ื“ื™ ืคืืœื’ืขื ื“ืข ื•ื•ื•ื ื“ืขืจืœืขืš ืคึผืจืึธืคึผืขืจื˜ื™ืขืก:

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

ื•ื•ื™ GitOps ืึทืจื‘ืขื˜

ืžื™ืจ ื”ืึธื‘ืŸ ื’ืขืœืขืจื ื˜ ื’ืขื ื•ื’ ื•ื•ืขื’ืŸ Kubernetes ืฆื• ื“ืขืจืงืœืขืจืŸ ื•ื•ื™ GitOps ืึทืจื‘ืขื˜.

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

ื“ื™ ื”ื•ื™ืคึผื˜ ื–ืึทืš ืื™ื– ืึทื– ื™ืขื“ืขืจ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืขื ื“ืก ืžื™ื˜ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืขืก ืื•ืŸ Git ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ื–. ื“ื™ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• Git ืคืึทืจืฉืึทืคืŸ ื“ื™ "GitOps ืึธืคึผืขืจืึทื˜ืึธืจ" ืฆื• ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ื“ืขื ืงื ื•ื™ืœ:

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

  • Jenkins ืคึผื•ืฉื™ื– ื˜ืึทื’ื“ ื‘ื™ืœื“ืขืจ ืฆื• Quay;
  • ื“ื–ืฉืขื ืงื™ื ืก ืคึผื•ืฉื™ื– ืงืึทื ืคื™ื’ื™ืขืจ ืื•ืŸ ื”ืขืœื ื˜ืฉืึทืจืฅ ืฆื• ื“ื™ ื‘ืขืœ ืกื˜ืึธืจื™ื“ื–ืฉ ืขืžืขืจ;
  • ื“ื™ ื•ื•ืึธืœืงืŸ ืคื•ื ืงืฆื™ืข ืงืึทืคึผื™ื– ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื•ืŸ ื˜ืฉืึทืจืฅ ืคื•ืŸ ื“ื™ ื‘ืขืœ ืกื˜ืึธืจื™ื“ื–ืฉ ืขืžืขืจ ืฆื• ื“ื™ ื‘ืขืœ ื’ื™ื˜ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™;
  • ื“ืขืจ GitOps ืึธืคึผืขืจืึทื˜ืึธืจ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ื“ืขื ืงื ื•ื™ืœ.

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

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

3. Jenkins ื‘ื•ื™ืขืŸ - ืึทื ื˜ื•ื•ื™ืงืœืขืŸ ืึธื“ืขืจ ืฉื˜ืจื™ืš ืฆื•ื•ื™ื™ึทื’:

  • Jenkins ืคึผื•ืฉื™ื– ืึทื ื˜ืึทื’ื“ ื‘ื™ืœื“ืขืจ ืฆื• Quay;
  • Jenkins ืคึผื•ืฉื™ื– ืงืึทื ืคื™ื’ื™ืขืจ ืื•ืŸ ื”ืขืœื ื˜ืฉืึทืจืฅ ืื™ืŸ ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืกื˜ืึธืจื™ื“ื–ืฉ ืขืžืขืจ;
  • ื“ื™ ื•ื•ืึธืœืงืŸ ืคึฟื•ื ืงืฆื™ืข ืงืึทืคึผื™ื– ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื•ืŸ ื˜ืฉืึทืจืฅ ืคื•ืŸ ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืกื˜ืึธืจื™ื“ื–ืฉ ืขืžืขืจ ืฆื• ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœืขืŸ Git ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™;
  • ื“ืขืจ GitOps ืึธืคึผืขืจืึทื˜ืึธืจ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ื“ืขื ืงื ื•ื™ืœ.

4. ืึทื“ื™ื ื’ ืึท ื ื™ื™ึทืข ืงืœื™ืขื ื˜:

  • ื“ืขืจ ืคืึทืจื•ื•ืึทืœื˜ืขืจ ืึธื“ืขืจ ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจ (ืœืงื / ืึธืคึผืก) ืจื•ืคื˜ Gradle ืฆื• ื˜ื›ื™ืœืขืก ืฆืขื•ื•ื™ืงืœืขืŸ ืื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจ ื ืขืฅ ืžืึทืกืข ื‘ืึทืœืึทื ืกืขืจื– (NLBs);
  • LCM / ops ืงืึทืžื™ืฅ ืึท ื ื™ื™ึทืข ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืฆื• ืฆื•ื’ืจื™ื™ื˜ืŸ ื“ื™ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืคึฟืึทืจ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ;
  • ื“ืขืจ GitOps ืึธืคึผืขืจืึทื˜ืึธืจ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ื“ืขื ืงื ื•ื™ืœ.

ืงื•ืจืฅ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ GitOps

  1. ื‘ืึทืฉืจื™ื™ึทื‘ืŸ ื“ื™ ื’ืขื‘ืขื˜ืŸ ืฉื˜ืึทื˜ ืคื•ืŸ ื“ื™ ื’ืื ืฆืข ืกื™ืกื˜ืขื ื ื™ืฆืŸ ื“ืขืงืœืึทืจืึทื˜ื™ื•ื•ืข ืกืคึผืขืกืึทืคืึทืงื™ื™ืฉืึทื ื– ืคึฟืึทืจ ื™ืขื“ืขืจ ืกื•ื•ื™ื•ื•ืข (ืื™ืŸ ืื•ื ื“ื–ืขืจ ื“ืขืจืฆื™ื™ืœื•ื ื’, ื‘ืึธื‘ ืก ืžืึทื ืฉืึทืคึฟื˜ ื“ื™ืคื™ื™ื ื– ื“ื™ ื’ืื ืฆืข ืกื™ืกื˜ืขื ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื™ืŸ ื’ื™ื˜).
    • ื“ื™ Git ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืื™ื– ื“ืขืจ ืื™ื™ืŸ ืžืงื•ืจ ืคื•ืŸ ืืžืช ื•ื•ืขื’ืŸ ื“ืขืจ ื’ืขื•ื•ืืœื˜ ืฉื˜ืึทื˜ ืคื•ืŸ ื“ื™ ื’ืื ืฆืข ืกื™ืกื˜ืขื.
    • ื›ืœ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ืขืจ ื’ืขื•ื•ืืœื˜ ืฉื˜ืึทื˜ ื–ืขื ืขืŸ ื’ืขืžืื›ื˜ ื“ื•ืจืš ืงืึทืžื™ืฅ ืื™ืŸ ื’ื™ื˜.
    • ืึทืœืข ื“ื™ ื’ืขื‘ืขื˜ืŸ ืงื ื•ื™ืœ ืคึผืึทืจืึทืžืขื˜ืขืจืก ื–ืขื ืขืŸ ืื•ื™ืš ื‘ืืžืขืจืงื˜ ืื™ืŸ ื“ืขื ืงื ื•ื™ืœ ื–ื™ืš. ืื™ืŸ ื“ืขื ื•ื•ืขื’ ืžื™ืจ ืงืขื ืขืŸ ื‘ืึทืฉืœื™ืกืŸ ืฆื™ ื–ื™ื™ ืฆื•ื ื•ื™ืคืคืึทืœืŸ (ืงืึทื ื•ื•ืขืจื“ื–ืฉ, ืงืึทื ื•ื•ืขืจื“ื–ืฉ) ืึธื“ืขืจ ืึทื ื“ืขืจืฉ (ื“ื™ื•ื•ืขืจื“ื–ืฉ, ื“ื™ื™ื•ื•ืขืจื“ื–ืฉ) ื’ืขื•ื•ืืœื˜ ืื•ืŸ ื‘ืืžืขืจืงื˜ ืฉื˜ืึทื˜ืŸ.
  2. ืื•ื™ื‘ ื“ื™ ื’ืขื‘ืขื˜ืŸ ืื•ืŸ ื‘ืืžืขืจืงื˜ ืฉื˜ืึทื˜ืŸ ื–ืขื ืขืŸ ืึทื ื“ืขืจืฉ, ื“ืขืžืึธืœื˜:
    • ืขืก ืื™ื– ืึท ืงืึทื ื•ื•ืขืจื“ื–ืฉืึทื ืก ืžืขืงืึทื ื™ื–ืึทื ืึทื– ื’ื™ื›ืขืจ ืึธื“ืขืจ ืฉืคึผืขื˜ืขืจ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ืกื™ื ื’ืงืจืึทื ื™ื™ื– ื“ื™ ืฆื™ืœ ืื•ืŸ ื‘ืืžืขืจืงื˜ ืฉื˜ืึทื˜ืŸ. ืื™ืŸ ื“ืขื ืงื ื•ื™ืœ, Kubernetes ื˜ื•ื˜ ื“ืึธืก.
    • ื“ืขืจ ืคึผืจืึธืฆืขืก ืกื˜ืึทืจืฅ ื’ืœื™ื™ืš ืžื™ื˜ ืึท "ื˜ื•ื™ืฉืŸ ื‘ืื’ืื ื’ืขืŸ" ืคืœื™ื ืง.
    • ื ืึธืš ืขื˜ืœืขื›ืข ืงืึธื ืคื™ื’ื•ืจืึทื‘ืœืข ืฆื™ื™ื˜, ืึท "ื“ื™ืคืฃ" ืคืœื™ื ืง ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืฉื™ืงื˜ ืื•ื™ื‘ ื“ื™ ืฉื˜ืึทื˜ืŸ ื–ืขื ืขืŸ ืึทื ื“ืขืจืฉ.
  3. ืื•ื™ืฃ ื“ืขื ื•ื•ืขื’, ืึทืœืข ืงืึทืžื™ืฅ ืื™ืŸ Git ืคืึทืจืฉืึทืคืŸ ื•ื•ืขืจืึทืคื™ื™ืึทื‘ืึทืœ ืื•ืŸ ื•ื™ื“ืขืคื“ื™ืง ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ ืฆื• ื“ืขื ืงื ื•ื™ืœ.
    • ืจืึธื•ืœื‘ืึทืง ืื™ื– ืงืึทื ื•ื•ืขืจื“ื–ืฉืึทื ืก ืฆื• ืึท ืคืจื™ืขืจ ื’ืขื•ื•ืืœื˜ ืฉื˜ืึทื˜.
  4. ื“ื™ ืงืึทื ื•ื•ืขืจื“ื–ืฉืึทื ืก ืื™ื– ืœืขืฆื˜. ื–ื™ื™ึทืŸ ืคึผืึทืกื™ืจื•ื ื’ ืื™ื– ื™ื ื“ืึทืงื™ื™ื˜ื™ื“ ื“ื•ืจืš:
    • ืงื™ื™ืŸ ื—ื™ืœื•ืง ืึทืœืขืจืฅ ืคึฟืึทืจ ืึท ื–ื™ื›ืขืจ ืฆื™ื™ื˜.
    • "ืงืึทื ื•ื•ืขืจื“ื–ืฉื“" ืคืœื™ื ืง (ืœืžืฉืœ ื•ื•ืขื‘ื”ืึธืึธืง, ื’ื™ื˜ ืฉืจื™ื™ื‘ื‘ืึทืง ื’ืขืฉืขืขื ื™ืฉ).

ื•ื•ืึธืก ืื™ื– ื“ื™ื•ื•ืขืจื“ื–ืฉืึทื ืก?

ืœืืžื™ืจ ื ืื›ืืžืืœ ืื™ื‘ืขืจื—ื–ืจืŸ: ืึทืœืข ื’ืขื•ื•ืืœื˜ ืงื ื•ื™ืœ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ืžื•ื–ืŸ ื–ื™ื™ืŸ ื‘ืืžืขืจืงื˜ ืื™ืŸ ื“ืขื ืงื ื•ื™ืœ ื–ื™ืš.

ืขื˜ืœืขื›ืข ื‘ื™ื™ืฉืคื™ืœืŸ ืคื•ืŸ ื“ื™ืคืขืจืึทื ืกื™ื–:

  • ื˜ื•ื™ืฉืŸ ืื™ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข ืจืขื›ื˜ ืฆื• ืฆื•ื ื•ื™ืคื’ื™ืกืŸ ืฆื•ื•ื™ื™ื’ืŸ ืื™ืŸ Git.
  • ื ืขื ื“ืขืจื•ื ื’ ืื™ืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข ืจืขื›ื˜ ืฆื• ืึท Git commit ื’ืขืžืื›ื˜ ื“ื•ืจืš ื“ื™ GUI ืงืœื™ืขื ื˜.
  • ืงื™ื™ืคืœ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ืขืจ ื’ืขื•ื•ืืœื˜ ืฉื˜ืึทื˜ ืจืขื›ื˜ ืฆื• PR ืื™ืŸ Git ื ืื›ื’ืขื’ืื ื’ืขืŸ ื“ื•ืจืš ื‘ื•ื™ืขืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ื‘ื™ืœื“ ืื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจ ืขื ื“ืขืจื•ื ื’ืขืŸ.
  • ื ืขื ื“ืขืจื•ื ื’ ืื™ืŸ ื“ื™ ืฉื˜ืึทื˜ ืคื•ืŸ ื“ื™ ืงื ื•ื™ืœ ืจืขื›ื˜ ืฆื• ืึท ื˜ืขื•ืช, ืžื™ื˜ืœ ืงืึธื ืคืœื™ืงื˜ ืจื™ื–ืึทืœื˜ื™ื ื’ ืื™ืŸ "ืฉืœืขื›ื˜ ื ืึทื˜ื•ืจ", ืึธื“ืขืจ ืคืฉื•ื˜ ื˜ืจืึทืค - ื“ื™ื•ื•ื™ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ืขืจ ืึธืจื™ื’ื™ื ืขืœ ืฉื˜ืึทื˜.

ื•ื•ืึธืก ืื™ื– ื“ืขืจ ืžืขืงืึทื ื™ื–ืึทื ืคื•ืŸ ืงืึทื ื•ื•ืขืจื“ื–ืฉืึทื ืก?

ืขื˜ืœืขื›ืข ื‘ื™ื™ืฉืคื™ืœืŸ:

  • ืคึฟืึทืจ ืงืึทื ื˜ื™ื™ื ืขืจื– ืื•ืŸ ืงืœืึทืกื˜ืขืจื–, ื“ื™ ืงืึทื ื•ื•ืขืจื“ื–ืฉืึทื ืก ืžืขืงืึทื ื™ื–ืึทื ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜ ื“ื•ืจืš Kubernetes.
  • ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืžืขืงืึทื ื™ื–ืึทื ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ืคื™ืจืŸ Kubernetes-ื‘ืื–ื™ืจื˜ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื•ืŸ ื“ื™ื–ื™ื™ื ื– (ืึทื–ืึท ื•ื•ื™ Istio ืื•ืŸ Kubeflow).
  • ื ืžืขืงืึทื ื™ื–ืึทื ืคึฟืึทืจ ืึธื ืคื™ืจื•ื ื’ ื“ื™ ืึทืคึผืขืจื™ื™ืฉืึทื ืึทืœ ื™ื ื˜ืขืจืึทืงืฉืึทืŸ ืฆื•ื•ื™ืฉืŸ Kubernetes, ื‘ื™ืœื“ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ื– ืื•ืŸ ื’ื™ื˜ ื’ื™ื˜ GitOps ืึธืคึผืขืจืึทื˜ืึธืจ Weave Flux, ื•ื•ืึธืก ืื™ื– ื˜ื™ื™ืœ ื•ื•ื™ื•ื• ืงืœืึธื•ื“.
  • ืคึฟืึทืจ ื‘ืึทื–ืข ืžืืฉื™ื ืขืŸ, ื“ื™ ืงืึทื ื•ื•ืขืจื“ื–ืฉืึทื ืก ืžืขืงืึทื ื™ื–ืึทื ืžื•ื–ืŸ ื–ื™ื™ืŸ ื“ืขืงืœืึทืจืึทื˜ื™ื•ื•ืข ืื•ืŸ ืึธื˜ืึทื ืึทืžืึทืก. ืคื•ืŸ ืื•ื ื“ื–ืขืจ ืื™ื™ื’ืขื ืข ื“ืขืจืคืึทืจื•ื ื’ ืžื™ืจ ืงืขื ืขืŸ ื–ืึธื’ืŸ ืึทื– Terraform ืงืœืึธื•ืกืึทืกื˜ ืฆื• ื“ืขื ื“ืขืคึฟื™ื ื™ืฆื™ืข, ืึธื‘ืขืจ ื ืึธืš ืจื™ืงื•ื•ื™ื™ืขืจื– ืžืขื ื˜ืฉ ืงืึธื ื˜ืจืึธืœ. ืื™ืŸ ื“ืขื ื–ื™ื ืขืŸ, GitOps ื™ืงืกื˜ืขื ื“ื– ื“ื™ ืžืกื•ืจื” ืคื•ืŸ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ื•ื•ื™ ืงืึธื“.

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

GitOps ืึทืœืึทื•ื– ืื•ื ื“ื– ืฆื• ื–ืึธื’ืŸ: ื‘ืœื•ื™ื– ื“ื™ ืกื™ืกื˜ืขืžืขืŸ ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื“ื™ืกืงืจื™ื™ื‘ื“ ืื•ืŸ ื‘ืืžืขืจืงื˜ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืึธื˜ืึทืžื™ื™ื˜ื™ื“ ืื•ืŸ ืงืึทื ื˜ืจืึธื•ืœื“.

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

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

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

ืขืก ืื™ื– ืึท ืฉื˜ืึทืจืง ืคืึธืงื•ืก ืื•ื™ืฃ ืึทืคึผืœื™ื™ื™ื ื’ GitOps ืงืึทื ืกืขืคึผืก ืฆื• ืœื™ื™ึทืขืจืก ืื•ื™ืฃ ืฉืคึผื™ืฅ ืคื•ืŸ Kubernetes. ื“ืขืจื•ื•ื™ื™ึทืœ, ืขืก ื–ืขื ืขืŸ GitOps-ื˜ื™ืคึผ ืกืึทืœื•ืฉืึทื ื– ืคึฟืึทืจ Istio, Helm, Ksonnet, OpenFaaS ืื•ืŸ Kubeflow, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืคึฟืึทืจ Pulumi, ื•ื•ืึธืก ืฉืึทืคึฟืŸ ืึท ืฉื™ื›ื˜ืข ืคึฟืึทืจ ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืคึฟืึทืจ ื•ื•ืึธืœืงืŸ ื’ืขื‘ื•ื™ืจืŸ.

Kubernetes CI / CD: ืงืึทืžืคึผืขืจื™ื ื’ GitOps ืžื™ื˜ ืื ื“ืขืจืข ืึทืคึผืจืึธื•ื˜ืฉื™ื–

ื•ื•ื™ ื’ืขื–ืึธื’ื˜, GitOps ืื™ื– ืฆื•ื•ื™ื™ ื˜ื™ื ื’ื–:

  1. ื“ื™ ืึทืคึผืขืจื™ื™ื˜ื™ื ื’ ืžืึธื“ืขืœ ืคึฟืึทืจ Kubernetes ืื•ืŸ ื•ื•ืึธืœืงืŸ ื’ืขื‘ื•ื™ืจืŸ ื“ื™ืกืงืจื™ื™ื‘ื“ ืื•ื™ื‘ืŸ.
  2. ื“ืขืจ ื“ืจืš ืฆื• ืึท ื“ืขื•ื•ืขืœืึธืคึผืขืจ-ืกืขื ื˜ืจื™ืง ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืกื•ื•ื™ื•ื•ืข.

ืคึฟืึทืจ ืคื™ืœืข, GitOps ืื™ื– ื‘ืคึฟืจื˜ ืึท ื•ื•ืึธืจืงืคืœืึธื•ื• ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื’ื™ื˜ ืคึผื•ืฉื™ื–. ืžื™ืจ ื”ืื‘ืŸ ืื™ื ืื•ื™ืš ืœื™ื‘. ืึธื‘ืขืจ ื“ืึธืก ืื™ื– ื ื™ืฉื˜ ืึทืœืข: ืœืึธืžื™ืจ ืื™ืฆื˜ ืงื•ืง ืื™ืŸ CI / CD ืคึผื™ื™ืคึผืœื™ื™ื ื–.

GitOps ื™ื ื™ื™ื‘ืึทืœื– ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ (ืกื™) ืคึฟืึทืจ Kubernetes

GitOps ืึธืคืคืขืจืก ืึท ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืžืขืงืึทื ื™ื–ืึทื ื•ื•ืึธืก ื™ืœื™ืžืึทื ื™ื™ืฅ ื“ื™ ื ื•ื™ื˜ ืคึฟืึทืจ ื‘ืึทื–ื•ื ื“ืขืจ "ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืกื™ืกื˜ืขืžืขืŸ." Kubernetes ื˜ื•ื˜ ืึทืœืข ื“ื™ ืึทืจื‘ืขื˜ ืคึฟืึทืจ ืื™ืจ.

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

ืึธืŸ ืงื•ื‘ืขืงื˜ืœ ืื•ืŸ ืกืงืจื™ืคึผืก

ืื™ืจ ื–ืึธืœ ื•ื™ืกืžื™ื™ื“ืŸ ื ื™ืฆืŸ Kubectl ืฆื• ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ื“ื™ื™ืŸ ืงื ื•ื™ืœ, ืื•ืŸ ืกืคึผืขืฆื™ืขืœ ื•ื™ืกืžื™ื™ื“ืŸ ื ื™ืฆืŸ ืกืงืจื™ืคึผืก ืฆื• ื’ืจื•ืคึผืข kubectl ืงืึทืžืึทื ื“ื–. ืึทื ืฉื˜ืึธื˜, ืžื™ื˜ ื“ื™ GitOps ืจืขืจื  - ืœื™ื ื™ืข, ืึท ื‘ืึทื ื™ืฆืขืจ ืงืขื ืขืŸ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ื–ื™ื™ืขืจ Kubernetes ืงื ื•ื™ืœ ื“ื•ืจืš Git.

Benefits ืึทืจื™ื™ึทื ื ืขืžืขืŸ:

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

ื“ืขืจ ื—ื™ืœื•ืง ืฆื•ื•ื™ืฉืŸ ืกื™ ืื•ืŸ ืกื™

GitOps ื™ืžืคึผืจื•ื•ื•ื– ื™ื’ื–ื™ืกื˜ื™ื ื’ ืกื™ / ืงืึธืžืคึผืึทืงื˜ื“ื™ืกืง ืžืึธื“ืขืœืก.

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

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

ืคืืจื•ื•ืืก CI ืกืขืจื•ื•ืขืจืก ื–ืึธืœ ื ื™ืฉื˜ ื˜ืึธืŸ ืงื“ืก ื“ื•ืจืš ื“ื™ืจืขืงื˜ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ ืื™ืŸ Kubernetes

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

ืœืึธืžื™ืจ ื’ื™ื™ืŸ ืฆื•ืจื™ืง ืฆื• ืึทืœื™ืก ืื•ืŸ ื‘ืึธื‘.

ื•ื•ืึธืก ืคึผืจืึธื‘ืœืขืžืก ื”ืึธื‘ืŸ ื–ื™ื™ ืคึผื ื™ื? Bob's CI ืกืขืจื•ื•ืขืจ ืึทืคึผืœื™ื™ื– ื“ื™ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ื™ ืงื ื•ื™ืœ, ืึธื‘ืขืจ ืื•ื™ื‘ ืขืก ืงืจืึทืฉื™ื– ืื™ืŸ ื“ืขื ืคึผืจืึธืฆืขืก, ื‘ืึธื‘ ื•ื•ืขื˜ ื ื™ืฉื˜ ื•ื•ื™ืกืŸ ืื™ืŸ ื•ื•ืึธืก ืฉื˜ืึทื˜ ื“ื™ ืงื ื•ื™ืœ ืื™ื– (ืึธื“ืขืจ ื–ืึธืœ ื–ื™ื™ืŸ) ืึธื“ืขืจ ื•ื•ื™ ืฆื• ืคืึทืจืจื™ื›ื˜ืŸ ืขืก. ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืื™ื– ืืžืช ืื™ืŸ ืคืึทืœ ืคื•ืŸ ื”ืฆืœื—ื”.

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

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

  • ืื™ื– ื“ืขืจ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืจืึธื•ืœื“ ืื•ื™ืก?
  • ื–ืขื ืขืŸ ืžื™ืจ ืœืึธื ื˜ืฉื™ื ื’ ืึท ื ื™ื™ึท ื‘ื•ื™ืขืŸ? ื•ื•ืขื˜ ื“ืึธืก ืคื™ืจืŸ ืฆื• ื•ืžื ื™ื™ื˜ื™ืง ื–ื™ื™ึทื˜ ื™ืคืขืงืฅ - ืžื™ื˜ ื“ื™ ืžืขื’ืœืขื›ืงื™ื™ื˜ ืคื•ืŸ ืฆื•ื•ื™ื™ ื‘ื™ืœื“ืขืจ ืคื•ืŸ ื“ื™ ื–ืขืœื‘ืข ื™ืžื™ื•ื˜ืึทื‘ืึทืœ ื‘ื™ืœื“?
  • ื–ืึธืœ ืžื™ืจ ื•ื•ืึทืจื˜ืŸ ืคึฟืึทืจ ื“ื™ ื•ื•ื™ื™ึทื˜ืขืจ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืื™ื™ื“ืขืจ ืคืœื™ืกื ื“ื™ืง ื“ื™ ื‘ื•ื™ืขืŸ?
  • ื•ื•ืึธืก ืคึผื•ื ืงื˜ ืื™ื– ืคืึทืœืฉ? ื•ื•ืึธืก ืกื˜ืขืคึผืก ื“ืึทืจืคึฟืŸ ืฆื• ื–ื™ื™ืŸ ืจื™ืคึผื™ื˜ื™ื“ (ืื•ืŸ ื•ื•ืึธืก ื–ืขื ืขืŸ ื–ื™ื›ืขืจ ืฆื• ืื™ื‘ืขืจื—ื–ืจืŸ)?

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

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

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

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

GitOps ื•ื•ื™ ื“ืขืจ ื‘ืขืกื˜ืขืจ ื•ื•ืขื’ ืฆื• ื™ื ืกื˜ืจื•ืžืขื ื˜ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ืขืงืกืคึผืจืขืก ืคึฟืึทืจ Kubernetes

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

ืึทืคึผืขืจื™ื™ื˜ื™ื ื’ ืžืึธื“ืขืœ ืคึฟืึทืจ Kubernetes

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

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

ื•ื•ืึธืก ื–ืขื ืขืŸ ื“ื™ ื”ื•ื™ืคึผื˜ ืคื™ื™ื ื“ื™ื ื’ื–?

  1. ืฆืขืฉื™ื™ื“ื•ื ื’ ืคื•ืŸ ืงืึทื ืกืขืจื ื–: ื‘ื™ื˜ืข ื˜ืึธืŸ ืึทื– ื‘ื™ื™ื“ืข ืคึผื™ื™ืคึผืœื™ื™ื ื– ืงืขื ืขืŸ ื ืึธืจ ื™ื‘ืขืจื’ืขื‘ืŸ ื“ื•ืจืš ืึทืคึผื“ื™ื™ื˜ื™ื ื’ Git ืึธื“ืขืจ ื“ื™ ื‘ื™ืœื“ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™. ืื™ืŸ ืื ื“ืขืจืข ื•ื•ืขืจื˜ืขืจ, ืขืก ืื™ื– ืึท ืคื™ื™ืจื•ื•ืึทืœ ืฆื•ื•ื™ืฉืŸ CI ืื•ืŸ ื“ื™ ืจื•ื ื˜ื™ืžืข ืกื•ื•ื™ื•ื•ืข. ืžื™ืจ ืจื•ืคืŸ ืขืก ื“ื™ "ื™ืžืžื•ื˜ืึทื‘ื™ืœื™ื˜ื™ ืคื™ื™ืจื•ื•ืึทืœ" (ื™ืžืžื•ื˜ืึทื‘ื™ืœื™ื˜ื™ ืคื™ื™ืจื•ื•ืึทืœ), ื–ื™ื ื˜ ืึทืœืข ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ ืฉืึทืคึฟืŸ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืขืก. ืคึฟืึทืจ ืžืขืจ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืื•ื™ืฃ ื“ืขื ื˜ืขืžืข, ืึธืคึผืฉื™ืงืŸ ืฆื• ืกืœื™ื™ื“ื– 72-87 ื“ืขื ืคึผืจืขื–ืขื ื˜ื™ืจื•ื ื’.
  2. ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ืงื™ื™ืŸ ืกื™ ืื•ืŸ ื’ื™ื˜ ืกืขืจื•ื•ืขืจ: GitOps ืึทืจื‘ืขื˜ ืžื™ื˜ ืงื™ื™ืŸ ืงืึธืžืคึผืึธื ืขื ื˜. ืื™ืจ ืงืขื ื˜ ืคืึธืจื–ืขืฆืŸ ืฆื• ื ื•ืฆืŸ ื“ื™ื™ืŸ ื‘ืึทืœื™ื‘ืกื˜ืข CI ืื•ืŸ Git ืกืขืจื•ื•ืขืจืก, ื‘ื™ืœื“ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ื– ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ืกื•ื•ื™ืฅ. ื›ึผืžืขื˜ ืึทืœืข ืื ื“ืขืจืข ืงืึทื ื˜ื™ื ื™ื•ืึทืก ืขืงืกืคึผืจืขืก ืžื›ืฉื™ืจื™ื ืื•ื™ืฃ ื“ื™ ืžืึทืจืง ื“ืึทืจืคืŸ ื–ื™ื™ืขืจ ืื™ื™ื’ืขื ืข ืกื™ / ื’ื™ื˜ ืกืขืจื•ื•ืขืจ ืึธื“ืขืจ ื‘ื™ืœื“ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™. ื“ืึธืก ืงืขืŸ ื–ื™ื™ืŸ ืึท ืœื™ืžืึทื˜ื™ื ื’ ืคืึทืงื˜ืึธืจ ืื™ืŸ ื“ืขืจ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ ื•ื•ืึธืœืงืŸ ื’ืขื‘ื•ื™ืจืŸ. ืžื™ื˜ GitOps, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื‘ืึทืงืึทื ื˜ ืžื›ืฉื™ืจื™ื.
  3. ื’ืขืฉืขืขื ื™ืฉืŸ ื•ื•ื™ ืึทืŸ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ ื’ืขืฆื™ื™ึทื’: ื•ื•ื™ ื‘ืึทืœื“ ื•ื•ื™ ื“ืึทื˜ืŸ ืื™ืŸ Git ื–ืขื ืขืŸ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜, Weave Flux (ืึธื“ืขืจ ื“ื™ Weave Cloud ืึธืคึผืขืจืึทื˜ืึธืจ) ื ืึธื•ื˜ืึทืคื™ื™ื– ืจื•ื ื˜ื™ืžืข. ื•ื•ืขืŸ Kubernetes ืึทืงืกืขืคึผืฅ ืึท ืขื ื“ืขืจื•ื ื’ ืฉื˜ืขืœืŸ, ื’ื™ื˜ ืื™ื– ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜. ื“ืึธืก ื’ื™ื˜ ืึท ืคึผืฉื•ื˜ ื™ื ืึทื’ืจื™ื™ืฉืึทืŸ ืžืึธื“ืขืœ ืคึฟืึทืจ ืึธืจื’ืึทื ื™ื™ื–ื™ื ื’ ื•ื•ืึธืจืงืคืœืึธื•ื•ืก ืคึฟืึทืจ GitOps, ื•ื•ื™ ื’ืขื•ื•ื™ื–ืŸ ืื•ื ื˜ืŸ.

ืกืึธืฃ

GitOps ื’ื™ื˜ ื“ื™ ืฉื˜ืึทืจืง ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ื’ืขืจืึทื ื˜ื™ื– ืคืืจืœืื ื’ื˜ ื“ื•ืจืš ืงื™ื™ืŸ ืžืึธื“ืขืจืŸ CI / CD ื’ืขืฆื™ื™ึทื’:

  • ืึธื˜ืึทืžื™ื™ืฉืึทืŸ;
  • ืงืึทื ื•ื•ืขืจื“ื–ืฉืึทื ืก;
  • ืื™ื“ืขืžืคึผืึธื˜ืขื ืกื™;
  • ื“ืขื˜ืขืจืžื™ื ื™ื–ื.

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

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

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

ืคึผืก ืคื•ืŸ ืื™ื‘ืขืจื–ืขืฆืขืจ

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

ื‘ืœื•ื™ื– ืจืขื’ื™ืกื˜ืจื™ืจื˜ ื ื™ืฆืขืจืก ืงืขื ืขืŸ ืึธื ื˜ื™ื™ืœ ื ืขืžืขืŸ ืื™ืŸ ื“ื™ ื™ื‘ืขืจื‘ืœื™ืง. ืกื™ื™ืŸ ืืจื™ื™ืŸื‘ื™ื˜ืข.

ืฆื™ ื”ืึธื˜ ืื™ืจ ื•ื•ื™ืกืŸ ื•ื•ืขื’ืŸ GitOps ืื™ื™ื“ืขืจ ื“ื™ ืฆื•ื•ื™ื™ ืื™ื‘ืขืจื–ืขืฆื•ื ื’ืขืŸ ืืจื•ื™ืก ืื•ื™ืฃ Habrรฉ?

  • ื™ืึธ, ืื™ืš ื”ืึธื‘ ืึทืœืฅ ื’ืขื•ื•ืื•ืกื˜

  • ื ืึธืจ ืื•ื™ื‘ื ืื•ื™ืคื™ืงืขืจ

  • ืงื™ื™ืŸ

35 ื‘ืื ื•ืฆืขืจ ื”ืื‘ืŸ ื’ืขืฉื˜ื™ืžื˜. 10 ื‘ืื ื•ืฆืขืจ ื”ืื‘ืŸ ื–ื™ืš ืืคื’ืขื”ืืœื˜ืŸ.

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

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