Platform
Ang klaro nga solusyon mao ang paggamit sa Red Hat Enterprise Linux CoreOS (usa ka variant sa Red Hat Enterprise Linux) ug CRI-O isip standard, ug ania ang hinungdan...
Tungod kay ang hilisgutan sa paglayag maayo kaayo alang sa pagpangita og mga analohiya kung gipatin-aw ang buhat sa Kubernetes ug mga sudlanan, sulayan naton nga hisgutan ang mga problema sa negosyo nga gisulbad sa CoreOS ug CRI-O, gamit ang usa ka pananglitan.
Karon hunahunaa kung kinahanglan nga buhaton ni Brunel kini nga trabaho alang sa 20 nga lainlaing mga modelo sa barko (mga bersyon sa Kubernetes) ug alang sa lima ka lainlaing mga planeta nga adunay hingpit nga lahi nga sulog sa dagat ug hangin (mga taghatag sa panganod). Dugang pa, gikinahanglan nga ang tanan nga mga barko (OpenShift clusters), bisan unsa pa ang mga planeta diin ang nabigasyon gihimo, gikan sa punto sa panglantaw sa mga kapitan (mga operator nga nagdumala sa operasyon sa mga clusters) molihok sa sama nga. Aron mapadayon ang analogy sa maritime, ang mga kapitan sa barko wala gyud magtagad kung unsang klase nga rigging blocks (CRI-O) ang gigamit sa ilang mga barko - ang panguna nga butang alang kanila mao nga kini nga mga bloke lig-on ug kasaligan.
Ang OpenShift 4, isip usa ka cloud platform, nag-atubang sa susama kaayo nga hagit sa negosyo. Ang mga bag-ong node kinahanglan nga himuon sa panahon sa paghimo sa cluster, kung adunay kapakyasan sa usa sa mga node, o kung gi-scale ang cluster. Kung ang usa ka bag-ong node gihimo ug gisugdan, ang mga kritikal nga sangkap sa host, lakip ang CRI-O, kinahanglan nga ma-configure sumala niana. Sama sa bisan unsang ubang produksiyon, ang "hilaw nga materyales" kinahanglan nga ihatag sa sinugdanan. Sa kaso sa mga barko, ang hilaw nga materyales kay metal ug kahoy. Bisan pa, sa kaso sa paghimo og host alang sa pag-deploy sa mga sudlanan sa usa ka OpenShift 4 cluster, kinahanglan nimo nga adunay mga file sa pag-configure ug mga server nga gihatag sa API ingon input. Ang OpenShift unya maghatag sa gikinahanglan nga lebel sa automation sa tibuok tibuok nga siklo sa kinabuhi, nga nagtanyag sa gikinahanglan nga suporta sa produkto ngadto sa mga end user ug sa ingon makabawi sa puhunan sa plataporma.
Ang OpenShift 4 gimugna sa paagi nga makahatag ug abilidad sa sayon ββnga pag-update sa sistema sa tibuok tibuok kinabuhi sa plataporma (alang sa mga bersyon 4.X) para sa tanang dagkong cloud computing providers, virtualization platform ug bisan sa hubo nga metal nga mga sistema. Aron mahimo kini, ang mga node kinahanglan nga himuon pinasukad sa mga mabag-o nga elemento. Kung ang usa ka cluster nanginahanglan usa ka bag-ong bersyon sa Kubernetes, makadawat usab kini nga katumbas nga bersyon sa CRI-O sa CoreOS. Tungod kay ang bersyon sa CRI-O direkta nga gihigot sa Kubernetes, labi nga gipasimple niini ang bisan unsang mga permutasyon alang sa pagsulay, pag-troubleshoot, o mga katuyoan sa pagsuporta. Dugang pa, kini nga pamaagi nagpamenos sa mga gasto alang sa mga end user ug Red Hat.
Kini usa ka sukaranan nga bag-ong paagi sa paghunahuna bahin sa mga pungpong sa Kubernetes ug nagbutang sa pundasyon sa pagplano sa pipila ka mapuslanon ug makapadani nga bag-ong mga bahin. Ang CRI-O (Container Runtime Interface - Open Container Initiative, pinamubo nga CRI-OCI) nahimo nga labing malampuson nga pagpili alang sa daghang paghimo sa mga node nga kinahanglan aron magamit sa OpenShift. Ang CRI-O mopuli sa kanhi gigamit nga Docker engine, nga nagtanyag sa mga tiggamit sa OpenShift
Ang kalibutan sa bukas nga mga sudlanan
Ang kalibutan naglihok padulong sa bukas nga mga sudlanan sa dugay nga panahon. Sa Kubernetes man, o sa ubos nga lebel,
Nagsugod ang tanan sa pagmugna sa Open Containers Initiative
Ang komunidad sa Kubernetes unya nakahimo og usa ka sumbanan alang sa usa ka pluggable interface, nga gitawag
Ang mga inhenyero sa Red Hat ug Google nakakita sa panginahanglan sa merkado alang sa usa ka container engine nga makadawat sa mga hangyo sa Kubelet sa CRI protocol ug gipaila ang mga sudlanan nga nahiuyon sa mga detalye sa OCI nga gihisgutan sa ibabaw. Busa
Hulagway: kinse.
Kabag-ohan sa CRI-O ug CoreOS
Sa paglunsad sa OpenShift 4 nga plataporma, kini nausab
Teka, unsaon ni?
Husto kana, sa pag-abut sa OpenShift 4, wala na kinahanglana nga magkonektar sa indibidwal nga mga host ug mag-install sa usa ka container engine, i-configure ang pagtipig, i-configure ang mga search server o i-configure ang usa ka network. Ang OpenShift 4 nga plataporma hingpit nga gidesinyo pag-usab aron magamit ang
Kanunay nga gitugotan sa Kubernetes ang mga tiggamit sa pagdumala sa mga aplikasyon pinaagi sa pagtino sa gusto nga kahimtang ug paggamit
Pinaagi sa paggamit sa mga Operator sa plataporma, ang OpenShift 4 nagdala niining bag-ong paradigm (gamit ang konsepto sa set ug aktwal nga estado) sa pagdumala sa RHEL CoreOS ug CRI-O. Ang mga buluhaton sa pag-configure ug pagdumala sa mga bersyon sa operating system ug container engine awtomatiko gamit ang gitawag nga
Nagdagan nga mga sudlanan
Ang mga tiggamit adunay oportunidad sa paggamit sa CRI-O nga makina sa OpenShift nga plataporma sukad sa bersyon 3.7 sa Tech Preview status ug gikan sa bersyon 3.9 sa Generally Available status (karon gisuportahan). Dugang pa, ang Red Hat kaylap nga naggamit
bugas. 2. Giunsa pagtrabaho ang mga sudlanan sa usa ka cluster sa Kubernetes
Gipasimple sa CRI-O ang paghimo sa bag-ong mga host sa sudlanan pinaagi sa pag-synchronize sa tibuuk nga lebel sa pagsugod sa bag-ong mga node, ug kung gipagawas ang mga bag-ong bersyon sa platform sa OpenShift. Ang pagbag-o sa tibuok plataporma nagtugot sa mga transactional updates/rollbacks, ug makapugong usab sa mga deadlock sa mga dependency tali sa container tail core, container engine, nodes (Kubelets) ug sa Kubernetes Master node. Pinaagi sa sentral nga pagdumala sa tanan nga mga sangkap sa plataporma, nga adunay kontrol ug pag-bersyon, kanunay adunay klaro nga agianan gikan sa estado A hangtod sa estado B. Gipasimple niini ang proseso sa pag-update, gipaayo ang seguridad, gipauswag ang pagtaho sa pasundayag, ug gitabangan nga makunhuran ang gasto sa mga update ug pag-install sa mga bag-ong bersyon .
Pagpakita sa gahum sa mga elemento sa pagpuli
Sama sa gihisgutan sa sayo pa, ang paggamit sa Machine Config Operator aron pagdumala sa container host ug container engine sa OpenShift 4 naghatag og bag-ong lebel sa automation nga dili mahimo kaniadto sa Kubernetes platform. Aron ipakita ang bag-ong mga bahin, among ipakita kung giunsa nimo paghimo ang mga pagbag-o sa crio.conf file. Aron malikayan nga malibog sa terminolohiya, sulayi nga ipunting ang mga resulta.
Una, maghimo ta sa gitawag nga container runtime configuration - Container Runtime Config. Hunahunaa kini isip usa ka kapanguhaan sa Kubernetes nga nagrepresentar sa configuration alang sa CRI-O. Sa tinuud, kini usa ka espesyal nga bersyon sa usa ka butang nga gitawag nga MachineConfig, nga bisan unsang pagsumpo nga gi-deploy sa usa ka makina sa RHEL CoreOS isip bahin sa usa ka cluster sa OpenShift.
Kining custom nga kapanguhaan, nga gitawag og ContainerRuntimeConfig, gimugna aron mas sayon ββsa mga cluster administrator ang pag-configure sa CRI-O. Kini nga himan adunay igo nga gahum nga kini magamit lamang sa pipila ka mga node depende sa mga setting sa MachineConfigPool. Hunahunaa kini isip usa ka grupo sa mga makina nga nagsilbi sa samang katuyoan.
Matikdi ang katapusang duha ka linya nga atong usbon sa /etc/crio/crio.conf file. Kining duha ka linya susama kaayo sa mga linya sa crio.conf file, sila mao ang:
vi ContainerRuntimeConfig.yaml
Panapos:
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
Karon atong iduso kini nga file ngadto sa Kubernetes cluster ug susihon nga kini tinuod nga gibuhat. Palihug timan-i nga ang operasyon parehas ra sa ubang mga kapanguhaan sa Kubernetes:
oc create -f ContainerRuntimeConfig.yaml
oc get ContainerRuntimeConfig
Panapos:
NAME AGE
set-log-and-pid 22h
Sa dihang nahimo na namo ang ContainerRuntimeConfig, kinahanglan namong usbon ang usa sa MachineConfigPools aron magsenyas sa mga Kubernetes nga gusto namong i-apply kini nga configuration sa usa ka partikular nga grupo sa mga makina sa cluster. Sa kini nga kaso usbon namon ang MachineConfigPool alang sa mga master node:
oc edit MachineConfigPool/master
Konklusyon (alang sa katin-awan, ang nag-unang esensya nahabilin):
...
metadata:
creationTimestamp: 2019-04-10T23:42:28Z
generation: 1
labels:
debug-crio: config-log-and-pid
operator.machineconfiguration.openshift.io/required-for-upgrade: ""
...
Niini nga punto, ang MCO nagsugod sa paghimo og bag-ong crio.conf file para sa cluster. Sa kini nga kaso, ang hingpit nga nahuman nga configuration file mahimong tan-awon gamit ang Kubernetes API. Hinumdomi, ang ContainerRuntimeConfig usa lang ka espesyal nga bersyon sa MachineConfig, aron makita nato ang resulta pinaagi sa pagtan-aw sa may kalabutan nga mga linya sa MachineConfigs:
oc get MachineConfigs | grep rendered
Panapos:
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
Palihug timan-i nga ang resulta nga configuration file alang sa master nodes kay mas bag-o nga bersyon kay sa orihinal nga configurations. Aron matan-aw kini, pagdagan ang mosunud nga mando. Sa paglabay, among namatikdan nga kini tingali usa sa labing maayo nga one-liner sa kasaysayan sa 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
Panapos:
pids_limit = 2048
Karon atong siguroon nga ang configuration kay na-apply sa tanang master nodes. Una makakuha kami usa ka lista sa mga node sa cluster:
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
Karon atong tan-awon ang na-install nga file. Imong makita nga ang file na-update sa bag-ong mga bili alang sa pid ug debug nga mga direktiba nga among gipiho sa ContainerRuntimeConfig nga kapanguhaan. Elegance mismo:
oc debug node/ip-10-0-135-153.us-east-2.compute.internal β cat /host/etc/crio/crio.conf | egrep 'debug||pidβ
Panapos:
...
pids_limit = 2048
...
log_level = "debug"
...
Ang tanan nga kini nga mga pagbag-o sa cluster gihimo nga wala bisan sa pagpadagan sa SSH. Ang tanan nga trabaho nahimo pinaagi sa pag-access sa Kuberentes master node. Kana mao, kining bag-ong mga parameter gi-configure lamang sa mga master node. Ang mga node sa mamumuo wala mausab, nga nagpakita sa mga benepisyo sa pamaagi sa Kubernetes sa paggamit sa espesipiko ug aktuwal nga mga estado nga may kalabutan sa mga container host ug mga container engine nga adunay mga elemento nga mabaylo.
Ang pananglitan sa ibabaw nagpakita sa abilidad sa paghimo og mga pagbag-o sa usa ka gamay nga OpenShift Container Platform 4 cluster nga adunay tulo ka production nodes o usa ka dako nga production cluster nga adunay 3000 nodes. Sa bisan unsang kaso, ang gidaghanon sa trabaho managsama - ug gamay kaayo - i-configure lang ang ContainerRuntimeConfig file, ug usba ang usa ka label sa MachineConfigPool. Ug mahimo nimo kini sa bisan unsang bersyon sa OpenShift Container Platform 4.X nga nagpadagan sa Kubernetes sa tibuok kinabuhi niini.
Kasagaran ang mga kompanya sa teknolohiya dali nga nagbag-o nga dili namon mapatin-aw kung ngano nga gipili namon ang pipila nga mga teknolohiya alang sa nagpahiping mga sangkap. Ang mga makina sa sulud sa kasaysayan mao ang sangkap nga direkta nga nakig-uban sa mga tiggamit. Tungod kay ang pagkapopular sa mga sudlanan natural nga nagsugod sa pag-abut sa mga makina sa sulud, ang mga tiggamit kanunay nga nagpakita og interes niini. Kini ang laing rason nganong gipili sa Red Hat ang CRI-O. Ang mga sudlanan nag-uswag uban ang pokus karon sa orkestra, ug among nahibal-an nga ang CRI-O naghatag labing kaayo nga kasinatian kung nagtrabaho kauban ang OpenShift 4.
Source: www.habr.com