
เบเบถเปเบเบเบตเปเบเบดเปเบเบเปเบญเบเบซเบเปเบฒเบเบตเป, เปเบเบงเบฑเบเบเบต 5 เบกเบตเบเบฒ 2018, Google เปเบเปเบเปเบญเบเปเบงเบตเบเบฑเปเบ alpha เบเปเบฒเบญเบดเบเบเบญเบเปเบเบเบเบฒเบ Open Source เบเบญเบเบเบปเบเบชเปเบฒเบฅเบฑเบ CI/CD เบเบตเปเปเบญเบตเปเบเบงเปเบฒ , เปเบเบปเปเบฒเบซเบกเบฒเบเบเบญเบเบกเบฑเบเปเบกเปเบเปเบเบทเปเบญเบชเปเบฒเบ "เบเบฒเบเบเบฑเบเบเบฐเบเบฒ Kubernetes เบเปเบฒเบเบเบฒเบเปเบฅเบฐเบเปเปเบฒเบเบฑเบ" เปเบเบทเปเบญเปเบซเปเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบชเบฒเบกเบฒเบเบชเบธเบกเปเบชเปเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบเบฒเบเบเปเบฅเบดเบซเบฒเบ. เบชเบดเปเบเบเบตเปเบญเบฒเบเบเบฐเบซเบเปเบฒเบชเบปเบเปเบเบเปเบฝเบงเบเบฑเบ Skaffold? เบเปเบญเบเบงเปเบฒเบกเบฑเบเบซเบฑเบเบญเบญเบ, เบกเบฑเบเบกเบตเปเบเบฑเบเบฅเบฑเบเบเปเปเบซเบผเบฒเบเบเบฒเบเปเบเปเบเบดเบเปเบเบเบเบญเบเบกเบฑเบเบเบตเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบซเปเบกเบฑเบเปเบเบฑเบเปเบเบทเปเบญเบเบกเบทเบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒ, เปเบฅเบฐเบญเบฒเบเบเบฐเปเบเบฑเบเบงเบดเบชเบฐเบงเบฐเบเบญเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ. เปเบซเปเบเบงเบเปเบฎเบปเบฒเบฎเบนเปเบเบฑเบเบเบฑเบเปเบเบเบเบฒเบเปเบฅเบฐเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบญเบเบกเบฑเบ.
NB: เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบงเบปเปเบฒเบชเบฑเปเบเปเบเปเบฝเบงเบเบฑเบ Skaffold เปเบเบเบเบปเปเบงเปเบเปเบฅเปเบงเบเบญเบเบเบงเบเปเบฎเบปเบฒ , เบเบตเบงเบดเบเบเบญเบเบเบงเบเปเบเบปเบฒเปเบกเปเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบ Kubernetes.
เบเบดเบเบชเบฐเบเบต. เบเบธเบเบเบฐเบชเบปเบเปเบฅเบฐเบเบงเบฒเบกเบชเบฒเบกเบฒเบ
เบเบฑเปเบเบเบฑเปเบ, เปเบเบเบเบปเปเบงเปเบเปเบฅเปเบง, Skaffold เปเบเปเปเบเบเบฑเบเบซเบฒเบเบญเบเบเบฒเบเปเบฎเบฑเบเปเบซเปเบงเบปเบเบเบญเบ CI / CD เบญเบฑเบเบเบฐเปเบเบกเบฑเบ (เปเบเบเบฑเปเบเบเบญเบเบเบฒเบเบเปเปเบชเปเบฒเบ, เบเบธเบเบเบนเป, เบเปเบฒเปเบเป), เบชเบฐเปเบซเบเบตเปเบซเปเบเบนเปเบเบฑเบเบเบฐเบเบฒเบเบฒเบเบเบญเบเปเบเปเบเบฑเบเบเบต, i.e. เบเบงเบฒเบกโเบชเบฒโเบกเบฒเบโเบเบตเปโเบเบฐโเปเบเปโเบฎเบฑเบโเบขเปเบฒเบโเบงเปเบญเบโเปเบงโเบเบปเบโเบเบญเบโเบเบฒเบโเบเปเบฝเบโเปเบเบโเบฅเบฐโเบซเบฑเบโเบเปเปโเบกเบฒ - เปเบโเบฎเบนเบโเปเบเบโเบเบญเบโเบเปเบฒโเบฎเปเบญเบโเบชเบฐโเบซเบกเบฑเบโเบเบตเปโเบเบฑเบโเบเบธเบโเปเบฅเปเบโเปเบโเบเบธเปเบก Kubernetesโ. เปเบฅเบฐเบกเบฑเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเบงเบปเบเบเบญเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ (dev, เบเบฑเปเบเบเบญเบ, เบเบฒเบเบเบฐเบฅเบดเบ ... ), เบเบตเป Skaffold เบเปเบงเบเบญเบฐเบเบดเบเบฒเบเบเปเปเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบ rollout.
เบฅเบฐเบซเบฑเบเปเบซเบผเปเบเบเบญเบ Skaffold เปเบกเปเบเบเบฝเบเปเบ Go, เบเบฒเบเปเบเปเปเบเบญเบฐเบเบธเบเบฒเบ Apache 2.0 (GitHub).
เบเปเปเบซเปเปเบเบดเปเบเบซเบเปเบฒเบเบตเปเบเบปเปเบเบเปเปเบฅเบฐเบฅเบฑเบเบชเบฐเบเบฐเบเปเบฒเบเป. เบเปเบฒเบญเบดเบเบเบฐเบเบญเบเบกเบตเบเบฑเปเบเบเปเปเปเบเบเบตเป:
- Skaffold เบชเบฐเปเปเบตเปเบเบทเปเบญเบเบกเบทเปเบเบเบฒเบเบชเปเบฒเบเบเปเป CI/CD.
- เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบเบดเบเบเบฒเบกเบเบฒเบเบเปเบฝเบเปเบเบเบเบญเบเบฅเบฐเบซเบฑเบเปเบซเบผเปเบเปเบเบเบทเปเบเบซเบฅเบฑเบเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฐเบเบงเบเบเบฒเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเบญเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบฅเบฐเบซเบฑเบเปเบเบปเปเบฒเปเบเปเบเบฎเบนเบเบเบฒเบเบเบฑเบเบเบธ, เปเบเบตเบเปเบเปเบฎเบนเบเบเบฒเบเปเบซเบผเบปเปเบฒเบเบตเปเบขเบนเปเปเบ Docker Registry เปเบฅเบฐเบเปเบฒเปเบเปเบเปเบเบฑเบเบเบธเปเบก Kubernetes.
- synchronizes เปเบเบฅเปเปเบ repository เบเบฑเบ directory เปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบ container เปเบเป.
- เบเบปเบเบชเบญเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบเบเปเบเป container-structure-test.
- เบชเบปเปเบเบเปเปเบเบญเบ.
- เบญเปเบฒเบเบเบฑเบเบเบถเบเบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเปเบฅเปเบเบขเบนเปเปเบเบเปเบญเบเบเบฑเบเบเบธ.
- เบเปเบงเบเปเบเบเบฒเบเปเบเปเบเบฑเบเบซเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเบเบฝเบเปเบ Java, Node.js, Python, Go.
เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฝเบงเบเบฑเบเบเบธเบเบเบฐเบชเบปเบกเบเบฑเบ:
- Skaffold เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเบเปเปเบกเบตเบญเบปเบเบเบฐเบเบญเบเบเปเบฒเบเบเปเบฒเบเบเบญเบเบเบธเปเบก. เบเบฑเปเบเปเบกเปเบ, เบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฑเปเบเบเปเบฒ Kubernetes เบเบทเปเบกเบญเบตเบเปเบเบทเปเบญเปเบเปเบเบฐเปเบซเบเบเบเบตเป.
- เบเปเปเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเปเบฒเบ. เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบกเปเบงเบเบฅเบฐเบซเบฑเบเปเบเบเบฑเบ Minikube เบเปเบญเบเบเบดเปเบเปเบเบเบฐเบเบฐเบเบตเปเบเปเบฒเบเบเปเบฒเบฅเบฑเบเบเบฑเบเบเบฐเบเบฒ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบทเปเบญเบเบฑเปเบเบเบญเบเบซเบผเบทเบเบฒเบเบเบฐเบฅเบดเบ? เบชเปเบฒเบฅเบฑเบเบเบธเบเบเบฐเบชเบปเบเบเบตเปเบกเบต เปเบฅเบฐเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบนเปเปเบเป, เบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเปเบฅเบฐเบเบธเบ, เปเบเบดเปเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบญเบฐเบเบดเบเบฒเบเบเปเปเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบซเบเบถเปเบ.
- CLI. เบเบฝเบเปเบเป console utility เปเบฅเบฐ configurations เปเบ YAML. เปเบเบญเบดเบเปเบเบตเปเบเบฑเบเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบญเบเบซเบฒเบเบฒเบเบญเปเบฒเบเบญเบตเบเปเบเบดเบเบเบงเบฒเบกเบเบฐเบเบฒเบเบฒเบกเบเบตเปเบเบฐเบชเปเบฒเบ เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เปเบเปเบงเบฅเบฒเบเบตเป, เบชเปเบงเบเบซเบผเบฒเบเบญเบฒเบเบเบฐเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบนเปเปเบเบเบนเปเบซเบเบถเปเบเบเปเบญเบเบเบฒเบเบฅเบฒเบง, เปเบเปเบเปเปเปเบกเปเบเปเบเปเป.
- เบเบงเบฒเบกเบเปเบญเบเปเบเปเบง. Skaffold เบเปเปเปเบกเปเบเปเบเบทเปเบญเบเปเบเบฑเบเบเปเบฝเบงเปเบเบเบเปเบฝเบง, เปเบเปเบเบฐเบเบฒเบเบฒเบกเปเบเปเปเบกเบเบนเบเบชเปเบงเบเบเบธเบเบเบปเบเบซเบผเบทเบเบฒเบเปเบเปเปเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบงเบชเปเบฒเบฅเบฑเบเบงเบฝเบเบเบฒเบเบชเบฐเปเบเบฒเบฐ.
เบฎเบนเบเบเบฐเบเบญเบเบเบญเบเบญเบฑเบเบชเบธเบเบเปเบฒเบ:
- เปเบเบเบฑเปเบเบเบญเบเบเบฒเบเบเบฐเบเบญเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเป:
- docker เบชเปเบฒเบเบขเบนเปเปเบเบเปเบญเบเบเบดเปเบ, เปเบเบเบธเปเบกเปเบเบเปเบเป kaniko เบซเบผเบทเปเบ Google Cloud Build;
- Bazel เบเปเบญเบเบเบดเปเบ;
- Jib Maven เปเบฅเบฐ Jib Gradle เบขเบนเปเปเบเบเปเบญเบเบเบดเปเบเบซเบผเบทเปเบ Google Cloud Build;
- script build custom เบเปเบฒเปเบเบตเบเบเบฒเบเบขเบนเปเปเบเบเปเบญเบเบเบดเปเบ. เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเปเบเปเบเบฒเบเปเบเปเปเบเบเบฒเบเบชเปเบฒเบเปเบเบเบญเบทเปเบ (เบเบตเปเบกเบตเบเบงเบฒเบกเบเบทเบเบซเบเบธเปเบ / เบเบธเปเบเปเบเบตเบ / ... ) เบกเบฑเบเปเบเปเบเบทเบเบญเบฐเบเบดเบเบฒเบเปเบงเปเปเบเบชเบฐเบเบดเบเปเบเบทเปเบญเปเบซเป Skaffold เปเบเบตเบเบเบปเบง (). เบเบตเปเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเปเบเปเบเบปเบงเปเบเบฑเบเปเบเปเบเบตเปเบชเบฒเบกเบฒเบเปเบญเบตเปเบเปเบเปเปเบเบเปเบเป script;
- เปเบเบเบฑเปเบเบเบญเบเบเบฒเบเบเบปเบเบชเบญเบ, เบเบตเปเปเบเปเบเปเบฒเบงเบกเบฒเปเบฅเปเบง ;
- เบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเบเปเบฒโเปเบเปโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโเปเบกเปเบโเปเบเปโเบชเบฐโเบซเบเบญเบโเปเบซเปโ:
- Kubectl;
- เปเบงเบ;
- เบเบฑเบเปเบเปเบ.
เบเปเบเบญเบเปเบเบเบฑเบเบเบตเป, Skaffold เบชเบฒเบกเบฒเบเปเบญเบตเปเบเบงเปเบฒเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบ เปเบเบโเบฎเปเบฒเบโเบเบฒเบโเบชเปเบฒเบ CI/CD. เบเบตเปเปเบกเปเบเบเบฑเปเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบปเบงเบขเปเบฒเบเปเบกเบทเปเบญเปเบเปเบกเบฑเบ (เบเบฒเบเปเบญเบเบฐเบชเบฒเบเปเบเบเบเบฒเบ):

เบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบ Skaffold เบกเบตเบฅเบฑเบเบชเบฐเบเบฐเปเบเบงเปเบเปเบเปเบเบทเปเบญเบเปเบเบเบปเปเบงเปเบ?
- เบเบปเบเบเบฐเปเบซเบเบเบเบดเบเบเบฒเบกเบเบงเบเบเบฒเบเบฒเบเบเปเบฝเบเปเบเบเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบฅเบฐเบซเบฑเบเปเบซเบผเปเบ. เบเปเบฒเบกเบตเบเบฒเบเบเบฑเบเปเบเปเปเบเบฅเป, เบเบงเบเบกเบฑเบเบเบฐเบเบทเบ synchronized เบเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ pod เปเบเบเบธเปเบก Kubernetes. เบเปเบฒเปเบเบฑเบเปเบเปเบเป, เปเบเบเบเปเปเบกเบตเบเบฒเบเบเบฐเบเบญเบเบฎเบนเบเบเบฒเบเบเบทเบ. เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบ, เบฎเบนเบเบเบฒเบเปเบซเบกเปเปเบกเปเบเบเบฐเบเบญเบ.
- เบฎเบนเบเบเบฒเบเบเบตเปเบเบฐเบเบญเบเบเบทเบเบเบงเบเบชเบญเบเปเบเบเปเบเป container-structure-test, tagged เปเบฅเบฐเบชเบปเปเบเปเบเบเบตเป Docker Registry.
- เบซเบผเบฑเบเบเบฒเบเบเบตเป, เบฎเบนเบเบเบฒเบเปเบเปเบเบทเบเบเปเบฒเปเบเปเบเป - เบเบทเบเบเปเบฒเปเบเปเปเบเบเบธเปเบก Kubernetes.
- เบเปเบฒเบเบฒเบเปเบเบตเบเบเบปเบงเปเบเปเบเบทเบเปเบฅเบตเปเบกเบเบปเปเบเปเบเบเปเบเปเบเปเบฒเบชเบฑเปเบ
skaffold dev, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบเปเบฎเบฑเบเบเบฑเบเบเบถเบเบเบฒเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ, เปเบฅเบฐ Skaffold เบฅเปเบเปเบฒเบเบฒเบเบเปเบฝเบเปเบเบเปเบเบทเปเบญเปเบฎเบฑเบเบเปเปเบฒเบเบธเบเปเบเบฒเบเบเบฐเบเปเบฒเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ.

