Brevis Introductio ad Kustomize

Nota. transl.Articulus scriptus est a Scott Lowe, ingeniario magnae experientiae in IT, qui est auctor/co-auctor septem librorum impressorum (maxime in VMware vSphere). Nunc laborat pro sua Heptio VMware subsidiaria (anno 2016 quaesita), specialiter in nube computandi et Kubernetes. Textus ipse postulat ut brevis et facilis ad intellegendum introductio ad configurationem procurationem Kubernetes utendi technologiae Mosque nuper fuit K8s.

Brevis Introductio ad Kustomize

Kustomize instrumentum est quod utentes admittit ut "commodo simplex, liberum YAML imagini ad diversas usus pertineat, originalis YAML integrum et utibile" (descriptio sumpta directe ab kustomize repositio in GitHub). Kustomize directe currere potest vel, ut Kubernetes 1.14, usus est kubectl -k accedere ad eius functionem (quamquam Kubernetes 1.15, binarium separatum recentior est quam facultates in kubectl aedificatae). (Nota. transl.: Et cum recenti emissione Kubernetes 1.16 mos fultus etiam in kubeadm utilitatem). In hoc post, lectores ad fundamenta kustomize inducere volo.

In simplicissima sua forma/applicatione, kustomize simpliciter est collectio facultatum (YAML lima quae obiecta Kubernetes definiunt: Deployments, Services, etc.) plus index instructionum mutationum quae illis facultatibus faciendae sunt. Ut utitur instructio contenta Makefile, et Docker continens ex praecepto aedificat Dockerfile, Mos usus kustomization.yaml instructiones condere de iis quae usor mutationibus opum statuere vult.

Hic est exemplum lima kustomization.yaml:

resources:
- deployment.yaml
- service.yaml
namePrefix: dev-
namespace: development
commonLabels:
  environment: development

Non conabor loqui de omnibus possibilibus agris in tabella. kustomization.yaml (Hoc bene scriptum est hic) , sed peculiare exemplum brevem explicationem dabo;

  • agri resources indicat quid (quae opes) kustomize mutabunt. Hoc in casu, facultates in lima requiret deployment.yaml ΠΈ service.yaml in indice tuo (vias plenas vel relativas, si opus est, specificare potes).
  • agri namePrefix kustomize instruit praepositionem quandam addere (in hoc casu - dev-) Ad attributum name omnibus copiis definitur agri resources. Ita si instruere name cum significatione nginx-deployment, mos faciam illud dev-nginx-deployment.
  • agri namespace kustomize docet ut spatium datum omnibus facultatibus adderet. Hoc in casu, instruere et servitii in spatio nominali incidere development.
  • Denique agri commonLabels Titulorum copia omnibus facultatibus addenda est. In exemplo nostro, kustomize pittacium facultatibus cum nomine assignabit environment et significatio development.

Si user facit kustomize build . in indicem cum tabella kustomization.yaml ac necessariis (i.e. files deployment.yaml ΠΈ service.yaml) , tunc in output recipiet textum cum mutationibus determinatis in kustomization.yaml.

Brevis Introductio ad Kustomize
Nota. transl.: Illustratio documenti documenti in "simplex" usui kustomize

Output redirected potest si mutationes faciendae sunt:

kustomize build . > custom-config.yaml

Data output est deterministica (eadem input data eosdem eventus outputos reddet), ideo exitum lima conservare non debes. sed potest directe ad aliud mandatum transire;

kustomize build . | kubectl apply -f -

Kustomize features possunt etiam per accessed kubectl -k (ex quo Kubernetes versio 1.14). Tamen mementote sarcinam kustomize standalone citius renovari quam involucrum kubectl integratum (saltem hoc casu cum Kubernetibus 1.15 emissio).

Quaerant lectores: "Quare haec universa complexionem, si tabulas directe emendare potes?" Magna quaestio. In nostro quidem exemplo potes mutare files deployment.yaml ΠΈ service.yaml directe, sed quid si furca aliena? Lima transfigurans directe reddit difficilem (si non impossibile) furcam emendare cum mutationes fiunt origini/fontis. Usura kustomize permittit ut has mutationes in lima centralize kustomization.yamlrelictis fasciculis originalibus integer et sic faciliorem reddit ad emendanda documenta originalia si opus est.

Beneficia kustomize apparent in causis multiplicioribus usui. In exemplum supra kustomization.yaml et facultates in eodem presul. Sed kustomize subsidia utantur casibus in quibus basis figurae et multae eius variantes, etiam notae obducat. Exempli gratia, a user instruere et servitii pro nginx capere voluit, quibus in exemplum usus sum, ac evolutionem, scaenas et versiones productiones (vel variantes) illarum imaginum creare. Quod ad faciendum, indigebit supra memoratis obducat et, re vera, ipsas praecipuas facultates.

Illustrare notionem obducat et subesse opum (basis opibus)ponatur directoria hanc structuram habere:

- base
  - deployment.yaml
  - service.yaml
  - kustomization.yaml
- overlays
  - dev
    - kustomization.yaml
  - staging
    - kustomization.yaml
  - prod
    - kustomization.yaml

In file base/kustomization.yaml users uti in agro resources simpliciter declaramus facultates quae kustomize complectitur.

In singulis files overlays/{dev,staging,prod}/kustomization.yaml users ad configuratione basis in agro resourcesac deinde mutationes specificas indicant datum environment. Exempli gratia, file overlays/dev/kustomization.yaml viderem sicut exemplum prius datum;

resources:
- ../../base
namePrefix: dev-
namespace: development
commonLabels:
  environment: development

Hic tabella overlays/prod/kustomization.yaml esse omnino diversum;

resources:
- ../../base
namePrefix: prod-
namespace: production
commonLabels:
  environment: production
  sre-team: blue

Cum user decurrit kustomize build . in catalogo overlays/devkustomize optionem progressionem generabit. Si curris kustomize build . in catalogo overlays/prod - bene productio possides. Et haec omnia sine mutacione originali (basis) lima, omnia modo declarative et determinate. Potestatem turpium conformationem committere et directoria obducere directe ad versionis potestatem, sciens quod in his fasciculis nititur quovis tempore optatam figuram effingere potes.

Brevis Introductio ad Kustomize
Nota. transl.: Illustration e documentum documentum obducat in kustomize

Mos can magis plus quam in hoc articulo. Sed spero bene inservit introductio.

Additional Resources

Multa bona sunt vasa et publicationes de kustomize. Hic pauca sunt quae maxime utilia inveni;

Nota. transl.: Commendare potes truncum nexuum ut evulgatum Resources de loco utilitates, sequitur collectionem videos cum relationibus recentissimis de kustomize.

Si interrogationes vel suggestiones ad hanc materiam emendandam habes, semper mihi aperiendum est. Potes contact me at Twitter uel Kubernetes remissa alveo. Habere fun modificando manifestas tuas cum kustomize!

PS ab translator

Lege etiam in nostro diario:

Source: www.habr.com