แฒจแแแแจแแแ. แแแ แแแแ: แกแขแแขแแ แแแฌแแ แ แกแแแข แแแฃแ, แแแแแแแ แแ, แ แแแแแกแแช แแฅแแก แแแแ แแแแแชแแแแแแ IT-แจแ, แ แแแแแแช แแ แแก แจแแแแ แแแแแญแแ แฌแแแแแก แแแขแแ แ/แแแแแแแขแแ แ (แซแแ แแแแแแ VMware vSphere-แแ). แแก แแฎแแ แแฃแจแแแแก แแแก VMware แจแแแแแแแแ แแแแแแแแ Heptio-แจแ (แจแแซแแแแแแ 2016 แฌแแแก), แ แแแแแแช แกแแแชแแแแแแแ แแแฃแแแ แฆแ แฃแแแแแแ แแแแแแแแแแกแ แแ Kubernetes-แจแ. แแแแแ แขแแฅแกแขแ แแแกแแฎแฃแ แแแ แ แแแแ แช แแแแแแฃแ แแ แแแแแแแ แแแกแแแแ แจแแกแแแแแก Kubernetes-แแกแแแแก แแแแคแแแฃแ แแชแแแก แแแแแฏแแแแขแจแ แขแแฅแแแแแแแแก แแแแแงแแแแแแ.
Kustomize แแ แแก แแแกแขแ แฃแแแแขแ, แ แแแแแแช แกแแจแฃแแแแแแก แแซแแแแก แแแแฎแแแ แแแแแแก โแแแแฎแแแแแ แแแ แขแแแ, แจแแแแแแแแแก แแแ แแจแ YAML แคแแแแแแแก แแแ แแแแ แกแฎแแแแแกแฎแแ แแแแแแแแกแแแแก, แแแขแแแแ แแ แแแแแแแฃแ แ YAML แฎแแแฃแฎแแแแแแ แแ แแแแแกแแงแแแแแแแโ (แแฆแฌแแ แแแแแ แแแ แแแแแ แแแกแแกแฎแแแ kubectl -k
แแแก แคแฃแแฅแชแแแแแแแแแแ แฌแแแแแแกแแแแก (แแฃแแชแ Kubernetes 1.15-แแก แแแฎแแแแแ, แชแแแแ แแ แแแแแ แฃแคแ แ แแฎแแแแ, แแแแ แ แแฃแแแฅแขแแจแ แฉแแจแแแแแฃแแ แจแแกแแซแแแแแแแแแ). (แฒจแแแแจแแแ. แแแ แแแแ: แแ แแแแ แแแแแจแแแแแ
แแแกแ แฃแแแ แขแแแแกแ แคแแ แแแ/แแแแแแแชแแแ, kustomize แแ แแก แฃแแ แแแแ แ แแกแฃแ แกแแแแก แแแแแฅแชแแ (YAML แคแแแแแแ, แ แแแแแแแช แแแแกแแแฆแแ แแแแ Kubernetes แแแแแฅแขแแแก: แแแแแแแแแ, แกแแ แแแกแแแ แแ แ.แจ.) แแแฃแก แแแกแขแ แฃแฅแชแแแแแก แกแแ แแ แชแแแแแแแแแแกแแแแก, แ แแแแแแแช แฃแแแ แแแแฎแแ แชแแแแแแก แแ แ แแกแฃแ แกแแแจแ. แแกแแแ, แ แแแแ แช make แแงแแแแแก แแแกแขแ แฃแฅแชแแแแแก แแแแแแแฅแขแก, แ แแแแแแช แจแแแชแแแก Makefile
แแ Docker แแจแแแแแก แแแแขแแแแแ แก แแแกแขแ แฃแฅแชแแแแแก แกแแคแฃแซแแแแแ Dockerfile
แแแฎแแแ แแแแก แแแ แแแแ kustomization.yaml
แจแแแแแฎแแก แแแกแขแ แฃแฅแชแแแแ แแแแก แจแแกแแฎแแ, แแฃ แ แ แชแแแแแแแแแแก แจแแขแแแ แกแฃแ แก แแแแฎแแแ แแแแแก แ แแกแฃแ แกแแแแก แแ แแแแแแแแแจแ.
แแฅ แแ แแก แคแแแแแก แแแแแแแแ kustomization.yaml
:
resources:
- deployment.yaml
- service.yaml
namePrefix: dev-
namespace: development
commonLabels:
environment: development
แแ แจแแแแชแแแแ แแแกแแฃแแ แ แคแแแแจแ แแ แกแแแฃแ แงแแแแ แจแแกแแซแแ แแแแแ. kustomization.yaml
(แแแแก แจแแกแแฎแแ แแแ แแแ แแ แแก แแแฌแแ แแแ
- แกแแแแแ
resources
แแแฃแแแแแแก แ แ (แ แแแแแ แ แแกแฃแ แกแแแ) แจแแแชแแแแแ แแฃแกแขแแแแแแแ. แแ แจแแแแฎแแแแแจแ, แแก แแซแแแก แ แแกแฃแ แกแแแก แคแแแแแแจแdeployment.yaml
ะธservice.yaml
แแฅแแแแก แแแ แแฅแขแแ แแแจแ (แจแแแแซแแแแ แแแฃแแแแแ แกแ แฃแแ แแ แจแแแแ แแแแแ แแแแแแแแ แกแแญแแ แแแแแก แจแแแแฎแแแแแจแ). - แกแแแแแ
namePrefix
แแแแแแแก kustomize แแแแแแขแแ แแแ แแแแฃแแ แแ แแคแแฅแกแ (แแ แจแแแแฎแแแแแจแ -dev-
) แแแแฌแแ แแกname
แกแคแแ แแจแ แแแแกแแแฆแแ แฃแแ แงแแแแ แ แแกแฃแ แกแresources
. แแแ แแแแ, แแฃ แแแแแแแแแ แแฅแแกname
แแแแจแแแแแแแแnginx-deployment
, แแแ แแแแ แแแฎแแแก แแแกdev-nginx-deployment
. - แกแแแแแ
namespace
แแแแแแแก kustomize-แก แแแแแแขแแก แแแชแแแฃแแ แกแแฎแแแแ แกแแแ แชแ แงแแแแ แ แแกแฃแ แกแก. แแ แจแแแแฎแแแแแจแ, Deployment and Service แแแฎแแแแแ แกแแฎแแแแ แกแแแ แชแแจแdevelopment
. - แกแแแแแแแ, แแแแ
commonLabels
แจแแแชแแแก แแขแแแแขแแแแก แแ แแแแแแแแแก, แ แแแแแแช แแแแแแขแแแ แงแแแแ แ แแกแฃแ แกแก. แฉแแแแก แแแแแแแแจแ, kustomize แแแแแแญแแแก แแขแแแแขแก แ แแกแฃแ แกแแแก แกแแฎแแแแenvironment
แแ แแแแจแแแแแแแdevelopment
.
แแฃ แแแแฎแแแ แแแแแ แแแแแแแก kustomize build .
แแแ แแฅแขแแ แแแจแ แคแแแแแแ แแ แแแ kustomization.yaml
แแ แกแแญแแ แ แ แแกแฃแ แกแแแ (แแแ. แคแแแแแแ deployment.yaml
ะธ service.yaml
), แจแแแแแ แแแแแกแแแแแแ แแแแฆแแแก แขแแฅแกแขแก, แ แแแแแจแแช แแแแแแแแฃแแแ แชแแแแแแแแแ kustomization.yaml
.
แฒจแแแแจแแแ. แแแ แแแแ: แแแฃแกแขแ แแชแแ แกแแแ แแแฅแขแ แแแแฃแแแแขแแชแแแแแ แแฃแกแขแแแแแแแแก โแแแ แขแแแโ แแแแแงแแแแแแก แจแแกแแฎแแ
แแแแแแแแแแ แจแแแซแแแแ แแแแแแแกแแแแ แแแแก, แแฃ แกแแญแแ แแ แชแแแแแแแแแแก แแแแฎแแ แชแแแแแแ:
kustomize build . > custom-config.yaml
แแแแแแแแแแ แแแแแชแแแแแ แแแขแแ แแแแแกแขแฃแแแ (แแแแแ แจแแงแแแแแก แแแแแชแแแแแ แแแแแแแฃแจแแแแแก แแแแแ แแแแแแแแแ แจแแแแแแแก), แแกแ แ แแ แแฅแแแ แแ แแญแแ แแแแแ แจแแแแแแก แคแแแแจแ แจแแแแฎแแ. แแแแก แแแชแแแแ, แแก แจแแแซแแแแ แแแแแแชแแก แแแ แแแแแ แกแฎแแ แแ แซแแแแแแก:
kustomize build . | kubectl apply -f -
แแฃแกแขแแแแแแชแแแก แคแฃแแฅแชแแแแแ แฌแแแแแ แแกแแแ แจแแกแแซแแแแแแแ kubectl -k
(แแฃแแแ แแแขแแก 1.14 แแแ แกแแแแแ). แแฃแแชแ, แแแฎแกแแแแแ, แ แแ แแแแแฃแแแแแแแแ kustomize แแแแแขแ แฃแคแ แ แกแฌแ แแคแแ แแฎแแแแแ, แแแแ แ แแแขแแแ แแ แแแฃแแ kubectl แแแแแขแ (แงแแแแ แจแแแแฎแแแแแจแ, แแกแแ Kubernetes 1.15 แแแแแจแแแแแจแ).
แแแแแฎแแแแแแแ แจแแแซแแแแ แฐแแแแฎแแ: "แ แแขแแ แแ แแก แแก แกแแ แแฃแแ, แแฃ แแฅแแแ แจแแแแซแแแแ แแแ แแแแแ แคแแแแแแแก แ แแแแฅแขแแ แแแ?" แแแแ แแแแฎแแ. แฉแแแแก แแแแแแแแจแ, แแแ แแแแช แจแแแซแแแแ แคแแแแแแแก แจแแชแแแ deployment.yaml
ะธ service.yaml
แแแ แแแแแ , แแแแ แแ แ แ แแแฎแแแแ, แแฃ แแกแแแ แกแฎแแแกแ แแ แแแฅแขแแก แฉแแแแแแ แแ แแแ? แคแแแแแแแก แจแแชแแแ แแแ แแแแแ แแ แแฃแแแแก (แแฃ แแ แ แจแแฃแซแแแแแแก) แฉแแแแแแก แฎแแแแฎแแแ แแแแ, แ แแแแกแแช แชแแแแแแแแแ แฎแแแแ แกแแฌแงแแก/แฌแงแแ แแจแ. Kustomize-แแก แแแแแงแแแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแฎแแแแแ แแ แชแแแแแแแแแแก แชแแแขแ แแแแแแแ แคแแแแจแ kustomization.yaml
, แแ แแแแแแแฃแ แ แคแแแแแแแก แฎแแแฃแฎแแแแแแ แแแขแแแแแ แแ แแแแ แแแแแแแแแแก แแ แแแแแแแฃแ แ แคแแแแแแแก แฎแแแแฎแแแ แแแแ, แกแแญแแ แแแแแก แจแแแแฎแแแแแจแ.
Kustomize-แแก แกแแ แแแแแแ แแจแแแ แ แฎแแแแ แฃแคแ แ แ แแฃแแ แแแแแงแแแแแแก แจแแแแฎแแแแแแจแ. แแแแแ แแแงแแแแแ แแแแแแแแจแ kustomization.yaml
แแ แ แแกแฃแ แกแแแ แแแแแ แแแ แแฅแขแแ แแแจแแ. แแฃแแชแ, kustomize แแฎแแ แก แฃแญแแ แก แแแแแงแแแแแแก แจแแแแฎแแแแแแก, แ แแแแกแแช แแ แแก แแแแแก แแแแคแแแฃแ แแชแแ แแ แแแกแ แแ แแแแแ แแแ แแแแขแ, แแกแแแ แชแแแแแแ แ แแแแ แช แแแแแแแแแ. แแแแแแแแแ, แแแแฎแแแ แแแแแก แกแฃแ แแ แแแฆแ Deployment and Service nginx-แแกแแแแก, แ แแแแแแช แแ แแแแแแแงแแแ, แ แแแแ แช แแแแแแแแ, แแ แจแแแฅแแแ แแ แคแแแแแแแก แแแแแแแแ แแแแก, แแแแแแแก แแ แฌแแ แแแแแแก แแแ แกแแแแ (แแ แแแ แแแแขแแแ). แแแแกแแแแแก แแแก แแแกแญแแ แแแแ แแแแแแฆแแแจแแฃแแ แแแแแคแแ แแแแ แแ, แคแแฅแขแแแ แแแแ, แแแแแ แซแแ แแแแแ แ แแกแฃแ แกแแแ.
แแแแแคแแ แแแแแกแ แแ แซแแ แแแแแ แ แแกแฃแ แกแแแแก แแแแแก แกแแแแฃแกแขแ แแชแแแ (แกแแแแแแกแ แ แแกแฃแ แกแแแ), แแแแฃแจแแแ, แ แแ แแแ แแฅแขแแ แแแแก แแฅแแ แจแแแแแแ แกแขแ แฃแฅแขแฃแ แ:
- base
- deployment.yaml
- service.yaml
- kustomization.yaml
- overlays
- dev
- kustomization.yaml
- staging
- kustomization.yaml
- prod
- kustomization.yaml
แคแแแแจแ base/kustomization.yaml
แแแแฎแแแ แแแแแแ, แ แแแแแแแช แแงแแแแแแ แแแแก resources
แฃแแ แแแแ แแแแแแชแฎแแแแ แ แแกแฃแ แกแแแ, แ แแแแแแแช แฃแแแ แจแแแชแแแแแก แแฃแกแขแแแแแก.
แแแแแแฃแ แคแแแแจแ overlays/{dev,staging,prod}/kustomization.yaml
แแแแฎแแแ แแแแแแ แแแแแ แแแแแ แแแแแก แแแแคแแแฃแ แแชแแแก แแแแจแ resources
แแ แจแแแแแ แแแฃแแแแแ แแแแแ แแขแฃแแ แชแแแแแแแแแ แแแชแแแฃแแ แแแ แแแ. แแแแแแแแแ, แคแแแแ overlays/dev/kustomization.yaml
แจแแแซแแแแ แแแแแแงแฃแ แแแแแแก แแแ แ แแแชแแแฃแ แแแแแแแแแ:
resources:
- ../../base
namePrefix: dev-
namespace: development
commonLabels:
environment: development
แแ แจแแแแฎแแแแแจแ แคแแแแ overlays/prod/kustomization.yaml
แจแแแซแแแแ แกแ แฃแแแแ แแแแกแฎแแแแแแฃแแ แแงแแก:
resources:
- ../../base
namePrefix: prod-
namespace: production
commonLabels:
environment: production
sre-team: blue
แ แแแแกแแช แแแแฎแแแ แแแแแ แแแแแก kustomize build .
แแแขแแแแแจแ overlays/dev
, kustomize แแแแแแแฃแจแแแแแก แแแแแแแแ แแแแก แแแ แแแแขแก. แแฃ แแแ แแแฎแแ kustomize build .
แแแขแแแแแจแ overlays/prod
- แแฅแแแ แแแแฆแแแ แฌแแ แแแแแแก แแแ แแแแขแก. แแ แแก แงแแแแแคแแ แ - แแ แแแแแแแจแ แชแแแแแแแแแแก แจแแขแแแแก แแแ แแจแ (แแแแ) แคแแแแแแ, แงแแแแแคแแ แ แแแแแแ แแชแแฃแแ แแ แแแขแแ แแแแแกแขแฃแแ แแแแ. แจแแแแซแแแแ แกแแแแแแกแ แแแแคแแแฃแ แแชแแ แแ แแแแแคแแ แแ แแแ แแฅแขแแ แแแแ แแแ แแแแแ แแแ แกแแแก แแแแขแ แแแแ, แแแแก แชแแแแ, แ แแ แแ แคแแแแแแแ แแแงแ แแแแแแ แแแแแกแแแแ แแ แแก แจแแแแซแแแแ แกแแกแฃแ แแแแ แแแแคแแแฃแ แแชแแแก แ แแแ แแแฃแชแแ แแแ.
แฒจแแแแจแแแ. แแแ แแแแ: แแแฃแกแขแ แแชแแ แกแแแ แแแฅแขแ แแแแฃแแแแขแแชแแแแแ แแฃแกแขแแแแแจแ แแแแแคแแ แแแแแก แแแแแงแแแแแแก แจแแกแแฎแแ
แแแ แแแแ แจแแแซแแแแ แแแแ แ แแแแแ แแแขแ แแแแ แ แแ แกแขแแขแแแจแแ แแแแแแแแกแฌแแแแแฃแแ. แแฃแแชแ, แแแแแ แแแฅแแก, แ แแ แแก แแแ แแ แจแแกแแแแแ แแฅแแแแ.
แฒแแแแขแแแแแ แ แแกแฃแ แกแแแ
แแแแ แ แแแ แแ แกแขแแขแแ แแ แแฃแแแแแแชแแแ แแฃแกแขแแแแแแแแก แจแแกแแฎแแ. แแฅ แแ แแก แ แแแแแแแแ, แ แแแแแแช แแ แแแแกแแแฃแแ แแแแ แกแแกแแ แแแแแ แแฆแแแฉแแแ:
-
แจแแชแแแแแ แแแแแก YAML แแแแคแแแฃแ แแชแแ แกแฎแแแแแกแฎแแ แแแ แแแแกแแแแก, แแฌแแ แแแแ/แขแแกแขแ Kustomize-แแก แแแแแงแแแแแแ ; -
Kustomize - แจแแแแแแแก แแแแแแแแแก แกแฌแแ แ แแแ Kubernetes-แจแ ; -
Kubernetes แแแแแฅแขแแแแก แแแแแแ แแชแแฃแแ แแแ แแแ Customize-แแก แแแแแงแแแแแแ ; -
แแแแ แแแแแแแก แฉแแคแฎแฃแขแแก แแแแแ แแแแแแก แแแ แแแแ Customize-แแ .
แฒจแแแแจแแแ. แแแ แแแแ: แแฅแแแ แแกแแแ แจแแแแซแแแแ แ แแแแแแแแแชแแ แแแฃแฌแแแ แแแฃแแแแแก แแแแแก, แ แแแแแแช แแแแแฅแแแงแแแแฃแแแ แ แแแแ แช
แแฃ แแฅแแแ แแแฅแแ แจแแแแแฎแแแแ แแ แฌแแแแแแแแแแแ แแ แแแกแแแแก แแแกแแฃแแฏแแแแกแแแแแ, แแ แงแแแแแแแแก แฆแแ แแแ แแแแแฎแแแฃแ แแแแกแแแแก. แจแแแแซแแแแ แแแแแแแแจแแ แแแ แแแแแ แแ
PS แแแแ แแแแแแแกแแแ
แแกแแแ แฌแแแแแแฎแแ แฉแแแแก แแแแแแ:
- ยซ
แแแกแขแ แฃแแแแขแแแ Kubernetes-แแ แแแจแแแแฃแแ แแแแแแแชแแแแแก แแแแแแแแแ แแแแกแแแแก "; - ยซ
Kubernetes 1.14: แแฎแแแ แแแแแแแก แฎแแแแแกแแ "; - ยซ
แแแกแขแแ แแแแจแ 2019 แฌแแแก แฐแแแแแก แกแแแแขแแก แฎแฃแแ แซแแ แแแแแ แจแแแแแ "; - ยซ
แแ แแฅแขแแแฃแแ แแแชแแแแ แแแแแขแแก แแแแแฏแแ แแแ Kubernetes - Helm ".
แฌแงแแ แ: www.habr.com