рдиреЛрдЯред рдЕрдиреБрд╡рд╛рджред: рд▓реЗрдЦ рд╕реНрдХрдЯ рд▓реЛрд╡ рджреНрд╡рд╛рд░рд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдерд┐рдпреЛ, IT рдорд╛ рд╡реНрдпрд╛рдкрдХ рдЕрдиреБрднрд╡ рд╕рдВрдЧ рдПрдХ рдИрдиреНрдЬрд┐рдирд┐рдпрд░, рдЬреЛ рд╕рд╛рдд рдореБрджреНрд░рд┐рдд рдкреБрд╕реНрддрдХрд╣рд░реБ (рдореБрдЦреНрдпрддрдпрд╛ VMware vSphere рдорд╛) рдХреЛ рд▓реЗрдЦрдХ/рд╕рд╣-рд▓реЗрдЦрдХ рд╣реЛред рдЙрд╣рд╛рдБ рдЕрдм рдпрд╕рдХреЛ VMware рд╕рд╣рд╛рдпрдХ рдХрдореНрдкрдиреА Heptio (2016 рдорд╛ рдЕрдзрд┐рдЧреНрд░рд╣рдг) рдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рдо рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ, рдХреНрд▓рд╛рдЙрдб рдХрдореНрдкреНрдпреБрдЯрд┐рдЩ рд░ Kubernetes рдорд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ред рдкрд╛рда рдЖрдлреИрдВрд▓реЗ рдкреНрд░рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ Kubernetes рдХреЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░ рдмреБрдЭреНрди рд╕рдЬрд┐рд▓реЛ рдкрд░рд┐рдЪрдпрдХреЛ рд░реВрдкрдорд╛ рдХрд╛рд░реНрдп рдЧрд░реНрджрдЫред
Kustomize рдПрдЙрдЯрд╛ рдЙрдкрдХрд░рдг рд╣реЛ рдЬрд╕рд▓реЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ "рд╡рд┐рднрд┐рдиреНрди рдЙрджреНрджреЗрд╢реНрдпрдХрд╛ рд▓рд╛рдЧрд┐ рд╕рд░рд▓, рдЯреЗрдореНрдкреНрд▓реЗрдЯ-рд░рд╣рд┐рдд YAML рдлрд╛рдЗрд▓рд╣рд░реВ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди, рдореВрд▓ YAML рд▓рд╛рдИ рдЕрдХреНрд╖реБрдгреНрдг рд░ рдкреНрд░рдпреЛрдЧрдпреЛрдЧреНрдп рдЫреЛрдбреЗрд░" (рд╡рд┐рд╡рд░рдг рд╕реАрдзреИ рдмрд╛рдЯ рдЙрдзрд╛рд░реЛ kubectl -k
рдпрд╕рдХреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрд╣реБрдБрдЪ рдЧрд░реНрди (рдпрджреНрдпрдкрд┐ Kubernetes 1.15 рдХреЛ рд░реВрдкрдорд╛, рдЕрд▓рдЧ рдмрд╛рдЗрдирд░реА kubectl рдорд╛ рдирд┐рд░реНрдорд┐рдд рдХреНрд╖рдорддрд╛рд╣рд░реВ рднрдиреНрджрд╛ рдирдпрд╛рдБ рдЫ)ред (рдиреЛрдЯред рдЕрдиреБрд╡рд╛рджред: рд░ рднрд░реНрдЦрд░реИ рд░рд┐рд▓реАрдЬ рд╕рдВрдЧ
рдпрд╕рдХреЛ рд╕рд░рд▓ рдлрд╛рд░рдо/рдПрдкреНрд▓рд┐рдХреЗрд╢рдирдорд╛, kustomize рднрдиреЗрдХреЛ рдХреЗрд╡рд▓ рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рд╕рдЩреНрдХрд▓рди рд╣реЛ (YAML рдлрд╛рдЗрд▓рд╣рд░реВ рдЬрд╕рд▓реЗ Kubernetes рд╡рд╕реНрддреБрд╣рд░реВ: рдбрд┐рдкреНрд▓реЛрдпрдореЗрдиреНрдЯрд╣рд░реВ, рд╕реЗрд╡рд╛рд╣рд░реВ, рдЗрддреНрдпрд╛рджрд┐ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджрдЫ) рд╕рд╛рдереИ рддреА рд╕реНрд░реЛрддрд╣рд░реВрдорд╛ рдЧрд░реНрдиреБрдкрд░реНрдиреЗ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВрдХреЛ рд╕реВрдЪреА рд╣реЛред рдЬрд╕рд░реА рдореЗрдХрд▓реЗ рдпрд╕рдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдирд┐рд░реНрджреЗрд╢рди рд╕реЗрдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ Makefile
, рд░ рдбрдХрд░рд▓реЗ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВрдХреЛ рдЖрдзрд╛рд░рдорд╛ рдХрдиреНрдЯреЗрдирд░ рдмрдирд╛рдЙрдБрдЫ Dockerfile
, рдЙрдкрдпреЛрдЧрд╣рд░реВ рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрдиреБрд╣реЛрд╕реН kustomization.yaml
рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рд╕реЗрдЯрдорд╛ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиред
рдпрд╣рд╛рдБ рдПрдЙрдЯрд╛ рдЙрджрд╛рд╣рд░рдг рдлрд╛рдЗрд▓ рдЫ kustomization.yaml
:
resources:
- deployment.yaml
- service.yaml
namePrefix: dev-
namespace: development
commonLabels:
environment: development
рдо рдлрд╛рдЗрд▓рдорд╛ рд╕рдмреИ рд╕рдореНрднрд╛рд╡рд┐рдд рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджрд┐рдиред kustomization.yaml
(рдпрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ
- рдХреНрд╖реЗрддреНрд░
resources
рдХреБрди (рдХреБрди рд╕реНрд░реЛрддрд╣рд░реВ) kustomize рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреЗрдЫ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдпрд╕рд▓реЗ рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рд╕реНрд░реЛрддрд╣рд░реВ рдЦреЛрдЬреНрдиреЗрдЫdeployment.yaml
╨╕service.yaml
рддрдкрд╛рдИрдХреЛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ (рдЖрд╡рд╢реНрдпрдХ рднрдПрдорд╛ рддрдкрд╛рдИрд▓реЗ рдкреВрд░реНрдг рд╡рд╛ рд╕рд╛рдкреЗрдХреНрд╖ рдорд╛рд░реНрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ)ред - рдХреНрд╖реЗрддреНрд░
namePrefix
рдирд┐рд╢реНрдЪрд┐рдд рдЙрдкрд╕рд░реНрдЧ рдердкреНрди kustomize рд▓рд╛рдИ рдирд┐рд░реНрджреЗрд╢рди рджрд┐рдиреНрдЫ (рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛ -dev-
) рд╡рд┐рд╢реЗрд╖рддрд╛ рдЧрд░реНрдиname
рдХреНрд╖реЗрддреНрд░рдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдмреИ рд╕реНрд░реЛрддрд╣рд░реВresources
ред рддрд╕рд░реНрде, рдпрджрд┐ рддреИрдирд╛рддреА рдЫname
рдЕрд░реНрде рд╕рдВрдЧnginx-deployment
, рдЕрдиреБрдХреВрд▓рдирд▓реЗ рдпрд╕рд▓рд╛рдИ рдмрдирд╛рдЙрдиреЗрдЫdev-nginx-deployment
. - рдХреНрд╖реЗрддреНрд░
namespace
рд╕рдмреИ рд╕реНрд░реЛрддрд╣рд░реВрдорд╛ рджрд┐рдЗрдПрдХреЛ рдиреЗрдорд╕реНрдкреЗрд╕ рдердкреНрди kustomize рд▓рд╛рдИ рдирд┐рд░реНрджреЗрд╢рди рджрд┐рдиреНрдЫред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯ рд░ рд╕реЗрд╡рд╛ рдиреЗрдорд╕реНрдкреЗрд╕рдорд╛ рдкрд░реНрдиреЗрдЫdevelopment
. - рдЕрдиреНрддрдорд╛, рдХреНрд╖реЗрддреНрд░
commonLabels
рд╕рдмреИ рд╕реНрд░реЛрддрд╣рд░реВрдорд╛ рдердкрд┐рдиреЗ рд▓реЗрдмрд▓рд╣рд░реВрдХреЛ рд╕реЗрдЯ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рд╣рд╛рдореНрд░реЛ рдЙрджрд╛рд╣рд░рдгрдорд╛, kustomize рд▓реЗ рдирд╛рдордХреЛ рд╕рд╛рде рд╕реНрд░реЛрддрд╣рд░реВрд▓рд╛рдИ рд▓реЗрдмрд▓ рдкреНрд░рджрд╛рди рдЧрд░реНрдиреЗрдЫenvironment
рд░ рдЕрд░реНрдеdevelopment
.
рдпрджрд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ рдЧрд░реНрдЫ рднрдиреЗ kustomize build .
рдлрд╛рдЗрд▓рдХреЛ рд╕рд╛рде рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ kustomization.yaml
рд░ рдЖрд╡рд╢реНрдпрдХ рд╕реНрд░реЛрддрд╣рд░реВ (рдЬрд╕реНрддреИ рдлрд╛рдЗрд▓рд╣рд░реВ deployment.yaml
╨╕ service.yaml
), рддреНрдпрд╕рдкрдЫрд┐ рдЖрдЙрдЯрдкреБрдЯрдорд╛ рдпрд╕рд▓реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрд╕рдБрдЧ рдкрд╛рда рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗрдЫ kustomization.yaml
.
рдиреЛрдЯред рдЕрдиреБрд╡рд╛рджред: kustomize рдХреЛ "рд╕рд░рд▓" рдкреНрд░рдпреЛрдЧрдорд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрдмрд╛рдЯ рдЪрд┐рддреНрд░рдг
рдЖрдЙрдЯрдкреБрдЯ рдкреБрди: рдирд┐рд░реНрджреЗрд╢рд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рдпрджрд┐ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдкреНрд░рддрд┐рдмрджреНрдз рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:
kustomize build . > custom-config.yaml
рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛ рдирд┐рд░реНрдзрд╛рд░рдгрд╛рддреНрдордХ рдЫ (рдЙрд╣реА рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛рд▓реЗ рд╕рдорд╛рди рдЖрдЙрдЯрдкреБрдЯ рдкрд░рд┐рдгрд╛рдорд╣рд░реВ рдЙрддреНрдкрд╛рджрди рдЧрд░реНрдиреЗрдЫ), рддреНрдпрд╕реИрд▓реЗ рддрдкрд╛рдИрдВрд▓реЗ рдкрд░рд┐рдгрд╛рдо рдлрд╛рдЗрд▓рдорд╛ рдмрдЪрдд рдЧрд░реНрдиреБрдкрд░реНрджреИрдиред рдпрд╕рдХреЛ рд╕рдЯреНрдЯрд╛, рдпреЛ рд╕реАрдзрд╛ рдЕрд░реНрдХреЛ рдЖрджреЗрд╢рдорд╛ рдкрд╛рд░рд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ:
kustomize build . | kubectl apply -f -
рдЕрдиреБрдХреВрд▓рди рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдорд╛рд░реНрдлрдд рдкрдирд┐ рдкрд╣реБрдБрдЪ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ kubectl -k
(Kubernetes рд╕рдВрд╕реНрдХрд░рдг 1.14 рджреЗрдЦрд┐)ред рдпрджреНрдпрдкрд┐, рдзреНрдпрд╛рди рд░рд╛рдЦреНрдиреБрд╣реЛрд╕реН рдХрд┐ рд╕реНрдЯреНрдпрд╛рдиреНрдбрдЕрд▓реЛрди kustomize рдкреНрдпрд╛рдХреЗрдЬ рдПрдХреАрдХреГрдд kubectl рдкреНрдпрд╛рдХреЗрдЬ рднрдиреНрджрд╛ рдЫрд┐рдЯреЛ рдЕрдкрдбреЗрдЯ рд╣реБрдиреНрдЫ (рдХрдореНрддрд┐рдорд╛ рдпреЛ Kubernetes 1.15 рд░рд┐рд▓реАрдЬрдХреЛ рдорд╛рдорд▓рд╛ рд╣реЛ)ред
рдкрд╛рдардХрд╣рд░реВрд▓реЗ рд╕реЛрдзреНрди рд╕рдХреНрдЫрдиреН: "рдпрджрд┐ рддрдкрд╛рдЗрдБ рдлрд╛рдЗрд▓рд╣рд░реВ рд╕реАрдзрд╛ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ рдпреЛ рд╕рдмреИ рдЬрдЯрд┐рд▓рддрд╛ рдХрд┐рди?" рдорд╣рд╛рди рдкреНрд░рд╢реНрдиред рд╣рд╛рдореНрд░реЛ рдЙрджрд╛рд╣рд░рдгрдорд╛, рд╕рд╛рдБрдЪреНрдЪреИ рдЧрд░реНрди рд╕рдХреНрдЫрдиреН рдлрд╛рдЗрд▓рд╣рд░реВ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЧрд░реНрдиреБрд╣реЛрд╕реН deployment.yaml
╨╕ service.yaml
рд╕реАрдзреИ, рддрд░ рдХреЗ рд╣реБрдиреНрдЫ рдпрджрд┐ рддрд┐рдиреАрд╣рд░реВ рдЕрд░реВ рдХрд╕реИрдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдлреЛрд░реНрдХ рд╣реБрдиреН? рдлрд╛рдИрд▓рд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрджрд╛ рдореВрд▓/рд╕реНрд░реЛрддрдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЧрд░реНрджрд╛ рдлреЛрд░реНрдХ рд░рд┐рдмреЗрд╕ рдЧрд░реНрди рдЧрд╛рд╣реНрд░реЛ рд╣реБрдиреНрдЫ (рдпрджрд┐ рдЕрд╕рдореНрднрд╡ рдЫреИрди рднрдиреЗ)ред kustomize рдХреЛ рдкреНрд░рдпреЛрдЧрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдлрд╛рдЗрд▓рдорд╛ рдпреА рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдХреЗрдиреНрджреНрд░реАрдХреГрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ kustomization.yaml
, рдореВрд▓ рдлрд╛рдЗрд▓рд╣рд░реВ рдЕрдХреНрд╖реБрдгреНрдг рдЫреЛрдбреЗрд░ рд░ рдпрд╕рд░реА рдЖрд╡рд╢реНрдпрдХ рднрдПрдорд╛ рдореВрд▓ рдлрд╛рдЗрд▓рд╣рд░реВ рд░рд┐рдмреЗрд╕ рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдБрдЫред
kustomize рдХреЛ рд▓рд╛рдн рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкреНрд░рдпреЛрдЧ рдорд╛рдорд┐рд▓рд╛рдорд╛ рд╕реНрдкрд╖реНрдЯ рд╣реБрдиреНрдЫред рдорд╛рдерд┐рдХреЛ рдЙрджрд╛рд╣рд░рдгрдорд╛ kustomization.yaml
рд░ рд╕реНрд░реЛрддрд╣рд░реВ рдПрдЙрдЯреИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдорд╛ рдЫрдиреНред рдЬреЗ рд╣реЛрд╕реН, kustomize рд▓реЗ рдЖрдзрд╛рд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд░ рдпрд╕рдХрд╛ рдзреЗрд░реИ рднреЗрд░рд┐рдпрдиреНрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХреЗрд╕рд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ, рдЬрд╕рд▓рд╛рдИ рдкрдирд┐ рднрдирд┐рдиреНрдЫред рдУрднрд░рд▓реЗред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдПрдХ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд▓реЗ nginx рдХреЛ рд▓рд╛рдЧреА рдбрд┐рдкреНрд▓реЛрдпрдореЗрдиреНрдЯ рд░ рд╕реЗрд╡рд╛ рд▓рд┐рди рдЪрд╛рд╣рд╛рдиреНрдЫ, рдЬреБрди рдореИрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рд░реВрдк рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдпреЛ, рд░ рддреА рдлрд╛рдИрд▓рд╣рд░реБ рдХреЛ рд╡рд┐рдХрд╛рд╕, рд╕реНрдЯреЗрдЬрд┐рдВрдЧ, рд░ рдЙрддреНрдкрд╛рджрди рд╕рдВрд╕реНрдХрд░рдг (рд╡рд╛ рднреЗрд░рд┐рдпрдиреНрдЯ) рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдЙрд╕рд▓рд╛рдИ рдорд╛рдерд┐ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдУрднрд░рд▓реЗрд╣рд░реВ рд░ рд╡рд╛рд╕реНрддрд╡рдорд╛, рдЖрдзрд╛рд░рднреВрдд рд╕реНрд░реЛрддрд╣рд░реВ рдЪрд╛рд╣рд┐рдиреНрдЫред
рдУрднрд░рд▓реЗ рд░ рдЕрдиреНрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рд╡рд┐рдЪрд╛рд░ рдЪрд┐рддреНрд░рдг рдЧрд░реНрди (рдЖрдзрд╛рд░ рд╕реНрд░реЛрдд), рдорд╛рдиреМрдВ рдХрд┐ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрд╣рд░реВрдХреЛ рдирд┐рдореНрди рд╕рдВрд░рдЪрдирд╛ рдЫ:
- base
- deployment.yaml
- service.yaml
- kustomization.yaml
- overlays
- dev
- kustomization.yaml
- staging
- kustomization.yaml
- prod
- kustomization.yaml
рдлрд╛рдЗрд▓рдорд╛ base/kustomization.yaml
рдХреНрд╖реЗрддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ resources
рдХреЗрд╡рд▓ kustomize рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдиреБ рдкрд░реНрдиреЗ рд╕реНрд░реЛрддрд╣рд░реВ рдШреЛрд╖рдгрд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред
рдкреНрд░рддреНрдпреЗрдХ рдлрд╛рдЗрд▓рдорд╛ 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
- рддрдкрд╛рдИрдВрд▓реЗ рдЙрддреНрдкрд╛рджрди рд╡рд┐рдХрд▓реНрдк рдкрд╛рдЙрдиреБрд╣реБрдиреНрдЫред рд░ рдпреЛ рд╕рдмреИ - рдореВрд▓ рдХреБрдиреИ рдкрдирд┐ рдкрд░рд┐рд╡рд░реНрддрди рдмрд┐рдирд╛ (рдЖрдзрд╛рд░) рдлрд╛рдЗрд▓рд╣рд░реВ, рд╕рдмреИ рдШреЛрд╖рдгрд╛рддреНрдордХ рд░ рдирд┐рд░реНрдзрд╛рд░рдгрд╛рддреНрдордХ рддрд░рд┐рдХрд╛рдорд╛ред рддрдкрд╛рдИрдВрд▓реЗ рдЖрдзрд╛рд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд░ рдУрднрд░рд▓реЗ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрд╣рд░реВ рд╕рд┐рдзреИ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдиреНрддреНрд░рдгрдорд╛ рдХрдорд┐рдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдпреА рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рддрдкрд╛рдИрдВрд▓реЗ рдЬреБрдирд╕реБрдХреИ рд╕рдордпрдорд╛ рдЗрдЪреНрдЫрд┐рдд рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкреБрди: рдЙрддреНрдкрд╛рджрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рднрдиреНрдиреЗ рдерд╛рд╣рд╛ рдкрд╛рдЙрдБрджрд╛ред
рдиреЛрдЯред рдЕрдиреБрд╡рд╛рджред: kustomize рдорд╛ рдУрднрд░рд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрдмрд╛рдЯ рдЪрд┐рддреНрд░рдг
рдЕрдиреБрдХреВрд▓рди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдзреЗрд░реИ рдпрд╕ рд▓реЗрдЦрдорд╛ рд╕рдореЗрдЯрд┐рдПрдХреЛ рднрдиреНрджрд╛ рдмрдвреАред рдпрджреНрдпрдкрд┐, рдорд▓рд╛рдИ рдЖрд╢рд╛ рдЫ рдХрд┐ рдпрд╕рд▓реЗ рд░рд╛рдореНрд░реЛ рдкрд░рд┐рдЪрдпрдХреЛ рд░реВрдкрдорд╛ рд╕реЗрд╡рд╛ рдЧрд░реНрджрдЫред
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрд░реЛрддрд╣рд░реВ
kustomize рдХреЛ рдмрд╛рд░реЗрдорд╛ рдзреЗрд░реИ рд░рд╛рдореНрд░реЛ рд▓реЗрдЦ рд░ рдкреНрд░рдХрд╛рд╢рдирд╣рд░реВ рдЫрдиреНред рдпрд╣рд╛рдБ рдХреЗрд╣рд┐ рдЫрдиреН рдЬреБрди рдореИрд▓реЗ рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдЙрдкрдпреЛрдЧреА рдкрд╛рдПрдБ:
-
Kustomize рдкреНрд░рдпреЛрдЧ рдЧрд░реА рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рддрд╛рд╡рд░рдг рдЙрддреНрдкрд╛рджрди/рдкрд░реАрдХреНрд╖рдгрдХреЛ рд▓рд╛рдЧрд┐ рдЖрдзрд╛рд░ YAML рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрд╣реЛрд╕реН ; -
Kustomize тАФ Kubernetes рдорд╛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЧрд░реНрдиреЗ рд╕рд╣реА рддрд░рд┐рдХрд╛ ; -
рдЕрдиреБрдХреВрд▓рди рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ Kubernetes рд╡рд╕реНрддреБрд╣рд░реВрдХреЛ рдШреЛрд╖рдгрд╛рддреНрдордХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди ; -
рдЕрдиреБрдХреВрд▓рдирдХреЛ рд╕рд╛рде рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯрд╣рд░реВ рдЕрдиреБрдХреВрд▓рд┐рдд рдЧрд░реНрджреИ .
рдиреЛрдЯред рдЕрдиреБрд╡рд╛рджред: рддрдкрд╛рдИрдВ рдкрдирд┐ рдкреНрд░рдХрд╛рд╢рд┐рдд рд▓рд┐рдЩреНрдХрд╣рд░реВрдХреЛ рдмреНрд▓рдХ рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ
рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдпреЛ рд╕рд╛рдордЧреНрд░реА рд╕реБрдзрд╛рд░ рдЧрд░реНрди рдкреНрд░рд╢реНрди рд╡рд╛ рд╕реБрдЭрд╛рд╡рд╣рд░реВ рдЫрдиреН рднрдиреЗ, рдо рд╕рдзреИрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЦреБрд▓рд╛ рдЫреБред рдорд╛ рд╕рдореНрдкрд░реНрдХ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ
рдЕрдиреБрд╡рд╛рджрдХрдмрд╛рдЯ PS
рд╣рд╛рдореНрд░реЛ рдмреНрд▓рдЧрдорд╛ рдкрдирд┐ рдкрдвреНрдиреБрд╣реЛрд╕реН:
- ┬л
Kubernetes рдорд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдХрд░рдг ┬╗; - ┬л
Kubernetes 1.14: рдореБрдЦреНрдп рдЖрд╡рд┐рд╖реНрдХрд╛рд░рд╣рд░реВрдХреЛ рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди ┬╗; - ┬л
рдПрдореНрд╕реНрдЯрд░реНрдбрдордорд╛ рд╣реЗрд▓реНрдо рд╕рдорд┐рдЯ 2019 рдХреЛ рдкрд╛рдБрдЪ рдореБрдЦреНрдп рдкрд░рд┐рдгрд╛рдорд╣рд░реВ ┬╗; - ┬л
Kubernetes - Helm рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрдпрд╛рдХреЗрдЬ рдкреНрд░рдмрдиреНрдзрдХ рдХреЛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрд░рд┐рдЪрдп "ред
рд╕реНрд░реЛрдд: www.habr.com