เบเบถเปเบเบเบตเปเบเบดเปเบเบเปเบญเบเบซเบเปเบฒเบเบตเป, เปเบเบงเบฑเบเบเบต 5 เบกเบตเบเบฒ 2018, Google เปเบเปเบเปเบญเบเปเบงเบตเบเบฑเปเบ alpha เบเปเบฒเบญเบดเบเบเบญเบเปเบเบเบเบฒเบ Open Source เบเบญเบเบเบปเบเบชเปเบฒเบฅเบฑเบ CI/CD เบเบตเปเปเบญเบตเปเบเบงเปเบฒ
NB: เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบงเบปเปเบฒเบชเบฑเปเบเปเบเปเบฝเบงเบเบฑเบ Skaffold เปเบเบเบเบปเปเบงเปเบเปเบฅเปเบงเบเบญเบเบเบงเบเปเบฎเบปเบฒ
เบเบดเบเบชเบฐเบเบต. เบเบธเบเบเบฐเบชเบปเบเปเบฅเบฐเบเบงเบฒเบกเบชเบฒเบกเบฒเบ
เบเบฑเปเบเบเบฑเปเบ, เปเบเบเบเบปเปเบงเปเบเปเบฅเปเบง, Skaffold เปเบเปเปเบเบเบฑเบเบซเบฒเบเบญเบเบเบฒเบเปเบฎเบฑเบเปเบซเปเบงเบปเบเบเบญเบ CI / CD เบญเบฑเบเบเบฐเปเบเบกเบฑเบ (เปเบเบเบฑเปเบเบเบญเบเบเบฒเบเบเปเปเบชเปเบฒเบ, เบเบธเบเบเบนเป, เบเปเบฒเปเบเป), เบชเบฐเปเบซเบเบตเปเบซเปเบเบนเปเบเบฑเบเบเบฐเบเบฒเบเบฒเบเบเบญเบเปเบเปเบเบฑเบเบเบต, i.e. เบเบงเบฒเบกโเบชเบฒโเบกเบฒเบโเบเบตเปโเบเบฐโเปเบเปโเบฎเบฑเบโเบขเปเบฒเบโเบงเปเบญเบโเปเบงโเบเบปเบโเบเบญเบโเบเบฒเบโเบเปเบฝเบโเปเบเบโเบฅเบฐโเบซเบฑเบโเบเปเปโเบกเบฒ - เปเบโเบฎเบนเบโเปเบเบโเบเบญเบโเบเปเบฒโเบฎเปเบญเบโเบชเบฐโเบซเบกเบฑเบโเบเบตเปโเบเบฑเบโเบเบธเบโเปเบฅเปเบโเปเบโเบเบธเปเบก Kubernetesโ. เปเบฅเบฐเบกเบฑเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเบงเบปเบเบเบญเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ (dev, เบเบฑเปเบเบเบญเบ, เบเบฒเบเบเบฐเบฅเบดเบ ... ), เบเบตเป Skaffold เบเปเบงเบเบญเบฐเบเบดเบเบฒเบเบเปเปเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบ rollout.
เบฅเบฐเบซเบฑเบเปเบซเบผเปเบเบเบญเบ Skaffold เปเบกเปเบเบเบฝเบเปเบ Go,
เบเปเปเบซเปเปเบเบดเปเบเบซเบเปเบฒเบเบตเปเบเบปเปเบเบเปเปเบฅเบฐเบฅเบฑเบเบชเบฐเบเบฐเบเปเบฒเบเป. เบเปเบฒเบญเบดเบเบเบฐเบเบญเบเบกเบตเบเบฑเปเบเบเปเปเปเบเบเบตเป:
- 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. เปเบเบญเบดเบเปเบเบตเปเบเบฑเบเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบญเบเบซเบฒเบเบฒเบเบญเปเบฒเบเบญเบตเบเปเบเบดเบเบเบงเบฒเบกเบเบฐเบเบฒเบเบฒเบกเบเบตเปเบเบฐเบชเปเบฒเบ
GUI เบเบปเบเบฅเบญเบ เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เปเบเปเบงเบฅเบฒเบเบตเป, เบชเปเบงเบเบซเบผเบฒเบเบญเบฒเบเบเบฐเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบนเปเปเบเบเบนเปเบซเบเบถเปเบเบเปเบญเบเบเบฒเบเบฅเบฒเบง, เปเบเปเบเปเปเปเบกเปเบเปเบเปเป. - เบเบงเบฒเบกเบเปเบญเบเปเบเปเบง. Skaffold เบเปเปเปเบกเปเบเปเบเบทเปเบญเบเปเบเบฑเบเบเปเบฝเบงเปเบเบเบเปเบฝเบง, เปเบเปเบเบฐเบเบฒเบเบฒเบกเปเบเปเปเบกเบเบนเบเบชเปเบงเบเบเบธเบเบเบปเบเบซเบผเบทเบเบฒเบเปเบเปเปเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบงเบชเปเบฒเบฅเบฑเบเบงเบฝเบเบเบฒเบเบชเบฐเปเบเบฒเบฐ.
เบฎเบนเบเบเบฐเบเบญเบเบเบญเบเบญเบฑเบเบชเบธเบเบเปเบฒเบ:
- เปเบเบเบฑเปเบเบเบญเบเบเบฒเบเบเบฐเบเบญเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเป:
- docker เบชเปเบฒเบเบขเบนเปเปเบเบเปเบญเบเบเบดเปเบ, เปเบเบเบธเปเบกเปเบเบเปเบเป kaniko เบซเบผเบทเปเบ Google Cloud Build;
- Bazel เบเปเบญเบเบเบดเปเบ;
- Jib Maven เปเบฅเบฐ Jib Gradle เบขเบนเปเปเบเบเปเบญเบเบเบดเปเบเบซเบผเบทเปเบ Google Cloud Build;
- script build custom เบเปเบฒเปเบเบตเบเบเบฒเบเบขเบนเปเปเบเบเปเบญเบเบเบดเปเบ. เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเปเบเปเบเบฒเบเปเบเปเปเบเบเบฒเบเบชเปเบฒเบเปเบเบเบญเบทเปเบ (เบเบตเปเบกเบตเบเบงเบฒเบกเบเบทเบเบซเบเบธเปเบ / เบเบธเปเบเปเบเบตเบ / ... ) เบกเบฑเบเปเบเปเบเบทเบเบญเบฐเบเบดเบเบฒเบเปเบงเปเปเบเบชเบฐเบเบดเบเปเบเบทเปเบญเปเบซเป Skaffold เปเบเบตเบเบเบปเบง (
เบเบปเบงเบขเปเบฒเบเบเบฒเบเปเบญเบเบฐเบชเบฒเบ ). เบเบตเปเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเปเบเปเบเบปเบงเปเบเบฑเบเปเบเปเบเบตเปเบชเบฒเบกเบฒเบเปเบญเบตเปเบเปเบเปเปเบเบเปเบเป script;
- เปเบเบเบฑเปเบเบเบญเบเบเบฒเบเบเบปเบเบชเบญเบ, เบเบตเปเปเบเปเบเปเบฒเบงเบกเบฒเปเบฅเปเบง
container-structure-test ; - เบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเบเปเบฒโเปเบเปโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโเปเบกเปเบโเปเบเปโเบชเบฐโเบซเบเบญเบโเปเบซเปโ:
- Kubectl;
- เปเบงเบ;
- เบเบฑเบเปเบเปเบ.
เบเปเบเบญเบเปเบเบเบฑเบเบเบตเป, Skaffold เบชเบฒเบกเบฒเบเปเบญเบตเปเบเบงเปเบฒเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบ เปเบเบโเบฎเปเบฒเบโเบเบฒเบโเบชเปเบฒเบ CI/CD. เบเบตเปเปเบกเปเบเบเบฑเปเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบปเบงเบขเปเบฒเบเปเบกเบทเปเบญเปเบเปเบกเบฑเบ (เบเบฒเบเปเบญเบเบฐเบชเบฒเบเปเบเบเบเบฒเบ):
เบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบ Skaffold เบกเบตเบฅเบฑเบเบชเบฐเบเบฐเปเบเบงเปเบเปเบเปเบเบทเปเบญเบเปเบเบเบปเปเบงเปเบ?
- เบเบปเบเบเบฐเปเบซเบเบเบเบดเบเบเบฒเบกเบเบงเบเบเบฒเบเบฒเบเบเปเบฝเบเปเบเบเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบฅเบฐเบซเบฑเบเปเบซเบผเปเบ. เบเปเบฒเบกเบตเบเบฒเบเบเบฑเบเปเบเปเปเบเบฅเป, เบเบงเบเบกเบฑเบเบเบฐเบเบทเบ synchronized เบเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ pod เปเบเบเบธเปเบก Kubernetes. เบเปเบฒเปเบเบฑเบเปเบเปเบเป, เปเบเบเบเปเปเบกเบตเบเบฒเบเบเบฐเบเบญเบเบฎเบนเบเบเบฒเบเบเบทเบ. เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบ, เบฎเบนเบเบเบฒเบเปเบซเบกเปเปเบกเปเบเบเบฐเบเบญเบ.
- เบฎเบนเบเบเบฒเบเบเบตเปเบเบฐเบเบญเบเบเบทเบเบเบงเบเบชเบญเบเปเบเบเปเบเป container-structure-test, tagged เปเบฅเบฐเบชเบปเปเบเปเบเบเบตเป Docker Registry.
- เบซเบผเบฑเบเบเบฒเบเบเบตเป, เบฎเบนเบเบเบฒเบเปเบเปเบเบทเบเบเปเบฒเปเบเปเบเป - เบเบทเบเบเปเบฒเปเบเปเปเบเบเบธเปเบก Kubernetes.
- เบเปเบฒเบเบฒเบเปเบเบตเบเบเบปเบงเปเบเปเบเบทเบเปเบฅเบตเปเบกเบเบปเปเบเปเบเบเปเบเปเบเปเบฒเบชเบฑเปเบ
skaffold dev
, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบเปเบฎเบฑเบเบเบฑเบเบเบถเบเบเบฒเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ, เปเบฅเบฐ Skaffold เบฅเปเบเปเบฒเบเบฒเบเบเปเบฝเบเปเบเบเปเบเบทเปเบญเปเบฎเบฑเบเบเปเปเบฒเบเบธเบเปเบเบฒเบเบเบฐเบเปเบฒเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ.
เบฎเบนเบเบเบฒเบเบเบญเบเบเบฑเปเบเบเบญเบเบเบปเปเบเบเปเบเบญเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ Skaffold
เบเบฐเบเบดเบเบฑเบ. เบเบฐเบเบฒเบเบฒเบก Skaffold
เปเบเบทเปเบญเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบเบฒเบเบเปเบฒเปเบเป Skaffold, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเปเบญเบปเบฒเบเบปเบงเบขเปเบฒเบเบเบฒเบ
เบเบดเบเบเบฑเปเบ 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 เบกเบต
เบเปเบฅเบฐเบเบตเบเบฒเบเบเปเบฒเปเบเปเบเบตเปเปเบเบฑเบเปเบเปเบเปเบซเบเบถเปเบเบชเปเบฒเบฅเบฑเบ Skaffold เปเบกเปเบเปเบเบทเปเบญเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบเบเบธเปเบกเบซเปเบฒเบเปเบเบชเบญเบเบซเบผเบตเบ. เบเปเปเปเบกเปเบเบเบธเบเบเบปเบเบชเบฐเบเบงเบเบชเบฐเบเบฒเบเปเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบ Minikube เปเบเบฎเบฒเบเปเบงเบเบญเบเบเบปเบเปเบญเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบตเบเบเบปเบงเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบฅเบฐเบเบฒเบเบงเปเบฒเบเบฐเปเบฎเบฑเบเบงเบฝเบเบขเปเบฒเบเบเบฝเบเบเป ... เปเบเบเปเบฅเบฐเบเบตเบเบตเป, Skaffold เปเบเปเปเบเบเบฑเบเบซเบฒเบขเปเบฒเบเบชเบปเบกเบเบนเบ, เปเบเบดเปเบเบชเบฒเบกเบฒเบเบขเบทเบเบขเบฑเบเปเบเป, เบชเปเบฒเบฅเบฑเบเบเบปเบงเบขเปเบฒเบ, เปเบเบเบงเบดเบชเบฐเบงเบฐเบเบญเบ Reddit, เบเบฑเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบกเบต. เบชเบปเบเบเบฐเบเบฒเปเบฅเปเบง
เปเบฅเบฐเปเบ
เบชเบฐเบซเบฅเบธเบ
Skaffold เปเบเบฑเบเปเบเบทเปเบญเบเบกเบทเบเบตเปเบชเบฐเบเบงเบเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเปเปเบชเบปเปเบเบเปเปเบกเบนเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเปเบเบตเบเบเบปเบงเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Kubernetes เปเบฅเบฐเปเบเบฑเปเบเปเบชเปเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเปเบฒเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบเบฑเบเบเบปเปเบเบเป. เบกเบฑเบเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเปเบญเบเบเปเบฒเบเบเปเบฒเบเบเบตเปเบเบฐเบชเปเบฒเบเบเปเป "เบชเบฑเปเบ" เปเบเบดเปเบเบเปเบฒเบเบถเบเปเบเบดเบเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบทเปเบเบเบฒเบเบเบญเบเบเบนเปเบเบฑเบเบเบฐเบเบฒ, เปเบเปเบเปเบฒเบเปเบญเบเบเบฒเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฑเบเบเบฐเบเบงเบเบเบฒเบเบเบฐเบซเบเบฒเบเปเบซเบเปเปเบเป. เปเบเบฑเบเบซเบเบถเปเบเปเบเบเบปเบงเบขเปเบฒเบเบเบตเปเบเบฑเบเปเบเบเบเบญเบเบเบฒเบเบเปเบฒเปเบเป Skaffold เปเบเบเบฐเบเบงเบเบเบฒเบ CI / CD
Skaffold เบกเบตเปเบเบทเบญเบ 8000+ เบเบฒเบงเบขเบนเปเปเบ GitHub, เบเบทเบเบเบฑเบเบเบฐเบเบฒเปเบเบ Google เปเบฅเบฐเปเบเบฑเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบ
PS
เบญเปเบฒเบเบเบฑเบเบขเบนเปเปเบ blog เบเบญเบเบเบงเบเปเบฎเบปเบฒ:
- ยซ
เปเบเบทเปเบญเบเบกเบทเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบ Kubernetes " - ยซ
werf - เปเบเบทเปเบญเบเบกเบทเบเบญเบเบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบฅเบฑเบ CI / CD เปเบ Kubernetes (เบเบฒเบเบฅเบงเบกเปเบฅเบฐเบเบปเบเบฅเบฒเบเบเบฒเบเบงเบดเบเบตเปเบญ) " - ยซ
Garden v0.10.0: เปเบฅเบฑเบเบเบฑเบญเบเบเบญเบเปเบเบปเปเบฒเบเปเปเบเปเบญเบเบเบฒเบ Kubernetes " - ยซ
เปเบเบฑเบเบฅเบฑเบ เปเบฅเบฐเปเบเบฑเบเบฅเบฑเบ Kubernetes: เบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเปเบญเบเบเบดเปเบ เปเบฅเบฐ Telepresence ".
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com