Unsa ang Pagdumala sa Automation ug Configuration sa CHEF - Bahin 1


Atong kuhaon ang usa ka yano nga senaryo, ikaw adunay 10 nga redhat server diin kinahanglan ka maghimo usa ka 'tecmint' nga tiggamit sa tanan nga mga server. Ang direkta nga pamaagi mao, kinahanglan nimo nga mag-login sa matag server ug paghimo sa user gamit ang useradd command. Kung ang mga server 100s o 1000s, ang pag-login sa tanan nga mga server usa-usa halos dili mahimo.

Dinhi, ang una nga butang nga moabut sa among hunahuna sa ingon nga mga kaso mao ang pagsulat sa usa ka script ug tugoti ang script nga himuon ang pagpatay sa mga server, kini usa ka napamatud-an nga pamaagi. Ang scripting adunay kaugalingon nga mga disbentaha, bisan kung kini kaylap nga gigamit sa mga organisasyon, lisud ang pagpadayon kung ang tag-iya sa script mobiya sa Organisasyon.

Ang script dili molihok sa usa ka heterogeneous nga palibot. Ang script usa ka Imperative nga pamaagi aron matuman ang buluhaton, diin kinahanglan nimo nga magsulat og taas nga code alang sa usa ka yano nga buluhaton ug uban pa, kini nga sitwasyon nangayo kanamo nga mangita alang sa Automation ug Configuration Management nga mga himan sama sa usa ka Chef.

Sa kini nga serye sa mga artikulo sa Chef, atong tan-awon ang bahin sa mga pamaagi sa pag-install ug pag-configure sa tool sa Chef Automation pinaagi sa mga bahin 1-3 ug gisakup ang mga musunud nga hilisgutan.

Kini nga panudlo naghatag usa ka punto sa pagsugod kung giunsa ang pagtrabaho sa Chef, automation, pagdumala sa pag-configure, arkitektura, ug mga sangkap sa Chef.

1. Pagdumala sa Configuration

Ang Pagdumala sa Pag-configure mao ang panguna nga punto sa pokus sa pagpraktis sa DevOps. Sa siklo sa pag-uswag sa Software, ang tanan nga mga server kinahanglan nga ma-configure sa software ug mamentinar nga maayo sa paagi nga dili sila maghimo bisan unsang break sa siklo sa pag-uswag. Ang dili maayo nga configuration Management makahimo sa system outages, leaks, ug data breaches. Ang paggamit sa mga himan sa Pagdumala sa Pag-configure mao ang bahin sa pagpadali sa katukma, kahusayan, ug katulin sa palibot nga gimaneho sa DevOps.

Adunay duha ka mga modelo sa mga himan sa pagdumala sa configuration - PUSH-based & PULL-based. Sa PUSH-based, ang Master server nagduso sa configuration code ngadto sa mga server diin ang PULL-based nga indibidwal nga mga server mokontak sa Master alang sa pagkuha sa configuration code. PUPPET ug CHEF kay kaylap nga gigamit nga PULL-based nga mga modelo, ang ANSIBLE kay popular nga PUSH-based nga modelo. Niini nga artikulo, atong tan-awon ang bahin sa CHEF.

2. Unsa ang Chef?

Ang Usa ka chef usa ka open-source nga automation nga programa nga makapahimo sa mga administrador sa sistema sa pag-automate sa deployment, mga configuration, pagdumala, ug nagpadayon nga mga buluhaton sa daghang mga server ug uban pang mga device sa usa ka organisasyon sa yano nga sayon nga paagi.

  • Gitukod kini niadtong 2008 isip OPSCODE sa ulahi giilisan kinig ngalan sa CHEF (Chef Automation tool).
  • Kini usa ka Ruby-based automation tool nga gigamit sa pagdumala sa configuration, pag-automate ug pag-orchestrate sa tibuok imprastraktura sa usa ka organisasyon.
  • Kini usa ka Opensource nga proyekto ug adunay duha ka modelo sa pag-deploy: Server Client & Standalone.
  • Gisuportahan sa chef ang lainlaing Operating system sama sa Ubuntu, Redhat/CentOS, Fedora, macOS, Windows, AIX, ug uban pa.
  • Ang chef deklaratibo ug mas simple kay sa lumad nga scripting nga mga pinulongan.
  • Naghatag kini og Padayon nga pag-deploy aron ang usa ka kompanya magpadayon sa pag-update sa kinahanglanon sa Market.
  • Ang Pangunang responsibilidad sa Chef mao ang pagmintinar sa gitakdang kahimtang sa Configuration.
  • Adunay kaugalingon nga deklaratibo nga pinulongan aron madumala ang 10s ug 1000s sa mga node nga sayon.
  • Ang chef dali nga mopahiangay sa panganod, dali nga ma-integrate sa Infrastructure sa Cloud.
  • Ang chef dali nga makat-on ug usa ka kusgan nga himan nga DevOps-friendly nga suportado sa komunidad.

