GitOps: ืขื•ื“ ืžื™ืœืช ื‘ืื– ืื• ืคืจื™ืฆืช ื“ืจืš ื‘ืื•ื˜ื•ืžืฆื™ื”?

GitOps: ืขื•ื“ ืžื™ืœืช ื‘ืื– ืื• ืคืจื™ืฆืช ื“ืจืš ื‘ืื•ื˜ื•ืžืฆื™ื”?

ืจื•ื‘ื ื•, ืฉืžื‘ื—ื™ื ื™ื ื‘ืžื•ื ื— ื—ื“ืฉ ื ื•ืกืฃ ื‘ื‘ืœื•ื’ื•ืกืคื™ืจืช ื”-IT ืื• ื‘ื›ื ืก, ืฉื•ืืœื™ื ื‘ืžื•ืงื“ื ืื• ื‘ืžืื•ื—ืจ ืฉืืœื” ื“ื•ืžื”: "ืžื” ื–ื”? ืกืชื ืขื•ื“ ืžื™ืœืช ื‘ืื–, "ืžื™ืœืช ื‘ืื–ื–" ืื• ืžืฉื”ื• ืฉื‘ืืžืช ืจืื•ื™ ืœืชืฉื•ืžืช ืœื‘, ืœื™ืžื•ื“ ื•ื”ื‘ื˜ื—ื” ืœืื•ืคืงื™ื ื—ื“ืฉื™ื?" ืื•ืชื• ื“ื‘ืจ ืงืจื” ืœื™ ืขื ื”ืžื•ื ื— GitOps ืœืคื ื™ ื›ืžื” ื–ืžืŸ. ื—ืžื•ืฉ ื‘ืžืืžืจื™ื ืงื™ื™ืžื™ื ืจื‘ื™ื, ื›ืžื• ื’ื ื‘ื™ื“ืข ืฉืœ ืขืžื™ืชื™ื ืžื”ื—ื‘ืจื” GitLab, ื ื™ืกื™ืชื™ ืœื”ื‘ื™ืŸ ืื™ื–ื” ืกื•ื’ ืฉืœ ื—ื™ื” ื–ื•, ื•ืื™ืš ื”ืฉื™ืžื•ืฉ ื‘ื” ืขืฉื•ื™ ืœื”ื™ืจืื•ืช ื‘ืคื•ืขืœ.

ืื’ื‘, ืœื’ื‘ื™ ื”ื—ื™ื“ื•ืฉ ืฉืœ ื”ืžื•ื ื— GitOps ื’ื ื”ืกืงืจ ื”ืื—ืจื•ืŸ ืฉืœื ื• ืื•ืžืจ: ื™ื•ืชืจ ืžืžื—ืฆื™ืช ืžื”ื ืกืงืจื™ื ืขื“ื™ื™ืŸ ืœื ื”ืชื—ื™ืœื• ืœืขื‘ื•ื“ ืขื ืขืงืจื•ื ื•ืชื™ื•.