เบฎเบนเบเบเบฒเบเบเบญเบเบเบฑเปเบเบเบญเบเบเบปเปเบเบเปเบเบญเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ Skaffold
เบเบฐเบเบดเบเบฑเบ. เบเบฐเบเบฒเบเบฒเบก Skaffold
เปเบเบทเปเบญเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบเบฒเบเบเปเบฒเปเบเป Skaffold, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเปเบญเบปเบฒเบเบปเบงเบขเปเบฒเบเบเบฒเบ ... เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบญเบเบซเบฒเบเบปเบงเบขเปเบฒเบเบญเบทเปเบเปเบเปเบฒเบเบงเบเบซเบผเบฒเบเบเบตเปเบเปเบฒเบเบถเบเปเบเบดเบเบชเบฐเปเบเบฒเบฐเบเปเบฒเบเป. เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเปเบเบเปเบญเบเบเบดเปเบเปเบ Minikube. เบเบฒเบเบเบดเบเบเบฑเปเบเปเบกเปเบเบเปเบฒเบเบเบฒเบเปเบฅเบฐเปเบเปเปเบงเบฅเบฒเบชเบญเบเบชเบฒเบกเบเบฒเบเบต, เปเบฅเบฐเบเปเบฒเบเบเปเบญเบเบเบฒเบ kubectl เปเบเบทเปเบญเปเบฅเบตเปเบกเบเบปเปเบ.
เบเบดเบเบเบฑเปเบ Skaffold:
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64
chmod +x skaffold
sudo mv skaffold /usr/local/bin
skaffold version
v0.37.1
เปเบซเป clone เบเบฑเบเปเบเบฑเบเบเบญเบ Skaffold เบเปเบงเบเบเบปเบงเบขเปเบฒเบเบเบตเปเบเปเบฒเปเบเบฑเบ:
git clone https://github.com/GoogleContainerTools/skaffold
cd skaffold/examples/microservices
เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบฅเบทเบญเบเบเบปเบงเบขเปเบฒเบเบเบตเปเบกเบตเบชเบญเบเบเบฑเบ, เปเบเปเบฅเบฐเบญเบฑเบเบกเบตเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ Go เบเบฐเบซเบเบฒเบเบเปเบญเบเบซเบเบถเปเบ. เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบซเบเบถเปเบเปเบกเปเบ frontend (leeroy-web), เปเบเบดเปเบเบเปเบฝเบเปเบชเบฑเปเบเบเบฒเบเบเบฒเบเบฎเปเบญเบเบเปเปเบเบซเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเบชเบญเบ - backend (leeroy-app). เบกเบฒโเปเบเบดเปเบโเบเบฑเบโเบงเปเบฒโเปเบเบฑเบโเปเบเบงโเปเบ:
~/skaffold/examples/microservices # tree
.
โโโ leeroy-app
โ โโโ app.go
โ โโโ Dockerfile
โ โโโ kubernetes
โ โโโ deployment.yaml
โโโ leeroy-web
โ โโโ Dockerfile
โ โโโ kubernetes
โ โ โโโ deployment.yaml
โ โโโ web.go
โโโ README.adoc
โโโ skaffold.yaml
4 directories, 8 files
leeroy-app เปเบฅเบฐ leeroy-web เบกเบตเบฅเบฐเบซเบฑเบ Go เปเบฅเบฐ Dockerfiles เบเปเบฒเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเบฅเบฐเบซเบฑเบเบเบตเปเบขเบนเปเปเบเบเปเบญเบเบเบดเปเบ:
~/skaffold/examples/microservices # cat leeroy-app/Dockerfile
FROM golang:1.12.9-alpine3.10 as builder
COPY app.go .
RUN go build -o /app .
FROM alpine:3.10
CMD ["./app"]
COPY --from=builder /app .
เบเปเบญเบเบเบฐเบเปเปเปเบซเปเบฅเบฐเบซเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ - เบกเบฑเบเบเบฝเบเบเปเบเบตเปเบเบฐเบฎเบนเปเบงเปเบฒ leeroy-web เบเบญเบกเบฎเบฑเบเบเบฒเบเบฎเปเบญเบเบเปเปเบฅเบฐเบเบปเบงเปเบเบเปเบซเปเปเบเบปเบฒเปเบเบปเปเบฒ leeroy-app. เปเบเบฒเบฐเบชเบฐเบเบฑเปเบเปเบเปเบเบฅเป Deployment.yaml เบกเบตเบเปเบฅเบดเบเบฒเบเบเบฝเบเปเบเปเบชเปเบฒเบฅเบฑเบ app (เบชเปเบฒเบฅเบฑเบเปเบชเบฑเปเบเบเบฒเบเบเบฒเบเปเบ). เบเบญเบเบเบญเบ web เบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบปเปเบเบเปเปเปเบซเปเบเบฑเบเบเบปเบงเปเบฎเบปเบฒเปเบญเบเปเบเบทเปเบญเปเบเบปเปเบฒเปเบเบดเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบเปเปเบง.
เปเบเบดเปเบเบเบทเบงเปเบฒ skaffold.yaml:
~/skaffold/examples/microservices # cat skaffold.yaml
apiVersion: skaffold/v1beta13
kind: Config
build:
artifacts:
- image: leeroy-web
context: ./leeroy-web/
- image: leeroy-app
context: ./leeroy-app/
deploy:
kubectl:
manifests:
- ./leeroy-web/kubernetes/*
- ./leeroy-app/kubernetes/*
portForward:
- resourceType: deployment
resourceName: leeroy-web
port: 8080
localPort: 9000
เบเบฑเปเบเบเบญเบเบเบฑเบเบซเบกเบปเบเบเบตเปเปเบเปเบเปเบฒเบงเบกเบฒเบเปเบฒเบเปเบเบดเบเปเบกเปเบเปเบเปเบญเบฐเบเบดเบเบฒเบเบขเบนเปเบเบตเปเบเบตเป. เบเบญเบเปเบซเบเบทเบญเปเบเบเบฒเบ config เบเบตเป, เบเบฑเบเบกเบตเปเบเบฅเปเบเบตเปเบกเบตเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบปเปเบงเปเบฅเบ - ~/.skaffold/config. เบกเบฑเบเบชเบฒเบกเบฒเบเบเบทเบเปเบเปเปเบเบเปเบงเบเบเบปเบเปเบญเบเบซเบผเบทเบเปเบฒเบ CLI - เบเบปเบงเบขเปเบฒเบเปเบเบฑเปเบเบเบตเป:
skaffold config set --global local-cluster true
เบเปเบฒเบชเบฑเปเบเบเบตเปเบเบฐเบเปเบฒเบเบปเบเบเบปเบงเปเบเบเบปเปเบงเปเบฅเบ local-cluster เปเบเบปเปเบฒเปเบเปเบเบเบงเบฒเบกเบซเบกเบฒเบ true, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ Skaffold เบเบฐเบเปเปเบเบฐเบเบฒเบเบฒเบกเบเบนเปเบฎเบนเบเบเบฒเบเปเบเบเบฑเบเบฅเบตเบเบดเบเบเบตเบเบฒเบเปเบ. เบเปเบฒเบเปเบฒเบเบเปเบฒเบฅเบฑเบเบเบฑเบเบเบฐเบเบฒเบขเบนเปเปเบเบเปเบญเบเบเบดเปเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเปเบฒเบชเบฑเปเบเบเบตเปเปเบเบทเปเบญเบชเปเบฒเบเบฎเบนเบเบเบฒเบเปเบเบเปเบญเบเบเบดเปเบ.
เบเบฑเบโเปเบ skaffold.yaml:
- เบขเบนเปเปเบเบดเบเปเบงเบเบต
buildเบเบงเบเปเบฎเบปเบฒเบฅเบฐเบเบธเบงเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเปเบเบฑเบเบเปเบฒเปเบฅเบฐเบเบฑเบเบเบถเบเบฎเบนเบเบเบฒเบเบขเบนเปเปเบเบเปเบญเบเบเบดเปเบ. เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเปเปเบชเปเบฒเบเปเบฅเปเบเปเบเบฑเบเบเบฑเปเบเบเปเบฒเบญเบดเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบซเบฑเบเบเบฑเปเบเบเปเปเปเบเบเบตเป:// ั.ะบ. Minikube ัะพะทะดะฐะตั ะบะปะฐััะตั ะฒ ะพัะดะตะปัะฝะพะน ะฒะธัััะฐะปัะฝะพะน ะผะฐัะธะฝะต, // ะฟัะธะดะตััั ะฟัะพะฝะธะบะฝััั ะฒะฝัััั, ััะพะฑั ะฝะฐะนัะธ ะพะฑัะฐะทั # minikube ssh $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE leeroy-app 7d55a50803590b2ff62e47e6f240723451f3ef6f8c89aeb83b34e661aa287d2e 7d55a5080359 4 hours ago 13MB leeroy-app v0.37.1-171-g0270a0c-dirty 7d55a5080359 4 hours ago 13MB leeroy-web 5063bfb29d984db1ff70661f17d6efcc5537f2bbe6aa6907004ad1ab38879681 5063bfb29d98 5 hours ago 13.1MB leeroy-web v0.37.1-171-g0270a0c-dirty 5063bfb29d98 5 hours ago 13.1MBเบเบฑเปเบเบเบตเปเปเบเบปเปเบฒเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเป, Skaffold tagged เบฎเบนเบเบเบฒเบเบเบญเบเบเบปเบเปเบญเบ. เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, เบเบฐเปเบเบเบฒเบ tagging เบซเบผเบฒเบเปเบกเปเบเปเบเปเบฎเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ.
- เบเบญเบเบเบฒเบเบเบฑเปเบเปเบ config เบกเบฑเบเบเบทเบเบเบตเปเบเบญเบ
context: ./leeroy-app/, i.e. เบชเบฐเบเบฒเบเบเบฒเบเบเบตเปเบฎเบนเบเบเบฒเบเบเบทเบเปเบเบฑเบเบเบณเปเบกเปเบเบฅเบฐเบเบธเปเบงเป. - เปเบเบเบฑเปเบเบเบญเบเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ, เบกเบฑเบเบเบทเบเบเปเบฒเบเบปเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเป kubectl เปเบฅเบฐเบซเบเปเบฒเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบฐเปเบเบเบญเบญเบเบเบตเปเบเปเบฒเปเบเบฑเบ.
-
PortForward: เบเปเบฒเบเบเบทเบเบฑเบเบงเบดเบเบตเบเบตเปเบเบงเบเปเบฎเบปเบฒเบกเบฑเบเบเบฐเบชเบปเปเบเบเปเปเบเบญเบเปเบเบเปเบเปkubectl port-forward, เบเบงเบเปเบฎเบปเบฒเปเบซเปเบเปเบฒเปเบเบฐเบเปเบฒเบเบฑเบ Skaffold เปเบเบทเปเบญเปเบเบซเบฒเบเปเบฒเบชเบฑเปเบเบเบตเป. เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เบเปเบฒเปเบฎเบทเบญเบเปเบญเบเบเบดเปเบ 9000 เบเบทเบเบชเบปเปเบเบเปเปเปเบเบซเบฒ 8080 เปเบ Deployment เบเปเบงเบเบเบทเป.leeroy-web.
เบกเบฑเบเปเบเบฑเบเปเบงเบฅเบฒเบเบตเปเบเบฐเปเบเบตเบเบเบปเบง skaffold dev: เบเบตเบกเบเบฒเบเบเบฐเบชเปเบฒเบ "เบงเบปเบเบเบฒเบเบเปเบฒเบเบดเบเปเบซเบฑเบ" เบขเปเบฒเบเบเปเปเปเบเบทเปเบญเบ, i.e. เบกเบฑเบเบเปเปเบเบฝเบเปเบเปเบเบฐเบฅเบงเบเบฅเบงเบกเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบฅเบฐเบเปเบฒเปเบเปเบเปเปเบเบเบธเปเบก, เปเบเปเบเบฑเบเบเบฐเบเบญเบเบเปเบฒเบเบเปเบฝเบงเบเบฑเบเบชเบฐเบเบฒเบเบฐเบเบญเบเบเบฑเบเปเบเบเบฑเบเบเบธเบเบฑเบ, เบเบดเบเบเบฒเบกเบเบฒเบเบเปเบฝเบเปเบเบเปเบฅเบฐเบเบฑเบเบเบธเบเบชเบฐเบเบฒเบเบฐเบเบญเบเบเบฑเบ.
เบเบตเปเปเบกเปเบเบเบปเบเบเบฒเบเปเบเบตเบเบเบปเบง skaffold dev --port-forward เปเบกเบทเปเบญโเบเบฐเบเบญเบโเบเบทเบโเปเปเป:

เบเปเบฒเบญเบดเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบงเปเบฒ cache เบเบทเบเบเปเบฒเปเบเป. เบเปเปเปเบ, เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบเปเบเบทเบเบเบฐเบเบญเบ, deployed, เปเบฅเบฐเบเบญเบเปเบกเปเบเบชเบปเปเบเบเปเป. เบเบฑเปเบโเปเบเปโเบฅเบฐโเบเบธโเปเบงเปโ --port-forward, Skaffold เบชเบปเปเบเบเปเปเบเบญเบเปเบ web, เบเบฑเปเบเบเบตเปเบฅเบฒเบงเบเบทเบเบเบฒเบก, เปเบเปเบขเบนเปเบเบตเปเบเบตเป app เบฅเบฒเบงเบเบดเปเบกเบเบฒเบกเบเบฒเบเบเบฑเบเบชเบดเบเปเบเบเบญเบเบเบปเบเปเบญเบ (เปเบฅเบทเบญเบเบเบตเปเปเบเปเบเบตเปเบชเบธเบเบเบฃเบต). เบซเบผเบฑเบเบเบฒเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบเบฑเบเบเบถเบเบเปเบฒเบญเบดเบเบเบฒเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ.
เปเบซเปเบเบงเบเปเบเบดเปเบเบงเปเบฒเบกเบฑเบเปเบฎเบฑเบเบงเบฝเบเบเป?
~/skaffold/examples/microservices # kubectl get po
NAME READY STATUS RESTARTS AGE
leeroy-app-6998dfcc95-2nxvf 1/1 Running 0 103s
leeroy-web-69f7d47c9d-5ff77 1/1 Running 0 103s
~/skaffold/examples/microservices # curl localhost:9000
leeroooooy app!!!
เบเบฒเบโเบเบฑเบโเบเบธเบโเปเบเบฅโเปโ leeroy-app/app.go - เบเปเปโเบเปโเปเบเบปเปเบฒโเปเบโเบงเบดโเบเบฒโเบเบตโเบเปเบฒเบโเปเบ ... เปเบฅเบฐโ:
~/skaffold/examples/microservices # kubectl get po
NAME READY STATUS RESTARTS AGE
leeroy-app-ffd79d986-l6nwp 1/1 Running 0 11s
leeroy-web-69f7d47c9d-5ff77 1/1 Running 0 4m59s
~/skaffold/examples/microservices # curl localhost:9000
leeroooooy Habr!!!
เปเบเบเบฐเบเบฐเบเบฝเบงเบเบฑเบ, Skaffold เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเปเบเปเบชเบฐเปเบเบเบชเบดเปเบเบเบฝเบงเบเบฑเบเบขเบนเปเปเบ console เบเบทเบเปเบญเบ, เปเบเบเบกเบตเบเปเปเบเบปเบเปเบงเบฑเปเบเบซเบเบถเปเบเบเบธเบ: เบกเบฑเบเบเบฝเบเปเบเปเบกเปเบงเบเบญเบญเบ. leeroy-app, เปเบฅเบฐเบเปเปเปเบกเปเบเบเบฑเบเบซเบกเบปเบเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ.
เบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเบตเปเบกเปเบเบตเบก
เบกเบฑเบเบเบฑเบเบกเบตเบกเบนเบเบเปเบฒเบเบญเบเบงเปเบฒเปเบกเบทเปเบญเบชเปเบฒเบเปเบเบเบเบฒเบเปเบซเบกเป, configs เบชเปเบฒเบฅเบฑเบ Skaffold เบชเบฒเบกเบฒเบเบเบทเบ bootstrapped เปเบเบเปเบเปเบเปเบฒเบชเบฑเปเบ. init, เปเบเบดเปเบเบชเบฐเบเบงเบเบซเบผเบฒเบ. เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฝเบ configs เบซเบผเบฒเบ: เบเปเบฒเปเบเบตเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบ config เปเบฅเบตเปเบกเบเบปเปเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ roll out เบเบฑเบเบเบฑเปเบเบเบญเบเบเบญเบเบเปเบฒเบชเบฑเปเบ. run (เบเบฐเบเบงเบเบเบฒเบเบเบฝเบงเบเบฑเบเบเบฑเบ dev, เบเบฝเบเปเบเปเบเปเปเปเบเปเบเบดเบเบเบฒเบกเบเบฒเบเบเปเบฝเบเปเบเบ), เบเบฒเบเบเปเบฒเปเบเป config เบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ.
เปเบ katacoda เบกเบต เบกเบฑเบเบเปเบฒเบเบเบงเปเบฒเบเบฑเบเบเบปเบงเบขเปเบฒเบ. เปเบเปเบกเบฑเบเบชเบฐเบซเบเบญเบ sandbox เบเปเบญเบกเบเบตเปเบเบฐเปเบฎเบฑเบเบเปเบงเบ Kubernetes, เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบฅเบฐ Skaffold. เบเบฒเบโเปเบฅเบทเบญเบโเบเบตเปโเบเบตโเบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบเปเบฒเบโเบกเบตโเบเบงเบฒเบกโเบชเบปเบโเปเบโเปเบโเบเบฒเบโเบเบฐโเบเบฒโเบเบฒเบกโเบญเบญเบโเบเบทเปเบโเบเบฒเบโเบซเบผเบฒเบโเบเบปเบงโเบเปเบฒเบโเปเบญเบโ.
เบเปเบฅเบฐเบเบตเบเบฒเบเบเปเบฒเปเบเปเบเบตเปเปเบเบฑเบเปเบเปเบเปเบซเบเบถเปเบเบชเปเบฒเบฅเบฑเบ Skaffold เปเบกเปเบเปเบเบทเปเบญเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบเบเบธเปเบกเบซเปเบฒเบเปเบเบชเบญเบเบซเบผเบตเบ. เบเปเปเปเบกเปเบเบเบธเบเบเบปเบเบชเบฐเบเบงเบเบชเบฐเบเบฒเบเปเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบ Minikube เปเบเบฎเบฒเบเปเบงเบเบญเบเบเบปเบเปเบญเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบตเบเบเบปเบงเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบฅเบฐเบเบฒเบเบงเปเบฒเบเบฐเปเบฎเบฑเบเบงเบฝเบเบขเปเบฒเบเบเบฝเบเบเป ... เปเบเบเปเบฅเบฐเบเบตเบเบตเป, Skaffold เปเบเปเปเบเบเบฑเบเบซเบฒเบขเปเบฒเบเบชเบปเบกเบเบนเบ, เปเบเบดเปเบเบชเบฒเบกเบฒเบเบขเบทเบเบขเบฑเบเปเบเป, เบชเปเบฒเบฅเบฑเบเบเบปเบงเบขเปเบฒเบ, เปเบเบเบงเบดเบชเบฐเบงเบฐเบเบญเบ Reddit, เบเบฑเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบกเบต. เบชเบปเบเบเบฐเบเบฒเปเบฅเปเบง เปเบ blog เบเบญเบเบเบงเบเปเบฎเบปเบฒ.
เปเบฅเบฐเปเบ เบเบฒเบ Weaveworks เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบญเบเบซเบฒเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฒเบเบชเปเบฒเบเบเปเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบฅเบดเบ.
เบชเบฐเบซเบฅเบธเบ
Skaffold เปเบเบฑเบเปเบเบทเปเบญเบเบกเบทเบเบตเปเบชเบฐเบเบงเบเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเปเปเบชเบปเปเบเบเปเปเบกเบนเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเปเบเบตเบเบเบปเบงเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Kubernetes เปเบฅเบฐเปเบเบฑเปเบเปเบชเปเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเปเบฒเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบเบฑเบเบเบปเปเบเบเป. เบกเบฑเบเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเปเบญเบเบเปเบฒเบเบเปเบฒเบเบเบตเปเบเบฐเบชเปเบฒเบเบเปเป "เบชเบฑเปเบ" เปเบเบดเปเบเบเปเบฒเบเบถเบเปเบเบดเบเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบทเปเบเบเบฒเบเบเบญเบเบเบนเปเบเบฑเบเบเบฐเบเบฒ, เปเบเปเบเปเบฒเบเปเบญเบเบเบฒเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฑเบเบเบฐเบเบงเบเบเบฒเบเบเบฐเบซเบเบฒเบเปเบซเบเปเปเบเป. เปเบเบฑเบเบซเบเบถเปเบเปเบเบเบปเบงเบขเปเบฒเบเบเบตเปเบเบฑเบเปเบเบเบเบญเบเบเบฒเบเบเปเบฒเปเบเป Skaffold เปเบเบเบฐเบเบงเบเบเบฒเบ CI / CD เบเบฑเปเบโเบเปเบฒเบง เบเบญเบ 10 microservices เปเบเบเปเบเปเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบญเบ Kubernetes, gRPC, Istio เปเบฅเบฐ OpenCensus Tracing.
Skaffold เบกเบตเปเบเบทเบญเบ 8000+ เบเบฒเบงเบขเบนเปเปเบ GitHub, เบเบทเบเบเบฑเบเบเบฐเบเบฒเปเบเบ Google เปเบฅเบฐเปเบเบฑเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบ โ เปเบเบโเบเบปเปเบงโเปเบ, เปเบโเบเบฑเบโเบเบธโเบเบฑเบโเบกเบตโเปเบซเบโเบเบปเบโเบเบตเปโเบเบฐโเปเบเบทเปเบญโเบงเปเบฒโเปเบเบโเบเบฒเบโเบเบฐโเบเบฑเบโเบเบฐโเบเบฒโเบขเปเบฒเบโเบกเบตโเบเบงเบฒเบกโเบชเบธเบโเบเบธเบโเบเบฑเปเบโเบเปเปโเปเบโ.
PS
เบญเปเบฒเบเบเบฑเบเบขเบนเปเปเบ blog เบเบญเบเบเบงเบเปเบฎเบปเบฒ:
- ยซ"
- ยซ"
- ยซ"
- ยซ".
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com
