ProHoster > Blog > Administrazioa > CRI-O Docker-en ordezko gisa Kubernetesen exekuzio-ingurune gisa: konfiguratu CentOS 8-n
CRI-O Docker-en ordezko gisa Kubernetesen exekuzio-ingurune gisa: konfiguratu CentOS 8-n
Kaixo! Nire izena Sergey da, DevOps naiz Surf-en. Surfeko DevOps sailak espezialisten arteko interakzioa ezartzea eta lan-prozesuak integratzeaz gain, egungo teknologiak aktiboki ikertzea eta ezartzea du helburu, bai bere azpiegituretan bai bezeroaren azpiegituretan.
Jarraian, banaketa aztertzean topatu ditugun edukiontzien pila teknologikoen aldaketei buruz hitz egingo dut. CentOS 8 eta zer den CRI-O eta nola azkar konfiguratu ingurune exekutagarri bat Kubernetes.
Zergatik ez dago Docker CentOS 8-n sartzen?
Azken bertsio nagusiak instalatu ondoren RHEL 8 edo CentOS 8 ezin da ohartu: banaketa eta biltegi ofizial hauek ez dute aplikazioa Docker, ideologikoki eta funtzionalki paketeak ordezkatzen dituztenak podman, Eraiki (banaketa lehenespenez ageri da) eta CRI-O. Hori, besteak beste, Red Hat-ek Open Container Initiative (OCI) proiektuaren baitan garatutako estandarren ezarpen praktikoa dela eta.
Linux Fundazioaren parte den OCIren helburua hainbat arazo aldi berean konpontzen dituzten edukiontzi formatuetarako eta exekuzio-denboretarako industria estandar irekiak sortzea da. Lehenik eta behin, ez zuten Linux-en filosofiarekin kontraesanean jartzen (adibidez, programa bakoitzak ekintza bat egin behar zuen zatian, eta Docker bat-bateko konbinazio moduko bat da). Bigarrenik, softwarean dauden gabezia guztiak ezaba ditzakete Docker. Hirugarrenik, guztiz bateragarriak izango lirateke edukiontzidun aplikazioak (adibidez, Red Hat OpenShift) hedatzeko, kudeatzeko eta zerbitzatzeko plataforma komertzialen negozio eskakizunekin.
Mugak Docker eta software berriaren abantailak deskribatu dira dagoeneko xehetasunez Artikulu honetan, eta OCI proiektuaren barruan eskaintzen den software pila osoaren eta bere ezaugarri arkitektonikoen deskribapen zehatza Red Hat-eko dokumentazio ofizialean eta artikuluetan aurki daiteke (ez da txarra artikuluan Red Hat blogean) eta hirugarrenen kasuan iritziak.
Garrantzitsua da kontuan izan zer funtzionalitate duten proposatutako pilaren osagaiek:
podman β zuzeneko elkarrekintza edukiontziekin eta irudiak biltegiratzeko runC prozesuaren bidez;
Eraiki β irudiak muntatzea eta erregistrora igotzea;
CRI-O β Edukiontzien orkestrazio sistemetarako ingurune exekutagarri bat (adibidez, Kubernetes).
Uste dut pilaren osagaien arteko interakzio eskema orokorra ulertzeko komenigarria dela hemen konexio-diagrama bat ematea. Kubernetes c exekutatuC eta maila baxuko liburutegiak erabiliz CRI-O:
CRI-O ΠΈ Kubernetes bertsio- eta laguntza-ziklo berdinari atxikitzea (bateragarritasun-matrizea oso erraza da: bertsio nagusiak Kubernetes ΠΈ CRI-O bat datoz), eta honek, garatzaileek pila honen funtzionamenduaren proba oso eta integralean jarritako arreta kontuan hartuta, eskubidea ematen digu edozein erabilera-egoeretan lor daitekeen egonkortasun handiena espero izateko (arintasun erlatiboa ere onuragarria da hemen. CRI-O alderatuta Docker funtzionalitatearen nahita mugatzeagatik).
Instalatzean Kubernetes "bide egokia" modu (OCIren arabera, noski) erabiliz CRI-O on CentOS 8 Zailtasun txiki batzuk topatu genituen, baina arrakastaz gainditu genituen. Pozik partekatuko ditut zurekin instalazio eta konfigurazio argibideak, guztira 10 minutu inguru beharko dira.
Nola zabaldu Kubernetes CentOS 8-n CRI-O esparrua erabiliz
Baldintzak: gutxienez ostalari bat egotea (2 nukleo, 4 GB RAM, gutxienez 15 GB biltegiratzea) instalatuta CentOS 8 (Β«ZerbitzariaΒ» instalazio-profila gomendatzen da), baita haren sarrerak DNS lokalean ere (azken aukera gisa, /etc/hosts-en sarrera batekin atera zaitezke). Eta ez ahaztu desgaitu trukea.
Eragiketa guztiak ostalarian egiten ditugu root erabiltzaile gisa, kontuz.
Lehen urratsean, OS konfiguratuko dugu, CRI-Orako aurretiazko mendekotasunak instalatu eta konfiguratuko ditugu.
Eguneratu dezagun OS:
dnf -y update
Ondoren, suebakia eta SELinux konfiguratu behar dituzu. Hemen dena gure ostalariek edo ostalariek lan egingo duten ingurunearen araberakoa da. Suebaki bat konfigura dezakezu gomendioen arabera dokumentazioaedo, sare fidagarri batean bazaude edo hirugarrenen suebaki bat erabiltzen baduzu, aldatu eremu lehenetsia fidagarri gisa edo desaktibatu suebakia:
ezarri behar den bertsioa CRI-O (bertsio nagusia CRI-O, lehen esan bezala, bat dator beharrezko bertsioarekin Kubernetes), azken bertsio egonkorraz geroztik Kubernetes Gaur egun 1.18:
Erreparatu instalazio prozesuan aurkitzen dugun lehen Γ±abardurari: beharrezkoa da konfigurazioa editatzea CRI-O zerbitzua hasi aurretik, beharrezkoa den osagai komunak zehaztutakoaren kokapen ezberdina baitu:
sed -i 's//usr/libexec/crio/conmon//usr/bin/conmon/' /etc/crio/crio.conf
Bigarren Γ±abardura garrantzitsua: deabrurik erabiltzen ez dugunez Docker, baina deabrua erabiltzen dugu CRI-O, abiarazi eta hasieratu aurretik Kubernetes ezarpen egokiak egin behar dituzu /var/lib/kubelet/config.yaml konfigurazio fitxategian, lehenik nahi duzun direktorioa sortuta:
Instalazioan aurkitzen dugun hirugarren puntu garrantzitsua: erabilitako kontrolatzailea adierazi dugun arren cgroup, eta bere konfigurazioa pasatu diren argumentuen bidez kubelet zaharkituta dago (dokumentazioan berariaz adierazten den bezala), fitxategiari argumentuak gehitu behar dizkiogu, bestela gure clusterra ez da hasieratuko:
Pertsonalizatzeko kontrol-planoa edo langilea minututan nodoak erabil ditzakezu gidoi honekin.
Gure kluster hasiera emateko garaia da.
Klusterra hasieratzeko, exekutatu komandoa:
kubeadm init --pod-network-cidr=10.244.0.0/16
Ziurtatu "kubeadm join..." multzoan sartzeko komandoa idazten duzula, irteeraren amaieran erabiltzeko eskatzen zaizuna, edo gutxienez zehaztutako tokenak.
Instala dezagun Pod sarerako plugina (CNI). erabiltzea gomendatzen dut Calico. Baliteke ezagunagoa flannel bateragarritasun arazoak ditu nftables, bai eta Calico - Proiektuak gomendatutako eta guztiz probatutako CNI ezarpen bakarra Kubernetes:
Langile-nodo bat gure clusterra konektatzeko, 1 eta 2 argibideen arabera konfiguratu behar duzu edo erabili gidoia, ondoren exekutatu komandoa aurreko urratsean idatzi genuen "kubeadm init..." irteeratik:
Egiaztatu dezagun gure cluster hasieratuta dagoela eta lanean hasi dela:
kubectl --kubeconfig=/etc/kubernetes/admin.conf get pods -A
Prest! Dagoeneko kargak osta ditzakezu zure K8s klusterrean.
Aurretik itxaroten gaituena
Espero dut goiko argibideek denbora eta nerbioak aurrezten lagundu izana.
Industrian gertatzen diren prozesuen emaitza, sarritan, dagokien nitxoko beste software batzuen azken erabiltzaile eta garatzaile gehienek nola onartzen dutenaren araberakoa da. Oraindik ez dago guztiz argi OCIren ekimenak urte gutxiren buruan zer ekarriko duen, baina gustura ikusiko dugu. Oraintxe bertan zure iritzia parteka dezakezu iruzkinetan.