ืœื›ืŸ, ื”ื‘ืขื™ื” ืฉืœ ื ื™ื”ื•ืœ ืชืฉืชื™ืช ืื™ื ื” ื—ื“ืฉื”. ืกืคืงื™ ืขื ืŸ ืจื‘ื™ื ื–ืžื™ื ื™ื ืœืฆื™ื‘ื•ืจ ื”ืจื—ื‘ ื›ื‘ืจ ืชืจื™ืกืจ ืฉื ื™ื ื˜ื•ื‘ื•ืช, ื•ืœื›ืื•ืจื” ื”ื™ื• ืฆืจื™ื›ื™ื ืœื”ืคื•ืš ืืช ืขื‘ื•ื“ืช ื”ืฆื•ื•ืชื™ื ื”ืื—ืจืื™ื ืขืœ ื”ืชืฉืชื™ืช ืœืคืฉื•ื˜ื” ื•ืคืฉื•ื˜ื”. ืขื ื–ืืช, ื‘ื”ืฉื•ื•ืื” ืœืชื”ืœื™ืš ืคื™ืชื•ื— ื”ืืคืœื™ืงืฆื™ื•ืช (ืฉื‘ื• ื”ืื•ื˜ื•ืžืฆื™ื” ืžื’ื™ืขื” ืœืจืžื•ืช ื—ื“ืฉื•ืช), ืคืจื•ื™ืงื˜ื™ ืชืฉืชื™ืช ืขื“ื™ื™ืŸ ื›ืจื•ื›ื™ื ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื‘ืžืฉื™ืžื•ืช ื™ื“ื ื™ื•ืช ืจื‘ื•ืช ื•ื“ื•ืจืฉื™ื ื™ื“ืข ื•ืžื•ืžื—ื™ื•ืช ืžื™ื•ื—ื“ื™ื, ื‘ืžื™ื•ื—ื“ ื‘ื”ืชื—ืฉื‘ ื‘ื“ืจื™ืฉื•ืช ืฉืœ ื”ื™ื•ื ืœืกื•ื‘ืœื ื•ืช ืชืงืœื•ืช, ื’ืžื™ืฉื•ืช, ืžื“ืจื’ื™ื•ืช ื•ื’ืžื™ืฉื•ืช.

ืฉื™ืจื•ืชื™ ืขื ืŸ ืžื™ืœืื• ืืช ื”ื“ืจื™ืฉื•ืช ื”ืœืœื• ื‘ื”ืฆืœื—ื” ืจื‘ื” ื•ื”ื ืฉื ืชื ื• ืชื ื•ืคื” ืžืฉืžืขื•ืชื™ืช ืœืคื™ืชื•ื— ื”ื’ื™ืฉื” IaC. ื–ื” ืžื•ื‘ืŸ. ืื—ืจื™ ื”ื›ืœ, ื”ื ืืคืฉืจื• ืœื”ื’ื“ื™ืจ ืžืจื›ื– ื ืชื•ื ื™ื ื•ื™ืจื˜ื•ืืœื™ ืœื—ืœื•ื˜ื™ืŸ: ืื™ืŸ ืฉืจืชื™ื ืคื™ื–ื™ื™ื, ืžืชืœื™ื ืื• ืจื›ื™ื‘ื™ ืจืฉืช; ื ื™ืชืŸ ืœืชืืจ ืืช ื›ืœ ื”ืชืฉืชื™ืช ื‘ืืžืฆืขื•ืช ืกืงืจื™ืคื˜ื™ื ื•ืงื‘ืฆื™ ืชืฆื•ืจื”.

ืื– ืžื” ื‘ืขืฆื ื”ื”ื‘ื“ืœ? GitOps ืž IaC? ืขื ื”ืฉืืœื” ื”ื–ื• ื”ืชื—ืœืชื™ ืืช ื”ื—ืงื™ืจื” ืฉืœื™. ืœืื—ืจ ืฉื•ื—ื—ืชื™ ืขื ืขืžื™ืชื™ื, ื”ืฆืœื—ืชื™ ืœื”ื’ื™ืข ืœื”ืฉื•ื•ืื” ื”ื‘ืื”:

GitOps

IaC

ื›ืœ ื”ืงื•ื“ ืžืื•ื—ืกืŸ ื‘ืžืื’ืจ git

ื ื™ื”ื•ืœ ื’ืจืกืื•ืช ืงื•ื“ ื”ื•ื ืื•ืคืฆื™ื•ื ืœื™

ืงื•ื“ ื”ืฆื”ืจืชื™ ืชื™ืื•ืจ / ืื™ืžืคื•ื˜ื ืฆื™ื”

ื”ืŸ ืชื™ืื•ืจื™ื ื”ืฆื”ืจืชื™ื™ื ื•ื”ืŸ ืชื™ืื•ืจื™ื ืฆื™ื•ื•ื™ื™ื ืžืงื•ื‘ืœื™ื

