27 แแแแกแก แคแแกแขแแแแแแก แคแแ แแแแแจแ แฉแแขแแ แแแฃแแ DevOpsConf 2019 แแแแคแแ แแแชแแแก แแแแแแ แแแ แแแแจแ
แแ แแแแแขแแชแแแก แจแแแแแ, แฉแแแแแ แแ แแแ แแแแ (แแแ แ แชแแแแแแ แ แแแแ แช dapp) แแแแฆแฌแแ แแกแขแแ แแฃแ แแขแแแก 1000 แแแ แกแแแแแแ GitHub-แแ โ แแแแแแแแแแแ, แ แแ แแแแฎแแแ แแแแแแ แแแแ แแ แกแแแแแแแแแแ แแแฃแแแแแแแแก แชแฎแแแ แแแแก DevOps-แแก แแแแ แแแแแแ แก.
แแกแ แ แแ, แฉแแแ แฌแแ แแแแแแแแแ
แแแแแก แแแฌแแแแแ Kubernetes-แจแ
แกแแฃแแแ แ แแฆแแ แแฅแแแแ werf-แแ, แแ แแแแ CI/CD-แแ Kubernetes-แจแ, แ แแช แแฃแแแกแฎแแแแก แแแแก, แ แแ แฉแแแแ แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแ แจแแคแฃแแฃแแแ Docker แแแแขแแแแแ แแแจแ. (แแแแแ แแแกแแฃแแ แ
แ แแแแ แแแแแแงแฃแ แแแ แแแฌแแแแแ Kubernetes-แจแ?
- แแ แกแแแแแก Git-แแก แกแแชแแแ, แ แแแแแจแแช แแ แแก แแแแ แแ แแแกแขแ แฃแฅแชแแแแ แแแกแ แแจแแแแแแแแแกแแแแก. แแแแแแแชแแ แฉแแจแแแแแฃแแแ Docker แกแฃแ แแแจแ แแ แแแแแฅแแแงแแแแฃแแแ Docker Registry-แจแ.
- แแแแแ แกแแชแแแ แแกแแแ แจแแแชแแแก แแแกแขแ แฃแฅแชแแแแก แแแแแแแชแแแก แแแแแแแแแแกแ แแ แแแจแแแแแก แจแแกแแฎแแ. แแแแแแแแแแก แแขแแแแ แแก แแแกแขแ แฃแฅแชแแแแ แแแแแแแแแ Kubernetes-แจแ, แ แแแแแแช แแฆแแแก แกแแกแฃแ แแแ แกแฃแ แแแก แ แแแกแขแ แแแแ แแ แแฌแงแแแก แแแก.
- แแแ แแ แแแแกแ, แฉแแแฃแแแแ แแ แแ แแก แขแแกแขแแแ. แแแแแแ แแ แแแแแแแแก แแแแแแแแ แจแแกแแซแแแแแแแ แกแฃแ แแแแก แแแแแฅแแแงแแแแแกแแก. แแฅแแแ แแกแแแ แจแแแแซแแแแ (แแแแแ แแแกแขแ แฃแฅแชแแแแแก แจแแแแแ) แแแแแแแแกแแ แแแแแแแชแแแก แแกแแ (แชแแแแ K8s แกแแฎแแแแแแก แกแแแ แชแแจแ แแ แชแแแแแฃแ แแแแกแขแแ แจแ) แแ แแฅ แฉแแแขแแ แแ แขแแกแขแแแ.
- แแแแแแแก, แแญแแ แแแแแ CI แกแแกแขแแแ, แ แแแแแแช แแแแฆแแแก แแแแแแแแแก Git-แแแ (แแ แฆแแแแแแ แแแฌแแแแฃแแแแแแแ) แแ แแแแแแซแแฎแแแก แงแแแแ แแแแแจแแฃแ แแขแแแก: แแจแแแแแ, แแแแแฅแแแงแแแแ, แแแแแ แแแ, แขแแกแขแแ แแแ.
แแฅ แแ แแก แ แแแแแแแแ แแแแจแแแแแแแแแ แจแแแแจแแแ:
- แแแแขแแ, แ แแ แฉแแแ แแแแฅแแก แฃแชแแแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แ (แฃแชแแแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แ)แแแแแแแชแแแก แกแฃแ แแแ, แ แแแแแแช แแแแแแงแแแแแ แงแแแแ แแขแแแแ (แแแแแแ, แฌแแ แแแแแ แแ แ.แจ.), แฃแแแ แแงแแก แแ แแ. แแแแแ แฃแคแ แ แแแขแแแฃแ แแ แแ แแแแแแแแแแแ แแแกแแฃแแ แ.
แแฅ . - แแแแขแแ, แ แแ แฉแแแ แแแแงแแแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก, แ แแแแ แช แแแแแก แแแแแแแแก (IaC)แฃแแแ แแงแแก แแแแแแแชแแแก แแแแ, แแแกแ แจแแแ แแแแกแ แแ แแแจแแแแแก แแแกแขแ แฃแฅแชแแแแ แแฃแกแขแแ แแ แ แกแแชแแแจแ. แแแแก แจแแกแแฎแแ แแแขแ แแแคแแ แแแชแแแกแแแแก แแฎ
แแแแแ แแแฎแกแแแแแ . - แแแฌแแแแแแก แฏแแญแแ (แแแฌแแแแแ) แฉแแแ แฉแแแฃแแแแ แแ แแฎแแแแแ แแกแ: แแแแแแแชแแ แจแแแแ แแแ, แขแแกแขแแ แแแ, แแแแแจแแแแ (แแแแแจแแแแแก แแขแแแ) แแ แแก แแ แแก - แแแฌแแแแแ แแแฎแแ. แแแแ แแ แกแแแแแแแแแแจแ, แแแแฎแแแ แแแแแ แแฆแแแก แแแแก, แ แแช แแฅแแแ แแแแแฃแจแแแ, แแ แแ แแก แแแจแแ, แ แแแแกแแช แแฅแแแ แแแแขแแแแ แแแ แฌแแ แแแแแแจแ, แแ แ แแแแกแแช แแแ แจแแซแแ แแฅ แฌแแกแแแ แแ แแ แฌแแ แแแแแแ แแแฃแจแแแ. แแกแ แ แแ, แแ แแฏแแ แ, แ แแ แแแฌแแแแแแก แฏแแญแแ แแแแแ แแแแ แแฎแแแแ แกแแแแแ แแชแแ แแขแแแแ (แแแจแแแแ), แฃแคแ แ แแฃแกแขแแ, แแ แแแแแแขแจแแช แแ, แ แแแแกแแช แแแแ แแแแแฆแแก แฌแแ แแแแแแแแ (แแแกแ แแฎแแแ แฉแแแแชแแแแแ).
แแแแแ แแแแฃแแ แฃแแแแ แแแแแ แแแชแแแฃแ แแแฌแแแแแแก แกแฅแแแแก Kubernetes-แจแ: แแก แแแแแแแแแแก แแ แ แแฎแแแแ แฉแแแ แแแแ , แแ แแแแ แคแแฅแขแแฃแ แแ แงแแแแแ, แแแแช แแ แแ แแแแแแแก แจแแแฎแ. แกแแแแแแแแแแจแ, แแ แจแแแแแแก แแฎแแ GitOps แฐแฅแแแ (แจแแแแซแแแแ แแแขแ แฌแแแแแแฎแแ แขแแ แแแแแกแ แแ แแแก แฃแแแ แแ แกแแแฃแแ แแแแแแแก แจแแกแแฎแแ
แกแชแแแแก แแจแแแแแ
ะะฐะทะฐะปะพัั ะฑั, ััะพ ะผะพะถะฝะพ ัะฐััะบะฐะทะฐัั ะฒ 2019 ะณะพะดั ะฟัะพ ัะฑะพัะบั Docker-ะพะฑัะฐะทะพะฒ, ะบะพะณะดะฐ ะฒัะต ัะผะตัั ะฟะธัะฐัั Dockerfileโั ะธ ะทะฐะฟััะบะฐัั docker build
?.. แแฅ แแ แแก แแก แแแฃแแแกแ, แ แแแแแแแช แแแแแ แงแฃแ แแแฆแแแ แแแแฅแชแแ:
- แแแแแกแแฎแฃแแแแแก แฌแแแ ะธะผะตะตั ะทะฝะฐัะตะฝะธะต, ะฟะพััะพะผั ะธัะฟะพะปัะทัะนัะต
แแ แแแแแกแแคแแฎแฃแ แแแแ แกแฃแ แแแแ แแแขแแแแ แแฎแแแแ แแก แแแแแแแชแแ, แ แแแแแแช แแแแแแแแแ แแฃแชแแแแแแแแ แแแแ แแชแแแกแแแแก. - แคแแแแแแก แ แแแแแแแแ แฃแแแ แจแแแชแแ แแแก แฏแแญแแแแแก แแแแ แแแแแแแแ
RUN
- แแ แซแแแแแก แแแแจแแแแแแแแก แแแฎแแแแแ. - แแฃแแชแ, แแก แแ แแแแแแแแก แแแขแแแก แแแแแ แแแ, แ แแแแแ แ แแแแกแแช แแกแแแแแแ แแจแแแแ, แแฅแแแ แฃแแแ แแแแแแ แกแฌแแ แ แแ แซแแแแแ แฏแแญแแแแแ, แ แแแแแแแช แแ แแแแแแ แแแแแแฌแแแ.
- แจแแแ แแแแก แกแแฉแฅแแ แ แแแแจแแแแแแแแแแ, แ แแแแแ แฉแแแ แแแกแฃแ แก แกแฌแ แแคแแ แแแแแแแฅแแแงแแแ แชแแแแแแแแแ แแ แแแแฎแแ แจแแแแแแแ. แแแแแแแแแ, แแฅแแแ แแ แแกแฃแ แ แแฆแแแแแแแ แแแแแแแแแแฃแแแแแแ แแแแแแก แแแแแแแแแแแแจแ แงแแแแ แฏแแ แแ, แ แแแแกแแช แแแแแแแชแแแก แจแแฅแแแแ.
- แฎแจแแ แแ แแ แแ Git แกแแชแแแแแแ แแญแแ แแแแแ แแแแ แ แกแฃแ แแแ, แ แแแแแแช แจแแแซแแแแ แแแแแแญแ แแก Dockerfiles-แแก แแแแ แแแแ (แแ แแแกแแฎแแแแแฃแแ แแขแแแแแ แแ แ แคแแแแจแ) แแ Bash แกแแ แแแขแแ แแแแ แแแแแแแแแแ แฃแแ แจแแแ แแแแ.
แแก แแงแ แแฎแแแแ แแแกแแแ แแแก แแฌแแแ แแแแ, แ แแแแแกแแช แงแแแแ แแฌแงแแแแ. แแแแ แแ แแ แแก แกแฎแแ แแ แแแแแแแแ, แแแ แซแแ:
- แฎแจแแ แแ แจแแแ แแแแก แแขแแแแ แ แแฆแแช แแแญแแ แแแแ แแแแแ (แแแแแแแแแ, แฅแแจแแ แแ แซแแแแแแก แจแแแแแ, แ แแแแ แแชแแ apt แแแกแแแ แแฎแแ แแก แแแ แแฅแขแแ แแแจแ).
- แฒฉแแแ แแแแแแ แจแแฃแซแแแแแแแ แแแญแฃแญแแ แแแฌแแ แแก แแแชแแแแ.
- แฒฉแแแ แแแแแแ แแจแแแแแ Docker-แแก แแแ แแจแ (แ แแขแแ แแแญแแ แแแแ แแแแแขแแแแแ แแแ แขแฃแแแฃแ แ แแแแฅแแแ, แ แแแแแจแแช แงแแแแแคแ แแก แแแแคแแแฃแ แแชแแ แแแญแแ แแแแ, แ แแชแ แฃแแแ แแแแฅแแก Kubernetes แแแแกแขแแ แ, แ แแแแแจแแช แจแแแแแซแแแ แแแแขแแแแแ แแแแก แแแจแแแแ?).
- แแแ แแแแแฃแ แ แจแแแ แแแ, แ แแแแแก แแแแแแ แจแแกแแซแแแแแแแ แกแฎแแแแแกแฎแแ แแแแ: แกแฎแแแแแกแฎแแ แแ แซแแแแแแแ Dockerfile-แแแ (แแฃ แแแแแแงแแแแแ แแ แแแแแกแแคแแฎแฃแ แแแแ), แแ แแ แแ แแแแแ แกแแชแแแแแแ แ แแแแแแแแ แแแแแแแแ, แ แแแแแแแแ Dockerfiles.
- แแแแแฌแแแแแฃแแ แจแแแ แแแ: แฉแแแ แแแแแแ แจแแแแแ แแแแ แแแแแแแ แแแแแแจแ, แ แแแแแแแช "แแคแแแแ แฃแแแ", แ แแแแแ แแแแ แฅแแจแ แฅแ แแแ, แ แแช แแแแก แแแจแแแแก, แ แแ แแก แกแแแแ แชแแแแ แฃแแแ แแงแแก แจแแแแฎแฃแแ.
- แแแแแก แกแฃแ แแแแแแแก แแฌแแแ แแแแ แแแแแกแแฎแแแ แแแขแแแแแแฃแ แ: แแแแแแฃแ แ แแฅแแแแแแ แกแแชแแแจแ แฌแแกแแแ, แแแ แแคแแ แ แแแแ แแ แซแแแแแ แแ แแแแฆแแ แแแ แกแฃแ แแแ, แแฌแงแแแแแ แแแแก แแแแแแแ, แแฃ แ แแแแ แแ แ แ แฃแแแ แแแแแแแแ แกแฌแแ แแ. แแฃแแชแ, แแ แแแ แแแแ แแ แแแ แแแ แฌแแฃแแแแฃแแ, แ แแ แงแแแแ แแแฃแแแกแ แแ แแแแ แจแแแซแแแแ แแแแญแแ แแขแ.
ะ ะฒะพั ะตััั ะฟัะพะตะบัั:
-
แแแแ/แแแแแแแขแ โ แแจแแแแแแแ Docker Inc-แแกแแแ (แฃแแแ แแแขแแแ แแ แแแฃแแแ Docker-แแก แแแแแแแแ แ แแแ แกแแแแจแ), แ แแแแแแช แชแแแแแแก แแแแแญแ แแก แงแแแแ แแก แแ แแแแแแ; -
แแแแแแ โ Google-แแก แแจแแแแแแแ, แ แแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แจแแฅแแแแ Docker-แแก แแแ แแจแ; -
Buildpacks.io - CNCF-แแก แแชแแแแแแ, แแแแแแแแก แแแขแแแแขแฃแ แ แแแแแ แแ, แแแ แซแแ, แกแแแแขแแ แแกแ แแแแแฌแงแแแขแ แคแแแแแแก แ แแแแแแ; - แแ แแ แแแแแ แกแฎแแ แแแแฃแแแแฃแ แ แแ แแแ แแแ, แ แแแแ แแชแแ
แแฃแแแแฐแ ,genuinetools/img ...
...แแ แแแฎแแ แ แแแแแแ แแแ แกแแแแแแ แฐแงแแแ GitHub-แแ. แแแฃ, แแ แแ แแฎแ แแ, docker build
แแ แกแแแแแก แแ แจแแฃแซแแแ แ แแฆแแชแแก แแแแแแแแ, แแแแ แแ แกแแแแแแแแแแจแ แกแแแแแฎแ แแแแแแแ แแ แแ แแก แแแแแแ แแแฃแแ - แแแแก แแแกแขแฃแ แแ แแแขแแ แแแขแแฃแแ แแแแแฅแชแแแแแ แแแแก แแแ แแแแแฃแ แแ แแแแแแแแ แแแ, แ แแแแแแแแแ แแแแแแฃแแ แฌแงแแแขแก แแ แแแแแแแก แแแ แแแแฃแ แแแฌแแแก.
แจแแแ แแแ แแแ แคแจแ
แแกแ แ แแ, แฉแแแ แแแแแฆแแ
แแฃแ แฏแจแ แจแแคแแ แแแ แแ แแแแแแแแ แฃแแแ แแแแฎแแ แชแแแแแ, แแแ แแแแแฃแ แ แแแแแ แแแแฎแแ แชแแแแแ แแแแแ แแแกแแแแซแแแก แคแแ แแแแแจแ, แฎแแแ แงแแแแแแ แแแแแแแแแแแ แกแแแแแฎแแแแก แแแกแ แฃแแแแ แแแคแฎแฃแแแก แแแแแแแ แแแแแแแแ.
ะกัะฐะดะธั ะฟัะฑะปะธะบะฐัะธะธ ะฒ registry (publish)
แแแแ แแคแแ docker push
... - แ แ แจแแแซแแแแ แแงแแก แ แแฃแแ แกแฃแ แแแแก แ แแแกแขแ แจแ แแขแแแ แแแ? แแ แจแแแแแ แฉแแแแแ แแแแฎแแ: "แ แ แขแแแ แฃแแแ แแแแแงแแแ แกแฃแ แแแแ?" แแก แฌแแ แแแแฅแแแแแ แแ แแแแแแแ, แ แแช แฉแแแ แแแแฅแแก แแแขแคแแแฃ (ะธะปะธ ะดััะณะฐั ัััะฐัะตะณะธั Gitโะฐ) ะธ Kubernetes, ะฐ ะธะฝะดััััะธั ัััะตะผะธััั ะบ ัะพะผั, ััะพะฑั ะฟัะพะธัั
ะพะดััะตะต ะฒ Kubernetes ัะปะตะดะพะฒะฐะปะพ ัะพะผั, ััะพ ะดะตะปะฐะตััั ะฒ Git. ะะตะดั Git โ ะฝะฐั ะตะดะธะฝััะฒะตะฝะฝัะน ะธััะพัะฝะธะบ ะฟัะฐะฒะดั.
แ แ แแ แแก แแแแจแ แ แแฃแแ? แฃแแ แฃแแแแแงแแก แแแแแแแ แแแแแแแ: แแแขแจแ แฉแแแแแแแแ, แ แแแแแแช แแฃแแแแแ แฃแชแแแแแแ (immutable), แแแแแ แแก แกแฃแ แแแแ, แ แแแแแแช แฃแแแ แแแ แฉแแก แแแแแ.
แฉแแแแแแแก แแกแแแ แแแแจแแแแแแแแแแ แฌแแ แแแจแแแแก แแแแกแแแฆแแ แ, แแแแขแแ, แ แแ แแแแแแ แแแแแแแ, แ แแแแแ commit-แแแ แแ แแก แแแแแฃแแ Kubernetes-แจแ แแแจแแแแฃแแ แแแแแแแชแแ (แแแจแแ แจแแแแแซแแแ แแแแแแแแแ แแแแกแฎแแแแแแแแ แแ แแกแแแแกแ แ แแ).
แกแขแ แแขแแแแแแแก แแแแแจแแแ
แแแ แแแแ แแแ แขแแแแ แแแขแแก แแฆแ. แฉแแแ แแแแฅแแก แ แแแกแขแ แ, แ แแแแแแแช แกแฃแ แแแ แแ แแก แแแแแจแแฃแแ แ แแแแ แช 1.0
. Kubernetes-แก แแฅแแก แกแชแแแ แแ แฌแแ แแแแแ, แกแแแแช แแก แกแฃแ แแแ แแแขแแแ แแแแ. Git-แจแ แแแแแแแแ แแแแแแแฃแแแแแแก แแ แ แแฆแแช แแแแแแขแจแ แแแแแ แแแแ 2.0
. แฉแแแ แแแแ แแแแแ แแแก แกแแชแแแแก แแแกแขแ แฃแฅแชแแแก แแแฎแแแแแ แแ แแแแแแกแแแ แ แแแกแขแ แจแ แขแแแแ 2.0
. ะัะบะฐััะฒะฐะตะผ ะฝะฐ stage ะธ, ะตัะปะธ ะฒัั ั
ะพัะพัะพ, ะฟะพัะพะผ ะฝะฐ production.
แแ แแแแแแแแก แแ แแแแแแ แแก แแ แแก, แ แแ แฉแแแ แฏแแ แแแแแงแแแแ แขแแแ แแ แแฎแแแแ แแแแก แจแแแแแ แแแแแแชแแแแ แแ แแแแแแ แขแงแแแแ แแแ. แ แแขแแ? แฏแแ แแ แแ, แแก แฃแแ แแแแ แแแแแแแฃแ แแ: แฉแแแ แแแแชแแแ แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แแแ แกแแแก, แ แแแแแแช แฏแแ แแ แแแแแแแแชแแแ (แกแฎแแแแแแ แแ แแ แจแแแแแซแแแ, แ แแแแแ แจแแกแแแแฌแแแแแแ, แฉแแแ แฃแแแ แแแแแงแแแแ แขแแแ). แแแแ แแช, แแก แแแ แแ แแ แแก แแแแกแแแแแ Gitflow-แแแ.
แแแแ แ แแแ แแแแขแ - git commit + tag. แกแแแแแแกแขแ แ แคแแแแแแก แแฅแแก แขแแแ 1.0
; แแแก แ แแแกแขแ แจแ - แแแแแกแแฎแฃแแแแ แแแแแแแแแฃแแแ แฌแแ แแแแแแจแ. แแแ แแ แแแแกแ, Kubernetes แแแแกแขแแ แก แแฅแแก แแแแแฎแแแแแกแ แแ แแแแแแแก แแแแขแฃแ แแแ. แจแแแแแ แฉแแแ แแแแงแแแแแ Gitflow: แแแแแแแแ แแแแก แแแแแแ แคแแแแแแจแ (develop
) แฉแแแ แแฅแแแแ แแฎแแ แคแฃแแฅแชแแแแก, แ แแก แจแแแแแแแแช แแแฆแแแ แแแแแแแฃแแแแแก แแแแแขแแคแแแแขแแ แแ #c1
. แฉแแแ แแแแ แแแแแ แแแก แแ แแแฅแแแงแแแแ แแแก แ แแแกแขแ แจแ แแ แแแแแขแแคแแแแขแแ แแก แแแแแงแแแแแแ (#c1
). แแแแแ แแแแแขแแคแแแแขแแ แแ แฉแแแ แแแแแคแแ แแแแแแ แฌแแแแกแฌแแ แแแแแฎแแแแแก. แฉแแแ แแแแแ แแแแแแแแ แแแแแแแฃแแแแแแก #c2
ะธ #c3
.
แ แแแแกแแช แแแแฎแแแแ, แ แแ แกแแแแแ แแกแ แคแฃแแฅแชแแแแแ, แแแฌแงแแแ แงแแแแแคแ แแก แกแขแแแแแแแแชแแแก. แจแแฅแแแแแ แคแแแแแแ Git-แจแ release_1.1
(แแแแแแ #c3
แกแแฅแแ แแแแแแก develop
). แแ แแ แแก แกแแญแแ แ แแ แแแแแจแแแแแก แจแแแ แแแแแ, แ แแแแแ... แแก แแแแแแแ แฌแแแ แแขแแแแ. แแแแขแแ, แฉแแแ แจแแแแแซแแแ แฃแแ แแแแ แแแแแคแแ แแแแแ แแก แแแแแแแแ. แฉแแแ แแแกแฌแแ แแแ แจแแชแแแแแแก #c4
แแ แแแแแแแแฃแ แแ แแแแคแแ แแแแแก แแแแแแ. แแแ แแแแแฃแ แแ แแแแแแแแ แแแแก แแแแแแแแ แแแ develop
, แกแแแแแแแช แแแ แแแแฃแแแ แฎแแแแ แชแแแแแแแแแแก แแฆแแแ release_1.1
. ะ ะบะฐะบะพะน-ัะพ ะผะพะผะตะฝั ะฟะพะปััะฐะตะผ ัะพะฑัะฐะฝะฝัะน ะธ ะฒัะบะฐัะตะฝะฝัะน ะฝะฐ staging ะบะพะผะผะธั, ะบะพัะพััะผ ะผั ะดะพะฒะพะปัะฝั (#c25
).
แจแแแแแ แแแแ แแแแ (แกแฌแ แแคแแ แฌแแแกแแแแก) แแแแแจแแแแแก แขแแขแ (release_1.1
) แแแกแขแแ แจแ. แฉแแแ แแแแแงแแแแ แขแแแ แแฎแแแ แแแ แกแแแ แแ commit-แแ (1.1
). แแแแ แแ แแก แกแฃแ แแแ แฃแแแ แจแแแ แแแแแฃแแแ แ แแแกแขแ แจแ, แแแแขแแ แแแแกแแแแแก, แ แแ แแฆแแ แจแแแแแ แแแแ แแแ, แฉแแแ แฃแแ แแแแ แแแแแขแแแ แแแแ แ แขแแแก แแ แกแแแฃแ แกแฃแ แแแก (แแฎแแ แแแก แแฅแแก แขแแแแแ แ แแแกแขแ แจแ #c25
ะธ 1.1
). แแแแก แจแแแแแ, แฉแแแ แแแแแคแแ แแแแแ แแแ แฌแแ แแแแแแจแ.
ะััั ะฝะตะดะพััะฐัะพะบ, ััะพ ะฝะฐ staging ะฒัะบะฐัะตะฝ ะพะดะธะฝ ะพะฑัะฐะท (#c25
), แแ แฌแแ แแแแแแจแ แแก แ แแฆแแชแแแแ แแ แแแแกแฎแแแแแแฃแแแ (1.1
), แแแแ แแ แฉแแแ แแแชแแ, แ แแ "แคแแแแแฃแ แแ" แแก แแ แแก แแแแแ แกแฃแ แแแ แ แแแกแขแ แแแแ.
แ แแแแฃแ แ แแแแฃแกแ แแ แแก แแก, แ แแ แแ แแ แกแแแแแก แแฎแแ แแแญแแ แ แจแแ แฌแงแแแก แแแแแแแฃแแแแแกแแแแก, แแฅแแแ แฃแแแ แแแแแแแแ แกแฌแ แแคแ แฌแแแกแแแ.
แฉแแแ แจแแแแแซแแแ แฌแแแแแแ แฃแคแ แ แจแแ แก แแ แแแแแแแแแ แฎแ แแแ... แแแแแ แจแแแฎแแแแ แแแ แขแแแ Dockerfile-แแก แแแแแแแแก:
FROM ruby:2.3 as assets
RUN mkdir -p /app
WORKDIR /app
COPY . ./
RUN gem install bundler && bundle install
RUN bundle exec rake assets:precompile
CMD bundle exec puma -C config/puma.rb
FROM nginx:alpine
COPY --from=assets /app/public /usr/share/nginx/www/public
แแแแจแแแแ แคแแแแ แแแกแแแ แจแแแแแแ แแ แแแชแแแแก แแแฎแแแแแ:
- SHA256 แแแแแงแแแแแฃแแ แกแฃแ แแแแแแก แแแแแขแแคแแแแขแแ แแแแแแ (
ruby:2.3
ะธnginx:alpine
), แ แแแแแแแช แฌแแ แแแแแแแแก แแแแ แจแแแแแ แกแแก แกแแแแแขแ แแแ แฏแแแแแก; - ะฒัะต ะบะพะผะฐะฝะดั (
RUN
,CMD
แแ แแกแ แจแแแแแ.); - SHA256 แคแแแแแแแแแ, แ แแแแแแแช แแแแแขแแแฃแแแ.
โฆ ะธ ะฒะพะทัะผัะผ ะบะพะฝััะพะปัะฝัั ััะผะผั (ัะฝะพะฒะฐ SHA256) ะพั ัะฐะบะพะณะพ ัะฐะนะปะฐ. ะญัะพ แฎแแแแแฌแแ แ แงแแแแแคแแ แ, แ แแช แแแแกแแแฆแแ แแแก Docker แแแแแกแแฎแฃแแแแแก แจแแแแแ แกแก.
แแแแฃแแ แฃแแแแ แแแแแ แแแแก แแ แแแแแแแฃแแแแแแแก แแแชแแแแ แฉแแแ แแแแแแแงแแแแแ แแกแแ แฎแแแแแฌแแ แแแก, แ.แ. แแแแแจแแแ แกแฃแ แแแแแ แฎแแแแแฌแแ แแแแ.
แแฎแแ, แ แแแแกแแช แกแแญแแ แแ, แแแแแแแแแ, แชแแแแแแแแแแก แจแแ แฌแงแแ แแแแแจแแแแแแแ แแแกแขแแ แแ, แฉแแแ แจแแแแแซแแแ แแแแแแแแแ แ แแแแฃแ แ แจแแ แฌแงแแแก แแแกแ แฃแแแแ: แแแก แแฅแแแแ แแแแกแฎแแแแแแฃแแ แแแแแขแแคแแแแขแแ แ, แแแแ แแ แแแแแ แฎแแแแแฌแแ แ. แแแแแ แแแแแขแแคแแแแขแแ แแ แฉแแแ แแแแแแแขแแแ แกแฃแ แแแก แฌแแ แแแแแแจแ.
แแแแฃแกแ แแก แแ แแก, แ แแ แแฎแแ แจแแฃแซแแแแแแ แแฅแแแแ แแแแก แแแแแแแ, แแฃ แ แ แกแแฎแแก แแแแแแแฃแแแแ แแฅแแ แแแแแขแแแแแ แฌแแ แแแแแแจแ - แกแแแแแขแ แแแ แฏแแแแแ แแฃแจแแแแก แแฎแแแแ แแ แแ แแแแแ แแฃแแแแแ. แแก แแ แแแแแแ แแแแแแ แแแฃแแแ แแแแแขแแแแแ แคแแแแ แแแขแแแแแแชแแแแแแ - แฃแคแ แ แแแขแก แแแแแแแแแแแ แแแขแงแแแ.
แแแแแจแแแ werf-แจแ
Werf-แจแ แฉแแแ แแแแแ แฃแคแ แ แจแแ แก แฌแแแแแแ แแ แแแแแแแแแแ แแแแแฌแแแแแฃแแ build-แแก แแแกแแแแแแแแแ แฅแแจแแ, แ แแแแแแช แแ แแ แแก แจแแแแฎแฃแแ แแ แ แแแแฅแแแแแ... แแกแ แ แแ, แฉแแแ แแแจแแแแแ แแ แ แขแแแแก Docker แกแฃแ แแแก, แฉแแแ แแแ แแฃแฌแแแแแ. แแขแแแ ะธ แกแฃแ แแแ.
werf Git แกแแชแแแ แแแแฎแแแก build-แแก แกแแแชแแคแแแฃแ แแแกแขแ แฃแฅแชแแแแก, แ แแแแแแแช แแฆแฌแแ แก แแจแแแแแแแแแก แกแฎแแแแแกแฎแแ แแขแแแแแก (แแแกแขแแแแชแแแแแ, แแแกแขแแแแชแแ, แแแงแแแแแแแแ, setup). แฉแแแ แแแแ แแแแแ แแแ แแแแ แแขแแแแก แกแฃแ แแแก แฎแแแแแฌแแ แแ, แ แแแแแแช แแแแแกแแแฆแแ แแแ, แ แแแแ แช แแแ แแแแ แแแแแฏแแแแก แกแแแแแขแ แแแ แฏแแแ. แจแแแแแ แแแแแขแแแ แกแแฌแงแแก แแแแก, แแฎแแแ แแขแแแแก แแแแแกแแฎแฃแแแแแแ แแแแแแแ แแจแแแ แแแก แกแแแแแขแ แแแ แฏแแแก... แแก แแแแ แแชแแแแ แแแแ แแแแ แงแแแแ แกแแคแแฎแฃแ แแ, แ แแก แจแแแแแแแแช แแแฆแแแ แแขแแแแแแก แแแแแกแแฎแฃแแแแแก แแแแแแแฅแขแก. แจแแแแแ แแแแแแแแ แกแแแแแแ แกแฃแ แแแก, แ แแแแแแช แแกแแแ แจแแแชแแแก แแแขแแแแแแชแแแแแก แแแกแ แฌแแ แแแจแแแแก แจแแกแแฎแแ. แแ แฉแแแ แแ แกแฃแ แแแก แกแฎแแแแแกแฎแแ แแแแ แแกแแแแ (แแแขแแแแแ แแแแแแแแแแแ).
แแแแฃแจแแแ, แแแแก แจแแแแแ แแแแแฉแแแแแ แแฎแแแ commit, แ แแแแแจแแช แแฎแแแแ แแแแแแแชแแแก แแแแ แจแแแชแแแแ. แฒ แ แแแฎแแแแ? แแแแแก แชแแแแแแแแแแกแแแแก แจแแแฅแแแแแ แแแขแฉแ แแ แแแแแแแแแแ แแฎแแแ แแขแแแแก แกแฃแ แแแ. แแแกแ แฎแแแแแฌแแ แ แแแแแกแแแฆแแ แแแ, แ แแแแ แช แซแแแแ แแขแแแแก แกแฃแ แแแแกแ แแ แแฎแแแ แแแฉแแก แกแแแแแขแ แแแ แฏแแแ. แแ แกแฃแ แแแแแแ แจแแแฅแแแแแ แแฎแแแ แกแแแแแแ แกแฃแ แแแ. แแกแแแแกแ แฅแชแแแ แแแฎแแแแ แกแฎแแ แแขแแแแแแก แชแแแแแแแแแแแ แแ แแแ.
แแแ แแแแ, แแขแแแแก แกแฃแ แแแแแ แแ แแก แฅแแจแ, แ แแแแแแช แจแแแซแแแแ แแแแฎแแแแแแก แแแแแฌแแแแแฃแแแ แแ แแแกแแแ แฃแแแ แจแแฅแแแแแ แกแฃแ แแแแแ แแแขแแแ แแแแ Docker Registry-แจแ.
แ แแแกแขแ แแก แแแฌแแแแแ
แฉแแแ แแ แแกแแฃแแ แแแ แคแแแแแแก แฌแแจแแแแ, แ แแแแแแแช แฉแแแแแแแแแฃแแ แแแ แฉแ แฌแแจแแแแ แขแแแแแแก แจแแแแแ - แแก แแ แแก แแแแแ Docker Registry-แแก แกแขแแแแแ แขแฃแแ แคแฃแแฅแชแแ. แฉแแแ แแกแแฃแแ แแแ แกแแขแฃแแชแแแแ, แ แแแแกแแช แฃแแแ แแแ Docker แขแแแ แแ แแแแแแ แแ แแแแกแแแก, แ แแ แแแแแแ แแ แแแแแแแ แแฆแแ แแแญแแ แแแแ, แแแแ แแ แแกแแแ แแแแแแก แแแแแแแแ (แแ/แแ แฉแแแ แแแฎแแแ แแแก).
แ แ แแ แแก แแแกแฃแคแแแแแแแก แกแขแ แแขแแแแแแ?
- แฃแแ แแแแ แแ แแคแแ แ แจแแแแซแแแ แแ แแแแกแฃแคแแแแ. แแแแฏแแ แแแ แแแแช แฃแคแ แ แแแแแแแ แแแแแแขแ แกแแแ แชแแกแแแแก แชแแขแ แแแแแแฎแแแ, แแแแ แ แขแแแแแแก แฃแแแ แแแแแ แ แแฃแ แแแฃแ แแก แแแแฎแกแแ. แแแแ แแ แแก แแฃแจแแแแก แแฎแแแแ แแแ แแแแฃแ แแแแแแขแแแแ.
- แกแ แฃแแ แแแแแขแแแ แแแ. แแฃ แฌแแจแแแ แงแแแแ แกแฃแ แแแก แแ แแฆแแแแแแ แแฎแแแแ แแแแแแแแ แ แกแฃแ แแแแแก CI แกแแกแขแแแแจแ, แจแแแซแแแแ แฌแแ แแแแจแแแก แแ แแแแแแ. แแฃ แแแแขแแแแแ แ แฎแแแแฎแแ แแแแฌแงแแแ แฌแแ แแแแแแจแ, แแแกแแแแก แแฎแแแ แกแฃแ แแแ แฉแแแขแแแ แแแแ - แแกแแแ, แ แแแแแแช แฏแแ แแ แแแแก แแแแ แแ แแ แแก แแแแแชแแแแ. แแก แแแแแก แฃแชแแแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แแแแแก.
- แฒแฃแ แฏแ แแฌแแแแ. แแ แแแ แ แแแกแขแ แแ แแแแฌแงแ แแแแแขแแแ แแแ - แฉแแแ แแแขแแแ แแแแ แกแฃแ แแแแแก แแแแ แแจแ. แแแแแ แแ แแแแแแ, แ แแแแ แช แฌแแแ แแแแแแแ: แ แ แแแแแแขแจแ แจแแแแซแแแแ แแแแกแฃแคแแแแแ แ แแแกแขแ แ, แ แแแแแแแช แแแแฌแงแ แแแแแขแแแ แแแ?
- แแ แแแ แแแแแแแแแแแจแ. แฌแแจแแแแ 1 แแแแแ แซแแแแ แงแแแแ แกแฃแ แแแ? แแแแ แแ แแฃแชแแแแแแแ แแฅแแแแ แกแแ แแแกแ, แ แแแแแแช แแ แแ แแแแ แแ แแแแแฎแแแแฃแแ...
- แฎแแแแ แแแแกแแแฆแแ แแ แ แ แจแแแซแแแแ แฃแแแ แฌแแแจแแแแก.
แแ แกแแแแแก แแ แ แแแแแแแแแ แแคแแฅแขแฃแ แ แแแ แแแแขแ: แแ แแแแกแฃแคแแแแแ แแ แแฃแ แฏ-แแฌแแแแ + แแแแแแแแชแแ แฎแแแแ. แแ แฃแแแแแกแแแแ แจแแแแฎแแแแแจแ, แฉแแแ แแกแแฃแแ แแแ แจแแแแแแแ: แ แแแแกแแช แแแกแแแ, แ แแ แแ แแ แแแแกแฃแคแแแแแ แ แแแกแขแ แ, แฅแแแแ แแฎแแแก แแ แแแแขแแแ แแแก แงแแแแ แแฎแแ แกแฃแ แแแก, แแแแแแแแแ, แแ แแ แแแแก แแแแแแแแแแแจแ. แแ แแ แแ แแแแก แจแแแแแ แแแฎแแ, แแฃแแแ แแแขแแก แ แแแแแ แแแแแแแ แแแแแ แแงแแแแแแ แซแแแ แ แแแกแขแ แก แแ แแแแแแขแแแแ แแกแแแแช แแฎแแ แ แแแกแขแ แจแ.
แ แ แแแแแแแ แแแ แค? แฉแแแ แแแแ แแแแแ:
- Git head: แงแแแแ แขแแแ, แงแแแแ แคแแแแแแ - แแแแแ แแฃแแแ, แ แแ แฉแแแ แแแญแแ แแแแ แงแแแแแคแแ แ, แ แแช Git-แจแแ แแแแแจแแฃแแ แกแฃแ แแแแแจแ (แแ แแฃ แแ แ, แแแจแแ แแก แแแแแ Git-แจแ แฃแแแ แฌแแแจแแแแ);
- แงแแแแ แฏแแจแ, แ แแแแแแช แแแแแแแ แแแแขแฃแแแฃแแแ Kubernetes-แจแ;
- แซแแแแ ReplicaSets (แ แแช แแฎแแแฎแแ แแแแแแแแ), แแ แฉแแแ แแกแแแ แแแแแแแแ Helm-แแก แแแแแจแแแแแแแก แกแแแแแ แแแแก แแ แแฅ แฃแแฎแแแกแ แกแฃแ แแแแแแก แจแแ แฉแแแแก.
โฆ ะธ ะดะตะปะฐะตะผ ะธะท ััะพะณะพ ะฝะฐะฑะพัะฐ whitelist โ ัะฟะธัะพะบ ะพะฑัะฐะทะพะฒ, ะบะพัะพััะต ะผั ะฝะต ะฑัะดะตะผ ัะดะฐะปััั. ะัั ะพััะฐะปัะฝะพะต ะฒััะธัะฐะตะผ, ะฟะพัะปะต ัะตะณะพ ะฝะฐั ะพะดะธะผ ัะธัะพััะบะธะต stage-ะพะฑัะฐะทั ะธ ัะดะฐะปัะตะผ ะธั ัะพะถะต.
แแแแแแแแแแก แแขแแแ
แกแแแแ แแแแแแ แแชแแฃแแแแ
แแแ แแแแ แแฃแแฅแขแ, แ แแแแแแแช แแแแแ แแแแแแแฎแแแแ แงแฃแ แแแฆแแแ แแแแแแแแแแกแแก, แแ แแก แแแแแแ แแชแแฃแแแ แแแแแชแฎแแแแแฃแแ แ แแกแฃแ แกแแก แแแแแฎแแแแฃแแ แแแแคแแแฃแ แแชแแแก แแแจแแแแ. แแ แแแแแแแฃแ แ YAML แแแแฃแแแแขแ, แ แแแแแแช แแฆแฌแแ แก Kubernetes แ แแกแฃแ แกแแแก, แงแแแแแแแแก แซแแแแแ แแแแกแฎแแแแแแแ แแแแกแขแแ แจแ แ แแแแฃแ แแ แแแจแแแแฃแแ แจแแแแแแกแแแ. แแแแก แแแแ, แ แแ Kubernetes แแแแขแแแก แแแแคแแแฃแ แแชแแแก:
- แแแแแขแแคแแแแขแแ แแแ;
- ัะปัะถะตะฑะฝัั ะธะฝัะพัะผะฐัะธั;
- แแแแ แ แแแแฃแแแกแฎแแแแ แแแแจแแแแแแแ;
- แแแแงแแคแแแแแ แแแแแแแแ แ แกแขแแขแฃแกแแ;
- แแแจแแแแแก แแแ แแแแ แแแก แคแแ แแแแแจแ แแแแฎแแ แชแแแแแแฃแแ แชแแแแแแแแแ;
- แกแฎแแแแแกแฎแแ แแแแขแ แแแแ แแแแก (แแ แแ แแคแแแแก) แแฃแจแแแแแก แจแแแแแ.
ะะพััะพะผั, ะบะพะณะดะฐ ะฟะพัะฒะปัะตััั ะฝะพะฒะฐั ะบะพะฝัะธะณััะฐัะธั ัะตััััะฐ (แแฎแแแ), แฉแแแ แแ แจแแแแแซแแแ แฃแแ แแแแ แแแแฆแแ แแ แแแแแแฌแแ แแ แแแแแแแแ แ, โแชแแชแฎแแแโ แแแแคแแแฃแ แแชแแ แแแกแแแ (แชแฎแแแ แแแ). แแแแกแแแแแก แฉแแแ แแแแแแฌแแแก แจแแแแ แแแ แแฎแแแ แแแแ แแแแแงแแแแแฃแแ แแแแคแแแฃแ แแชแแแ (แแแแ-แแแแแงแแแแแฃแแ) แแ แแแแแแฎแแแแ แชแฎแแแ แแแ แแแฆแแแฃแแ แแแฉแ.
แแ แแแแแแแแก แ.แฌ แแ แแฎแ แแแ แจแแ แฌแงแแ. แแแ แแแแแแงแแแแแ, แแแแแแแแแ, แฐแแแแจแ.
แฒแ แกแแแแแก แแกแแแ แแ แแฎแ แแแ แจแแ แฌแงแแ, ะบะพัะพััะน ะพัะปะธัะฐะตััั ัะตะผ, ััะพ:
- แจแแแแ แแแ แแแแ-แแแแแงแแแแแฃแแ ะธ แแฎแแแ, แแฃแงแฃแ แแแ แ แ แฌแแจแแแแแ;
- แจแแแแ แแแ แแฎแแแ ะธ แชแฎแแแ แแแ, แแฃแงแฃแ แแแ แ แ แแแแแแขแ แแ แจแแแชแแแแ;
- แจแแฏแแแแแฃแแ แแแฉแ แแแแแแงแแแแแ แชแฎแแแ แแแ.
แฉแแแ แแแงแแแแแ 1000+ แแแแแแแชแแแก Helm-แแ, แแกแ แ แแ, แฉแแแ แ แแแแฃแ แแ แแชแฎแแแ แแแ 2-แแฎแ แแ แจแแ แฌแงแแแ. แแฃแแชแ, แแแก แแฅแแก แแแแแ แ แแแ แแ แแแแแแแแ, แ แแแแแแแช แฉแแแ แแแแแแแแ แแ แฉแแแแ แแแขแฉแแแแ, แ แแช แแฎแแแ แแแ แฐแแแแก แแแ แแแแฃแ แแ แแฃแจแแแแแจแ.
แ แแแแฃแ แ แแแจแแแแแก แกแขแแขแฃแกแ
แแแก แจแแแแแ, แ แแช แฉแแแแ CI แกแแกแขแแแ แฌแแ แแแฅแแแแก แแฎแแ แแแแคแแแฃแ แแชแแแก Kubernetes-แแกแแแแก แจแแแแแแ แแแแแแแแก แกแแคแฃแซแแแแแ, แแก แแแแแกแชแแแก แแแก แแแแแกแแงแแแแแแแ (แแแแแ แแ) แแแแกแขแแ แแแแ - Helm แแ kubectl apply
. ะะฐะปะตะต ะฟัะพะธัั
ะพะดะธั ัะถะต ะพะฟะธัะฐะฝะฝัะน N-way merge, ะฝะฐ ััะพ Kubernetes API ะพะดะพะฑัะธัะตะปัะฝะพ ะพัะฒะตัะฐะตั CI-ัะธััะตะผะต, ะฐ ัะฐ โ ัะฒะพะตะผั ะฟะพะปัะทะพะฒะฐัะตะปั.
แแฃแแชแ, แแ แกแแแแแก แฃแแแ แแแแแ แ แแ แแแแแแ: แงแแแแแแแ แแแแก แจแแแแแ แฌแแ แแแขแแแฃแแ แแแแแแแชแแ แแ แแแจแแแแก แฌแแ แแแขแแแฃแ แแแแ แชแแแแแแก. แแฃ Kubernetes แแแแแแแก, แ แ แชแแแแแแแแแแ แกแแญแแ แ แแ แแแแแแงแแแแแก แแแก, แฉแแแ แฏแแ แแแแแ แแ แแแชแแ, แ แ แแฅแแแแ แจแแแแแ. แแแแแแแแแ, แคแ แแแขแแแขแจแ แแแแแแแก แแแแแฎแแแแ แแ แแแแแขแแแ แแแ แจแแแซแแแแ แฌแแ แแแขแแแฃแแ แแงแแก, แแแแ แแ แแ แ แแแฅแแแแจแ แแ แฉแแแ แแแแแฆแแแ แแแจแแแแฃแแ แแแแแแแชแแแก แกแฃแ แแแแแแก แกแฎแแแแแกแฎแแ แแแ แกแแแแก.
แงแแแแแคแ แแก แกแฌแแ แแ แแแกแแแแแแแแแ, แแก แกแฅแแแ แแแแแฎแแแก แแแแแขแแแแ แแแฃแแก - แกแแแชแแแแฃแ แขแ แแแแ แก, แ แแแแแแช แแแแฆแแแก แกแขแแขแฃแกแแก แแแคแแ แแแชแแแก Kubernetes API-แแแ แแ แแแแแกแชแแแก แแแก แแแแแแแแก แ แแแแฃแ แ แแแแแแแ แแแแแก แจแแแแแแแ แแแแแแแแกแแแแก. แฉแแแ แจแแแฅแแแแแ แฆแแ แแแแแก แแแแแแแแแแ Go-แจแ -
แแ แขแ แแแแ แแก แฅแชแแแ werf แแแแแแ แแแแคแแแฃแ แแ แแแฃแแแ แแแแขแแชแแแแแก แแแแแงแแแแแแ, แ แแแแแแแช แแแแแแแกแแแฃแแแ Deployments แแ StatefulSets. แแแแแแ แ แแแแขแแชแแ - fail-mode
- แแกแแแก แจแแแแแแ แแแแจแแแแแแแแแ:
-
IgnoreAndContinueDeployProcess
โ ะธะณะฝะพัะธััะตะผ ะฟัะพะฑะปะตะผั ะฒัะบะฐัะฐ ััะพะณะพ ะบะพะผะฟะพะฝะตะฝัะฐ ะธ ะฟัะพะดะพะปะถะฐะตะผ ะดะตะฟะปะพะน; -
FailWholeDeployProcessImmediately
โ แแ แแแแแแแแแขแจแ แจแแชแแแแ แแฉแแ แแแก แแแแแแแแแแก แแ แแชแแกแก; -
HopeUntilEndOfDeployProcess
โ แแแแแแแแแแแ, แ แแ แแก แแแแแแแแแขแ แแแแแแแแแแก แแแแแแแ แแแฃแจแแแแแก.
แแแแแแแแแ, แ แแกแฃแ แกแแแแกแ แแ แแแแขแแชแแแก แแแแจแแแแแแแแแแก แแก แแแแแแแแชแแ fail-mode
:
แ แแแแกแแช แฉแแแ แแแ แแแแแ แแแแแแแแแกแแแ, แแแแแชแแแแ แแแแ (MongoDB) แจแแแซแแแแ แฏแแ แแ แแงแแก แแแแ - แแแแแแแแแ แแแ แแแฎแแ แฎแแแแ. แแแแ แแ แจแแแแซแแแแ แแแแแแแแ แแแก แแแฌแงแแแแก แแ แแแแแแแแแ แแแแแช แแแฎแแแแ.
แแ แกแแแแแก แแแแแ แแ แ โโแแแแขแแชแแ แแฃแแแแแแแกแแแแก werf-แจแ:
-
failures-allowed-per-replica
- แแแจแแแแฃแแ แแแ แแแแก แ แแแแแแแแ แแแแแแฃแ แ แแแแแแแแ; -
show-logs-until
โ แแ แแแฃแแแ แแแก แแ แแแแแแขแก, แกแแแแ werf แแฉแแแแแแก (stdout-แจแ) แแฃแ แแแแแแก แงแแแแ แแแจแแแแ แฏแแจแแแแ. แแแแฃแแแกแฎแแแแ แแ แแกPodIsReady
(แแ แจแแขแงแแแแแแแแแแก แแแแแ แแ แแแ, แ แแแแแแแช แแแแแ แแ แแแแแแ, แ แแแแกแแช แขแ แแคแแแ แแฌแงแแแ แแแแแ), แแแแ แแ แแแแจแแแแแแแแแ แแกแแแ แแแฅแแแแแแก:ControllerIsReady
ะธEndOfDeploy
.
แแแแแ แ แ แแแแแแ แแแแแแแแแแกแแแ?
แฃแแแ แแฆแฌแแ แแแ แแ แ แแฃแแฅแขแแก แแแ แแ, แฉแแแ แแแกแฃแ แก:
- แกแแแแฎแแแแ แแแ แแแ - แแ แแฎแแแแ แกแแญแแ แ แแ แแ แ แงแแแแแคแแ แ แแแแแแแ;
- แแแแแก แแ แแแ แแกแ, ะฟะพัะพะผั ััะพ ะตัะปะธ job ยซะผะพะปัะฐยป ะฒะธัะธั ะฝะตัะบะพะปัะบะพ ะผะธะฝัั, ะฒะฐะถะฝะพ ะฟะพะฝะธะผะฐัั, ััะพ ัะฐะผ ะฟัะพะธัั ะพะดะธั;
- แแฅแแก แแแขแแแแขแฃแ แ แแแแ แฃแแแแ แแฃ แ แแแ แแ แแกแฌแแ แแ แฌแแ แแแแ แแ (แแ, แจแแกแแแแแแกแแ, แแแแจแแแแแแแแแแ แแชแแแแ แแแแแแแแแแก แ แแแแฃแ แ แกแขแแขแฃแกแ). แแแจแแแแ แฃแแแ แแงแแก แแขแแแฃแ แ: แแ แแแแแก แแแแแแแ, แแ แงแแแแแคแแ แ แฃแแ แฃแแแแแ แแแแแก แฌแแแ แแแแแแแ แแแแแก.
แจแแแแแแแ
แฉแแแแแแแก, แ แแแแ แช แแแแแแแแแกแแแแก, แงแแแแ แแฆแฌแแ แแแ แแแฃแแแกแแก แแแแกแแฎแแ แชแแแแแแแแ แแแฌแแแแแแก แกแฎแแแแแกแฎแแ แแขแแแแ (แแจแแแแแ, แแแแแฅแแแงแแแแ, แแแแแ แแแ), แกแแแแแ แแกแแ CI แกแแกแขแแแ แแ แฃแขแแแแขแ.
แแแกแแแแแก แแแชแแแแ:
werf-แแก แแแฎแแแ แแแแ, แฉแแแ แแแแแฆแฌแแแ แแแ แ แแ แแแ แแกแก DevOps-แแก แแแแแแ แแแแกแแแแก แแแแ แ แแแแแแแแแก แแ แแแแแแแแแก แแแแแญแ แแจแ แแ แแแฎแแ แฃแแ แแแฅแแแแแ, แแฃ แคแแ แแ แกแแแแแแแแแแแ แแแแแช แแแแแกแชแแแ แแก แแ แแแ แแแ แแแฅแแแแแแแจแ. แแ แแแ แแแ แแ แจแแแแแแก แแแฆแฌแแแ แฃแคแ แ แแแแแแ แแฅแแแแ.
แแแแแแแแ แแ แกแแแแแแแ
แแแแแ แกแแแฅแขแแแแแแแ (~47 แฌแฃแแ):
แแแแแ แแจแแก แแ แแแแแขแแชแแ:
PS
แกแฎแแ แแแฎแกแแแแแแแ Kubernetes-แแก แจแแกแแฎแแ แฉแแแแก แแแแแแ:
- ยซ
แแแขแแแแขแฃแ แ แแแกแจแขแแแแ แแแ แแ แ แแกแฃแ แกแแแแก แแแ แแแ Kubernetes-แจแ ยป (แแแแแขแ แ แกแขแแแแแ แแแ; 27 แฌแแแก 2019 แแแ แแแ "Strike"); - ยซ
Kubernetes-แแก แแแคแแ แแแแแ แแ แจแแแกแแแ ยป (แแแแ แแ แแแแแแแแ; 8 แฌแแแก 2019 แแแ แแแ Saint HighLoad++-แแ); - ยซ
แแแแแชแแแแ แแแแแแ แแ แแฃแแแ แแแขแแแ ยป (แแแแขแ แ แกแขแแแแแ แแแ; 8 แฌแแแก 2018 แแแแแแแ แ HighLoad++-แแ); - ยซ
แแแแแขแแ แแแแ แแ แแฃแแแ แแแขแแแ ยป (แแแแขแ แ แกแขแแแแแ แแแ; 28 แฌแแแก 2018 แแแแกแ RootConf-แแ); - ยซ
CI/CD แกแแฃแแแแแกแ แแ แแฅแขแแแ Kubernetes-แแแ แแ GitLab-แแแ ยป (แแแแขแ แ แกแขแแแแแ แแแ; 7 แฌแแแก 2017 แแแแแแแ แ HighLoad++-แแ); - ยซ
แฉแแแแ แแแแแชแแแแแแ Kubernetes-แแแ แแชแแ แ แแ แแแฅแขแแแจแ ยป (แแแแขแ แ แกแขแแแแแ แแแ; 6 แฌแแแก 2017 แแแแแกแ RootConf-แแ).
แฌแงแแ แ: www.habr.com