3. Arkitektura sa Chef

Ang arkitektura sa chef gibahin sa 3 ka dagkong mga seksyon.

  • Chef WorkStation: Lokal nga plataporma sa pagpalambo alang sa mga tiggamit sa Chef sa paghimo, pagsulay, ug paggamit sa mga configuration. Kini mahimo nga imong lokal nga desktop, laptop nga adunay Chef DK (Development Kit) nga na-install. Mahimo kining gamiton isip development/testing environment sa dili pa i-promote ngadto sa Production.
  • Chef Server: Usa kini ka server nga adunay chef-server software nga na-install ug na-configure niini. Kini ang responsable sa pagdumala sa code sa Chef ug pag-access sa code sa pagsumpo gikan sa Chef Workstation. Ang chef server kinahanglan nga usa ka Linux machine, dili kini mosuporta sa bisan unsa nga Operating system.
  • Mga Kliyente sa Chef: Adunay mga server nga nagkontak sa server sa Chef alang sa mga detalye sa pag-configure sama sa chef code ug uban pang nagsalig nga mga file sa binary. Gikuha niini ang code gikan sa server sa Chef ug gi-deploy kini sa lokal.

4. Mga sangkap sa chef

Ang mosunod mao ang mga yawe nga sangkap sa Chef.

  • Ang mga kahinguhaan mao ang batakang module sa Recipe nga gigamit sa pagdumala sa Infrastructure.
  • Ang attribute mao ang mga setting sa porma sa key-value pair.
  • Ang mga resipe mao ang koleksyon sa mga hiyas nga mahimo sa Workstation. Kini usa ka hugpong sa mga sugo nga mahimong magamit sa mga Kliyente sa Chef isip Chef Code.
  • Ang Koleksyon sa mga Recipe gitawag ug Cookbook.
  • Usa ka kutsilyo kay usa ka command-line tool sa Chef Workstation nga nakig-interact sa Chef Server.

5. Modelo sa Pag-deploy sa Chef

Adunay duha ka mga modelo sa pag-deploy alang sa Chef.

  • Server Client – Gigamit kini para sa Production Deployment.
  • Chef Zero – Gigamit kini para sa Development, Testing, ug POCs.

6. Giunsa pagtrabaho ang Chef? Imprastraktura isip Code

Ang Infrastructure isip Code mao ang IT Infrastructure Management diin kini nagtugot kanato sa awtomatikong pagbuhat sa nagkalain-laing instalasyon/deployment ug Configuration Management. Dinhi, ang tanan nga mga pag-configure, mga pag-install gisulat ingon code.

  • Ang kliyente/node sa Chef mohimo sa pagrehistro ug pag-authenticate sa server sa Chef.
  • Ang kliyente/node sa chef motan-aw matag karon ug unya sa Chef Server. Ang proseso sa pag-authenticate gihimo matag higayon nga gusto sa chef-client nga ma-access ang datos nga gitipigan sa chef-server.
  • Ang Ohai usa ka himan nga ipadagan sa usa ka kliyente sa Chef aron mahibal-an ang kahimtang sa sistema, kini makamatikod sa mga hiyas (OS, memorya, disk, CPU, kernel, ug uban pa,) sa node ug maghatag sa mga hiyas sa chef-kliyente. Ang Ohai kabahin sa instalasyon sa Chef Client.
  • Kung adunay bisan unsang mga pagbag-o sa Cookbook o Configuration setting, ipadala kini sa Chef-Client ug i-update/i-install.
  • Ang mga cookbook ug mga setting ma-update sa Chef server gamit ang Chef Workstation pinaagi sa command-line tool Knife. Ang Workstation nagduso sa tanang polisiya ngadto sa Chef server gamit ang Knife.
  • Tungod kay ang matag kliyente/node magbaton ug periodic check sa Chef server, ang mga configuration i-apply sa tagsa-tagsa sumala sa papel sa server. Pananglitan: Sa Chef Nodes, pipila ka node mahimong Database server, pipila ka node mahimong gateway server, ug uban pa.

Sa kini nga artikulo, nakita namon ang sukaranan nga mga konsepto sa Pagdumala sa Pag-configure ug tool sa automation sa Chef. Atong makita ang sunod-sunod nga proseso sa pag-instalar sa Chef sa umaabot nga mga artikulo.