ื”ืฉื™ื ื•ื™ื™ื ื ื›ื ืกื™ื ืœืชื•ืงืฃ ื‘ืืžืฆืขื•ืช ืžื ื’ื ื•ื ื™ ื‘ืงืฉืช ื”ืžื™ื–ื•ื’ / Pull Request

ื”ืกื›ื, ืื™ืฉื•ืจ ื•ืฉื™ืชื•ืฃ ืคืขื•ืœื” ื”ื ืื•ืคืฆื™ื•ื ืœื™ื™ื

ืชื”ืœื™ืš ื”ืฉืงืช ื”ืขื“ื›ื•ื ื™ื ื”ื•ื ืื•ื˜ื•ืžื˜ื™

ืชื”ืœื™ืš ื”ืฉืงืช ื”ืขื“ื›ื•ื ื™ื ืื™ื ื• ืกื˜ื ื“ืจื˜ื™ (ืื•ื˜ื•ืžื˜ื™, ื™ื“ื ื™, ื”ืขืชืงืช ืงื‘ืฆื™ื, ืฉื™ืžื•ืฉ ื‘ืฉื•ืจืช ื”ืคืงื•ื“ื” ื•ื›ื•')

ื‘ืžื™ืœื™ื ืื—ืจื•ืช GitOps ื ื•ืœื“ ื“ื•ื•ืงื ื“ืจืš ื™ื™ืฉื•ื ื”ืขืงืจื•ื ื•ืช IaC. ืจืืฉื™ืช, ื›ืขืช ื ื™ืชืŸ ืœืื—ืกืŸ ืชืฉืชื™ืช ื•ืชืฆื•ืจื•ืช ื‘ืื•ืชื• ืื•ืคืŸ ื›ืžื• ื™ื™ืฉื•ืžื™ื. ืงืœ ืœืื—ืกืŸ ืืช ื”ืงื•ื“, ืงืœ ืœืฉืชืฃ, ืœื”ืฉื•ื•ืช ื•ืœื”ืฉืชืžืฉ ื‘ื™ื›ื•ืœื•ืช ื ื™ื”ื•ืœ ื’ืจืกืื•ืช. ื’ืจืกืื•ืช, ืกื ื™ืคื™ื, ื”ื™ืกื˜ื•ืจื™ื”. ื•ื›ืœ ื–ื” ื‘ืžืงื•ื ื ื’ื™ืฉ ืœืฆื™ื‘ื•ืจ ืœื›ืœ ื”ืฆื•ื•ืช. ืœื›ืŸ, ื”ืฉื™ืžื•ืฉ ื‘ืžืขืจื›ื•ืช ื‘ืงืจืช ื’ืจืกืื•ืช ื”ืคืš ืœื”ืชืคืชื—ื•ืช ื˜ื‘ืขื™ืช ืœื—ืœื•ื˜ื™ืŸ. ื‘ืคืจื˜, git, ื‘ืชื•ืจ ื”ืคื•ืคื•ืœืจื™ ื‘ื™ื•ืชืจ.

ืžืฆื“ ืฉื ื™, ืืคืฉืจ ื”ื™ื” ืœื‘ืฆืข ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืชื”ืœื™ื›ื™ ื ื™ื”ื•ืœ ืชืฉืชื™ื•ืช. ื›ืขืช ื ื™ืชืŸ ืœืขืฉื•ืช ื–ืืช ืžื”ืจ ื™ื•ืชืจ, ืืžื™ืŸ ื™ื•ืชืจ ื•ื–ื•ืœ ื™ื•ืชืจ. ื™ืชืจ ืขืœ ื›ืŸ, ื”ืขืงืจื•ื ื•ืช ืฉืœ CI / CD ื›ื‘ืจ ื”ื™ื• ื™ื“ื•ืขื™ื ื•ืคื•ืคื•ืœืจื™ื™ื ื‘ืงืจื‘ ืžืคืชื—ื™ ืชื•ื›ื ื”. ื”ื™ื” ืฆื•ืจืš ืจืง ืœื”ืขื‘ื™ืจ ื•ืœื™ื™ืฉื ื™ื“ืข ื•ืžื™ื•ืžื ื•ื™ื•ืช ื™ื“ื•ืขื™ื ืœืชื—ื•ื ื—ื“ืฉ. ืฉื™ื˜ื•ืช ืขื‘ื•ื“ื” ืืœื•, ืœืขื•ืžืช ื–ืืช, ื—ืจื’ื• ืžื”ื”ื’ื“ืจื” ื”ืกื˜ื ื“ืจื˜ื™ืช ืฉืœ ืชืฉืชื™ืช ื›ืงื•ื“, ื•ืžื›ืืŸ ื”ืจืขื™ื•ืŸ GitOps.

GitOps: ืขื•ื“ ืžื™ืœืช ื‘ืื– ืื• ืคืจื™ืฆืช ื“ืจืš ื‘ืื•ื˜ื•ืžืฆื™ื”?

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

ื”ื—ื‘ืจื” GitLab ืคื™ืชื—ื ื• ืฉืชื™ ื”ื’ื“ืจื•ืช ืœืžื•ื ื— ื”ื—ื“ืฉ ื”ื–ื”: ืชื™ืื•ืจื˜ื™ืช ื•ืžืขืฉื™ืช. ื ืชื—ื™ืœ ืžื”ืชื™ืื•ืจื˜ื™:

GitOps ื”ื™ื ืžืชื•ื“ื•ืœื•ื’ื™ื” ืฉืœื•ืงื—ืช ืืช ืขืงืจื•ื ื•ืช ื”-DevOps ื”ื˜ื•ื‘ื™ื ื‘ื™ื•ืชืจ ื”ืžืฉืžืฉื™ื ืœืคื™ืชื•ื— ืืคืœื™ืงืฆื™ื•ืช, ื›ื’ื•ืŸ ื‘ืงืจืช ื’ืจืกืื•ืช, ืฉื™ืชื•ืฃ ืคืขื•ืœื”, ืชื–ืžื•ืจ, CI/CD, ื•ืžื™ื™ืฉืžืช ืื•ืชื ืขืœ ื”ืืชื’ืจื™ื ืฉืœ ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื ื™ื”ื•ืœ ืชืฉืชื™ื•ืช.

ื›ืœ ื”ืชื”ืœื™ื›ื™ื GitOps ืื ื™ ืขื•ื‘ื“ ื‘ืืžืฆืขื•ืช ื›ืœื™ื ืงื™ื™ืžื™ื. ื›ืœ ืงื•ื“ ื”ืชืฉืชื™ืช ืžืื•ื—ืกืŸ ื‘ืžืื’ืจ ื”-git ื”ืžื•ื›ืจ ืžืžื™ืœื, ืฉื™ื ื•ื™ื™ื ืขื•ื‘ืจื™ื ืืช ืื•ืชื• ืชื”ืœื™ืš ืื™ืฉื•ืจ ื›ืžื• ื›ืœ ืงื•ื“ ืชื•ื›ื ื™ืช ืื—ืจ, ื•ืชื”ืœื™ืš ื”ื”ืคืฆื” ื”ื•ื ืื•ื˜ื•ืžื˜ื™, ืžื” ืฉืžืืคืฉืจ ืœื ื• ืœืžื–ืขืจ ื˜ืขื•ื™ื•ืช ืื ื•ืฉ, ืœื”ื’ื‘ื™ืจ ืืช ื”ืžื”ื™ืžื ื•ืช ื•ื”ืฉื—ื–ื•ืจ.

ืžื ืงื•ื“ืช ืžื‘ื˜ ืžืขืฉื™ืช, ืื ื• ืžืชืืจื™ื GitOps ื›ื“ืœืงืžืŸ:

GitOps: ืขื•ื“ ืžื™ืœืช ื‘ืื– ืื• ืคืจื™ืฆืช ื“ืจืš ื‘ืื•ื˜ื•ืžืฆื™ื”?

ื›ื‘ืจ ื“ื ื• ื‘ืชืฉืชื™ืช ื›ืงื•ื“ ื›ืื—ื“ ืžืžืจื›ื™ื‘ื™ ื”ืžืคืชื— ืฉืœ ื ื•ืกื—ื” ื–ื•. ื‘ื•ืื• ื ืฆื™ื’ ืืช ืฉืืจ ื”ืžืฉืชืชืคื™ื.

ื‘ืงืฉืช ืžื™ื–ื•ื’ (ืฉื ื—ืœื•ืคื™ Pull Request). ื‘ืžื•ื ื—ื™ื ืฉืœ ืชื”ืœื™ืš, MR ื”ื™ื ื‘ืงืฉื” ืœื”ื—ื™ืœ ืฉื™ื ื•ื™ื™ื ื‘ืงื•ื“ ื•ืœืื—ืจ ืžื›ืŸ ืœืžื–ื’ ืกื ื™ืคื™ื. ืื‘ืœ ืžื‘ื—ื™ื ืช ื”ื›ืœื™ื ืฉื‘ื”ื ืื ื• ืžืฉืชืžืฉื™ื, ื–ื• ื™ื•ืชืจ ื”ื–ื“ืžื ื•ืช ืœืงื‘ืœ ืชืžื•ื ื” ืžืœืื” ืฉืœ ื›ืœ ื”ืฉื™ื ื•ื™ื™ื ืฉืžืชื‘ืฆืขื™ื: ืœื ืจืง ื”ื‘ื“ืœ ื”ืงื•ื“ ืฉื ืืกืฃ ืžืžืกืคืจ ืžืกื•ื™ื ืฉืœ ืžื—ื•ื™ื‘ื•ืช, ืืœื ื’ื ื”ื”ืงืฉืจ, ืชื•ืฆืื•ืช ื”ื‘ื“ื™ืงื” ื•ื”- ื”ืชื•ืฆืื” ื”ืกื•ืคื™ืช ื”ืฆืคื•ื™ื”. ืื ืื ื—ื ื• ืžื“ื‘ืจื™ื ืขืœ ืงื•ื“ ืชืฉืชื™ืช, ืื– ืžืขื ื™ื™ืŸ ืื•ืชื ื• ืื™ืš ื‘ื“ื™ื•ืง ืชืฉืชื ื” ื”ืชืฉืชื™ืช, ื›ืžื” ืžืฉืื‘ื™ื ื—ื“ืฉื™ื ื™ืชื•ื•ืกืคื• ืื• ื™ื•ืกืจื•, ื™ืฉืชื ื•. ืจืฆื•ื™ ื‘ืคื•ืจืžื˜ ื™ื•ืชืจ ื ื•ื— ื•ืงืœ ืœืงืจื™ืื”. ืขื‘ื•ืจ ืกืคืงื™ ืขื ืŸ, ื›ื“ืื™ ืœื“ืขืช ืžื” ืชื”ื™ื” ื”ื”ืฉืคืขื” ื”ื›ืกืคื™ืช ืฉืœ ื”ืฉื™ื ื•ื™ ื”ื–ื”.

ืื‘ืœ MR ื”ื•ื ื’ื ืืžืฆืขื™ ืœืฉื™ืชื•ืฃ ืคืขื•ืœื”, ืื™ื ื˜ืจืืงืฆื™ื” ื•ืชืงืฉื•ืจืช. ื”ืžืงื•ื ื‘ื• ื ื›ื ืกืช ืœืชืžื•ื ื” ืžืขืจื›ืช ื”ื‘ืœืžื™ื ื•ื”ืื™ื–ื•ื ื™ื. ืžื”ืขืจื•ืช ืคืฉื•ื˜ื•ืช ื•ืขื“ ืœืื™ืฉื•ืจื™ื ื•ืื™ืฉื•ืจื™ื ืคื•ืจืžืœื™ื™ื.

ื•ื‘ื›ืŸ, ื”ืžืจื›ื™ื‘ ื”ืื—ืจื•ืŸ: CI/CD, ื›ืคื™ ืฉืื ื• ื›ื‘ืจ ื™ื•ื“ืขื™ื, ืžืืคืฉืจ ืœื‘ืฆืข ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืชื”ืœื™ืš ื‘ื™ืฆื•ืข ืฉื™ื ื•ื™ื™ื ื‘ืชืฉืชื™ืช ื•ื‘ื“ื™ืงื•ืช (ืžื‘ื“ื™ืงืช ืชื—ื‘ื™ืจ ืคืฉื•ื˜ื” ื•ืขื“ ืœื ื™ืชื•ื— ืงื•ื“ ืกื˜ื˜ื™ ืžื•ืจื›ื‘ ื™ื•ืชืจ). ื•ื’ื ื‘ื’ื™ืœื•ื™ ื”ืกื—ืฃ ืฉืœืื—ืจ ืžื›ืŸ: ื”ื‘ื“ืœื™ื ื‘ื™ืŸ ื”ืžืฆื‘ ื”ืืžื™ืชื™ ื•ื”ืจืฆื•ื™ ืฉืœ ื”ืžืขืจื›ืช. ืœืžืฉืœ, ื›ืชื•ืฆืื” ืžืฉื™ื ื•ื™ื™ื ื™ื“ื ื™ื™ื ืœื ืžื•ืจืฉื™ื ืื• ื›ืฉืœ ื‘ืžืขืจื›ืช.

ื›ืŸ, ื”ืžื•ื ื— GitOps ืœื ืžืฆื™ื’ ืœื ื• ืฉื•ื ื“ื‘ืจ ื—ื“ืฉ ืœื’ืžืจื™, ืœื ืžืžืฆื™ื ืืช ื”ื’ืœื’ืœ ืžื—ื“ืฉ, ืืœื ืคืฉื•ื˜ ืžื™ื™ืฉื ืืช ื”ื ื™ืกื™ื•ืŸ ืฉื›ื‘ืจ ื ืฆื‘ืจ ื‘ืชื—ื•ื ื—ื“ืฉ. ืื‘ืœ ื›ืืŸ ื˜ืžื•ืŸ ื›ื•ื—ื•.

ื•ืื ืคืชืื•ื ืชืชืขื ื™ื™ืŸ ืื™ืš ื›ืœ ื–ื” ื ืจืื” ื‘ืคื•ืขืœ, ืื– ืื ื™ ืžื–ืžื™ืŸ ืื•ืชืš ืœื”ืกืชื›ืœ ืขืœ ืฉืœื ื• ื›ื™ืชืช ืืžืŸ, ืฉื‘ื• ืื ื™ ืื•ืžืจ ืœื›ื ืฉืœื‘ ืื—ืจ ืฉืœื‘ ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘-GitLab:

  • ื™ื™ืฉื ืืช ื”ืขืงืจื•ื ื•ืช ื”ื‘ืกื™ืกื™ื™ื ืฉืœ GitOps

  • ืฆื•ืจ ื•ืขืจื•ืš ืฉื™ื ื•ื™ื™ื ื‘ืชืฉืชื™ืช ื”ืขื ืŸ (ื‘ืืžืฆืขื•ืช ื”ื“ื•ื’ืžื” ืฉืœ Yandex Cloud)

  • ื–ื™ื”ื•ื™ ืื•ื˜ื•ืžื˜ื™ ืฉืœ ืกื—ื™ืคื” ืฉืœ ื”ืžืขืจื›ืช ืžืžืฆื‘ ืจืฆื•ื™ ื‘ืืžืฆืขื•ืช ื ื™ื˜ื•ืจ ืคืขื™ืœ

GitOps: ืขื•ื“ ืžื™ืœืช ื‘ืื– ืื• ืคืจื™ืฆืช ื“ืจืš ื‘ืื•ื˜ื•ืžืฆื™ื”?https://bit.ly/34tRpwZ

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

ื”ื•ืกืคืช ืชื’ื•ื‘ื”