Platform
Xalka muuqda wuxuu ahaa in la isticmaalo koofiyadda cas ee Linux CoreOS (nooc ka mid ah koofiyadda cas ee Linux) iyo CRI-O sida caadiga ah, waana kan sababta...
Maadaama mawduuca badmaaxdu uu yahay mid aad u wanaagsan oo lagu heli karo isbarbardhig marka aan sharraxeyno shaqada Kubernetes iyo weelasha, aan isku dayno inaan ka hadalno dhibaatooyinka ganacsiga ee CoreOS iyo CRI-O ay xalliyaan, annaga oo isticmaalaya tusaale
Hadda ka fikir haddii Brunel uu shaqadan u qabto 20 nooc oo maraakiib ah oo kala duwan (nooca Kubernetes) iyo shan meerayaal oo kala duwan oo leh qulqulka badda iyo dabaylaha (bixiyeyaasha daruuraha). Intaa waxaa dheer, waxaa loo baahnaa in dhammaan maraakiibta (OpenShift clusters), iyada oo aan loo eegin meereyaasha lagu socdo navigation-ka, marka laga eego aragtida kabtanka ( hawl-wadeennada maamula hawlgalka kooxaha) inay u dhaqmaan si isku mid ah. Si loo sii wado isbarbardhigga badda, kabtannada maraakiibtu haba yaraatee ma daneeyaan nooca jeexjeexyada (CRI-O) ee loo isticmaalo maraakiibtooda - waxa ugu weyn ee iyaga u ah waa in blocks ay yihiin kuwo xooggan oo la isku halleyn karo.
OpenShift 4, sida madal daruureed, ayaa wajaheysa caqabad ganacsi oo la mid ah. Noodyo cusub waa in la abuuraa wakhtiga kooxdu abuurmayso, haddii ay dhacdo in mid ka mid ah noodhka mid ka mid ah uu xumaado, ama marka la miisaamo kooxda. Marka nood cusub la abuuro oo la bilaabo, qaybaha martida muhiimka ah, oo ay ku jiraan CRI-O, waa in loo habeeyaa si waafaqsan. Sida wax soo saarka kale, "qalabka ceeriin" waa in la keenaa bilowga. Dhinaca maraakiibta, alaabta ceeriin waa bir iyo alwaax. Si kastaba ha ahaatee, xaalada abuurista martigeliyaha geynta weelasha kutlada OpenShift 4, waxaad u baahan tahay inaad lahaato faylal habayn iyo servers API-ay bixiso si ahaan. OpenShift ayaa markaa bixin doonta heerka loo baahan yahay ee otomatiga inta lagu jiro wareegga nolosha oo dhan, iyada oo bixisa taageerada badeecada lagama maarmaanka u ah isticmaaleyaasha dhammaadka ah oo sidaas darteed dib u soo ceshanaya maalgashiga goobta.
OpenShift 4 waxaa loo abuuray si ay u bixiso awoodda si ku habboon loo cusboonaysiiyo nidaamka inta lagu jiro wareegga nolosha ee goobta (nooca 4.X) ee dhammaan bixiyeyaasha xisaabinta daruuriga ah, goobaha farsamada iyo xitaa nidaamyada birta ee qaawan. Si taas loo sameeyo, qanjidhada waa in la abuuraa iyadoo lagu salaynayo walxo la isweydaarsan karo. Marka kooxdu u baahato nooc cusub oo Kubernetes ah, waxay sidoo kale helaysaa nooca u dhigma ee CRI-O ee CoreOS. Maadaama nooca CRI-O uu si toos ah ugu xidhan yahay Kubernetes, tani waxay si weyn u fududaynaysaa wax kasta oo ku saabsan tijaabinta, cilad-baadhista, ama ujeedooyinka taageerada. Intaa waxaa dheer, habkani wuxuu yareynayaa kharashyada isticmaala dhamaadka iyo Koofiyada Cas.
Kani waa hab asaasi ah oo cusub oo looga fikirayo kutlooyinka Kubernetes oo dhidibada u aasaya qorshaynta astaamo cusub oo faa'iido leh oo soo jiidasho leh. CRI-O (Container Runtime Interface - Furan Container Initiative, oo loo soo gaabiyo CRI-OCI) ayaa u soo baxday inay tahay doorashada ugu guusha badan ee abuuritaanka qanjidhada faraha badan ee lagama maarmaanka u ah in lala shaqeeyo OpenShift. CRI-O waxay bedeli doontaa matoorka Docker ee horay loo isticmaalay, isagoo siinaya isticmaalayaasha OpenShift
Adduunka weelasha furan
Adduunku waxa uu u socday dhinaca weelasha furan muddo dheer. Hadday tahay Kubernetes, ama heerar hoose,
Dhammaantood waxay ku bilowdeen abuurista Hindisaha Konteenarada Furan
Bulshada Kubernetes ayaa markaa soo saartay hal halbeeg oo isku xidhka la xidhi karo, oo loo yaqaan
Injineerada Koofiyada Cas iyo Google waxay arkeen baahida suuqa ee mashiinka weelka kaas oo aqbali kara codsiyada Kubelet ee nidaamka CRI waxayna soo bandhigeen weelal la jaan qaadaya tilmaamaha OCI ee kor ku xusan. Markaa
Sawir 1.
Hal-abuur leh CRI-O iyo CoreOS
Markii la bilaabay barnaamijka OpenShift 4, waa la bedelay
Sug, waa sidee tani?
Taasi waa sax, markii uu soo baxay OpenShift 4, ma jirto baahi loo qabo in lagu xidho martigeliyaha gaarka ah oo lagu rakibo mishiinka weelka, habaynta kaydinta, habaynta server-yada raadinta ama isku xidhka shabakad. Madal OpenShift 4 ayaa gabi ahaanba dib loo habeeyay si loo isticmaalo
Kubernetes waxay had iyo jeer u ogolaatay isticmaalayaasha inay maamulaan codsiyada iyagoo qeexaya gobolka la rabo iyo isticmaalka
Adigoo isticmaalaya Hawl-wadeenada goobta, OpenShift 4 waxay keenaysaa jaantuskan cusub (iyadoo la adeegsanayo fikradda dejisan iyo xaaladda dhabta ah) maamulka RHEL CoreOS iyo CRI-O. Hawlaha habaynta iyo maaraynta noocyada nidaamka qalliinka iyo mishiinka weelka waxaa si toos ah loo adeegsadaa waxa loogu yeero.
weelasha ordaya
Isticmaalayaashu waxay heleen fursad ay ku isticmaalaan mashiinka CRI-O ee madal OpenShift tan iyo nooca 3.7 ee heerka Tech Preview iyo nooca 3.9 ee heerka Guud ahaan la heli karo (hadda la taageeray). Intaa waxaa dheer, Koofiyada Cas ayaa si weyn u isticmaala
Bariis 2. Sida weelku ugu shaqeeyaan kutlada Kubernetes
CRI-O waxay fududaynaysaa abuurista martigaliyayaasha weelka cusub iyadoo la jaanqaadaysa dhammaan heerka sare marka la bilaabayo qanjidhada cusub, iyo marka la siidaayo noocyo cusub oo ah madal OpenShift. Dib-u-eegis lagu sameeyo dhammaan madalku waxay u oggolaanaysaa dib-u-soo-noqoshada wax-is-weydaarsiga, waxayna sidoo kale ka hortagtaa xirmooyinka ku-tiirsanaanta u dhexeeya xuddunta dabada weelka, mashiinka weelka, noodhka (Kubelets) iyo Kubernetes Master node. Iyada oo si dhexe loo maareeyo dhammaan qaybaha madal, iyada oo la xakameynayo iyo qaabaynta, had iyo jeer waxaa jira waddo cad oo ka socota gobolka A ilaa gobolka B. Tani waxay fududaynaysaa habka cusboonaysiinta, waxay wanaajisaa amniga, waxay wanaajisaa warbixinta waxqabadka, waxayna gacan ka geysataa dhimista qiimaha cusbooneysiinta iyo rakibida noocyo cusub .
Muujinta awoodda walxaha beddelka ah
Sidaan hore u soo sheegnay, adeegsiga Mashiinka Config Operator si loo maareeyo martigeliyaha weelka iyo mishiinka weelka ee OpenShift 4 waxay ku siinaysaa heer cusub oo otomaatig ah oo aan markii hore suurtogal ka ahayn goobta Kubernetes. Si loo muujiyo sifooyinka cusub, waxaanu tusi doonaa sida aad wax ugu samayn karto faylka crio.conf. Si aad isaga ilaaliso inaad ku wareerto erey-bixinta, isku day inaad diirada saarto natiijooyinka.
Marka hore, aynu abuurno waxa loo yaqaan qaabaynta wakhtiga runtime-Container Runtime Config. Ka fakar sida kheyraadka Kubernetes oo u taagan qaabeynta CRI-O. Xaqiiqda, waa nooc gaar ah oo shay la yiraahdo MachineConfig, kaas oo ah qaabeyn kasta oo la geeyo mashiinka RHEL CoreOS oo qayb ka ah kooxda OpenShift.
Ilahan gaarka ah, ee loo yaqaan ContainerRuntimeConfig, waxaa loo sameeyay si ay ugu fududaato maamulayaasha kooxda inay habeeyaan CRI-O. Qalabkani waa mid awood badan oo ku filan in lagu dabaqi karo qanjidhada qaarkood iyadoo ku xiran goobaha MachineConfigPool. Ka fakar sida koox mashiino ah oo u adeega ujeedo isku mid ah.
U fiirso labada sadar ee ugu dambeeya ee aan ku beddeli doonno faylka /etc/crio/crio.conf. Labadan sadar waxay aad ugu shabahaan xadadka ku jira faylka crio.conf, waa:
vi ContainerRuntimeConfig.yaml
ΠΡΠ²ΠΎΠ΄:
apiVersion: machineconfiguration.openshift.io/v1
kind: ContainerRuntimeConfig
metadata:
name: set-log-and-pid
spec:
machineConfigPoolSelector:
matchLabels:
debug-crio: config-log-and-pid
containerRuntimeConfig:
pidsLimit: 2048
logLevel: debug
Hadda aan ku riixno feylkan kutlada Kubernetes oo aan hubinno in dhab ahaantii la abuuray. Fadlan la soco in hawlgalku uu la mid yahay kan ilaha kale ee Kubernetes:
oc create -f ContainerRuntimeConfig.yaml
oc get ContainerRuntimeConfig
ΠΡΠ²ΠΎΠ΄:
NAME AGE
set-log-and-pid 22h
Marka aan abuurno ContainerRuntimeConfig, waxaan u baahanahay inaan wax ka beddelno mid ka mid ah MachineConfigPools si aan u calaamadeyno Kubernetes inaan rabno inaan ku dabaqno qaabeyntan koox gaar ah oo mashiinno ah oo kutlada. Xaaladdan oo kale waxaan u bedeli doonaa MachineConfigPool ee qanjidhada sayidkiisa:
oc edit MachineConfigPool/master
Gabagabo (si loo caddeeyo, nuxurka ugu muhiimsan waa laga tagay):
...
metadata:
creationTimestamp: 2019-04-10T23:42:28Z
generation: 1
labels:
debug-crio: config-log-and-pid
operator.machineconfiguration.openshift.io/required-for-upgrade: ""
...
Halkaa marka ay marayso, MCO waxa ay bilaabaysaa in ay u abuurto fayl cusub crio.conf kooxda Xaaladdan oo kale, faylka qaabeynta oo dhammaystiran ayaa la arki karaa iyadoo la adeegsanayo Kubernetes API. Xusuusnow, ContainerRuntimeConfig waa nooc gaar ah oo MachineConfig ah, marka waxaan ku arki karnaa natiijada annaga oo eegayna xariiqyada khuseeya MachineConfigs:
oc get MachineConfigs | grep rendered
ΠΡΠ²ΠΎΠ΄:
rendered-master-c923f24f01a0e38c77a05acfd631910b 4.0.22-201904011459-dirty 2.2.0 16h
rendered-master-f722b027a98ac5b8e0b41d71e992f626 4.0.22-201904011459-dirty 2.2.0 4m
rendered-worker-9777325797fe7e74c3f2dd11d359bc62 4.0.22-201904011459-dirty 2.2.0 16h
Fadlan la soco in faylka qaabaynta ee ka soo baxay ee qanjidhada sayidku uu ahaa nooc ka cusub qaabaynta asalka ah. Si aad u aragto, socodsii amarka soo socda. Markaan gudubno, waxaan ogaanay in tani laga yaabo inay tahay mid ka mid ah kuwa ugu wanaagsan taariikhda Kubernetes:
python3 -c "import sys, urllib.parse; print(urllib.parse.unquote(sys.argv[1]))" $(oc get MachineConfig/rendered-master-f722b027a98ac5b8e0b41d71e992f626 -o YAML | grep -B4 crio.conf | grep source | tail -n 1 | cut -d, -f2) | grep pid
ΠΡΠ²ΠΎΠ΄:
pids_limit = 2048
Hadda aan hubinno in qaabeynta lagu dabaqay dhammaan qanjidhada sayidyada. Marka hore waxaan helnaa liiska qanjidhada ee kutlada:
oc get node | grep master
Output:
ip-10-0-135-153.us-east-2.compute.internal Ready master 23h v1.12.4+509916ce1
ip-10-0-154-0.us-east-2.compute.internal Ready master 23h v1.12.4+509916ce1
ip-10-0-166-79.us-east-2.compute.internal Ready master 23h v1.12.4+509916ce1
Hadda aan eegno faylka la rakibay. Waxaad arki doontaa in faylka lagu cusboonaysiiyay qiyamka cusub ee dardaaranka pid iyo debug ee aan ku qeexnay ilaha ContainerRuntimeConfig. Quruxda lafteeda:
oc debug node/ip-10-0-135-153.us-east-2.compute.internal β cat /host/etc/crio/crio.conf | egrep 'debug||pidβ
ΠΡΠ²ΠΎΠ΄:
...
pids_limit = 2048
...
log_level = "debug"
...
Dhammaan isbeddelladan kooxda waxa la sameeyey iyada oo aan xataa la socodsiin SSH. Dhammaan shaqada waxaa lagu sameeyay gelitaanka Kuberentes master node. Taasi waa, xuduudahan cusub waxaa lagu habeeyay kaliya qanjidhada sare. qanjidhada shaqaaluhu isma bedelin, taas oo muujinaysa faa'iidooyinka habka Kubernetes ee isticmaalka gobolada la cayimay iyo kuwa dhabta ah ee la xidhiidha weelasha martigeliyaha iyo matoorada weelka ee leh walxo la bedeli karo.
Tusaalaha kore wuxuu muujinayaa awoodda lagu sameeyo isbeddelo yar oo OpenShift Container Platform 4 ah oo leh saddex nood wax soo saar ama koox wax soo saar weyn leh oo leh 3000 qanjidhada. Si kastaba ha ahaatee, tirada shaqadu waxay noqon doontaa isku mid - oo aad u yar - kaliya habee faylka ContainerRuntimeConfig, oo beddel hal calaamad gudaha MachineConfigPool. Waxaadna tan ku samayn kartaa nooc kasta oo ka mid ah OpenShift Container Platform 4.X oo ku shaqeeya Kubernetes inta uu nool yahay.
Badanaa shirkadaha tignoolajiyada ayaa si dhakhso ah u horumariya oo aynaan awoodin inaan sharaxno sababta aan u dooranayno tignoolajiyada qaar ka mid ah qaybaha hoose. Matoorada konteenarada ayaa taariikh ahaan ahaa qaybta ay isticmaalayaashu si toos ah ula falgalaan. Maaddaama caannimada weelasha ay si dabiici ah u bilaabatay imaatinka matoorada weelasha, isticmaalayaashu waxay inta badan muujiyaan xiisaha iyaga. Tani waa sabab kale oo Koofiyadda Cas u dooratay CRI-O. Koonteenarada ayaa ku soo badanaya iyada oo diiradda la saarayo hadda orchestration, waxaana ogaanay in CRI-O ay bixiso khibradda ugu fiican marka ay la shaqeyneyso OpenShift 4.
Source: www.habr.com