sehatra
Ny vahaolana mazava dia ny fampiasana ny Red Hat Enterprise Linux CoreOS (varian'ny Red Hat Enterprise Linux) sy ny CRI-O ho fenitra, ary izao no antony...
Satria ny lohahevitra momba ny sambo dia tena tsara amin'ny fitadiavana analogie rehefa manazava ny asan'ny Kubernetes sy ny kaontenera, andeha isika hiresaka momba ny olana ara-barotra izay mamaha ny CoreOS sy CRI-O, amin'ny fampiasana ohatra.
Alao sary an-tsaina izao raha toa ka tsy maintsy nanao an'io asa io i Brunel tamin'ny maodely sambo 20 samy hafa (dika Kubernetes) sy ho an'ny planeta dimy samy hafa miaraka amin'ny rian-dranomasina sy rivotra hafa tanteraka (mpanome rahona). Ankoatra izany, dia takiana ny sambo rehetra (OpenShift clusters), na inona na inona planeta izay navigateur, araka ny fomba fijery ny kapiteny (mpandraharaha izay mitantana ny asa ny clusters) mitondra tena mitovy. Ho fanohizana ny fanoharana an-dranomasina, ny kapitenin-tsambo dia tsy miraharaha mihitsy izay karazana rigging block (CRI-O) ampiasaina amin'ny sambony - ny zava-dehibe ho azy ireo dia ny hoe matanjaka sy azo itokisana ireo sakana ireo.
OpenShift 4, amin'ny maha-sehatra rahona, dia miatrika fanamby ara-barotra mitovitovy amin'izany. Ny node vaovao dia tsy maintsy noforonina amin'ny fotoana famoronana cluster, raha toa ka misy tsy fahombiazana amin'ny iray amin'ireo node, na rehefa manitsy ny cluster. Rehefa noforonina sy natomboka ny node vaovao, dia tsy maintsy amboarina mifanaraka amin'izany ny singa mpampiantrano manan-danja, anisan'izany ny CRI-O. Toy ny amin'ny famokarana hafa rehetra, ny "materials" dia tsy maintsy omena any am-piandohana. Raha ny sambo dia metaly sy hazo ny akora fototra. Na izany aza, amin'ny tranga famoronana mpampiantrano amin'ny fametrahana kaontenera ao amin'ny cluster OpenShift 4, dia mila manana rakitra fanamafisana sy server omen'ny API ianao ho fampidirana. OpenShift dia hanome ny haavon'ny automatique ilaina mandritra ny tsingerin'ny fiainana manontolo, manolotra ny fanohanan'ny vokatra ilaina amin'ny mpampiasa farany ary mamerina ny fampiasam-bola amin'ny sehatra.
OpenShift 4 dia noforonina tamin'ny fomba iray mba hanomezana fahafaham-po ny fanavaozana ny rafitra mandritra ny androm-piainan'ny sehatra manontolo (ho an'ny dikan-teny 4.X) ho an'ny mpamatsy informatika rahona lehibe rehetra, sehatra virtoaly ary na dia rafitra metaly tsy hita maso aza. Mba hanaovana izany, ny nodes dia tsy maintsy noforonina mifototra amin'ny singa azo ovaina. Rehefa mitaky kinova Kubernetes vaovao ny kluster iray, dia mahazo ny CRI-O amin'ny CoreOS ihany koa izy. Koa satria mifamatotra mivantana amin'ny Kubernetes ny kinova CRI-O, dia manamora be ny fanovana rehetra hanaovana fitiliana, famahana olana, na tanjona fanohanana. Ankoatr'izay, ity fomba ity dia mampihena ny vidin'ny mpampiasa farany sy ny Red Hat.
Fomba fisainana vaovao ifotony momba ny cluster Kubernetes ity ary mametraka ny fototra hanomanana endri-javatra vaovao tena ilaina sy mahasarika. CRI-O (Container Runtime Interface - Open Container Initiative, fanafohezana ny CRI-OCI) dia nanjary safidy mahomby indrindra amin'ny famoronana faobe ny nodes izay ilaina amin'ny fiaraha-miasa amin'ny OpenShift. CRI-O dia hanolo ny motera Docker efa nampiasaina teo aloha, manolotra ireo mpampiasa OpenShift
Ny tontolon'ny kaontenera misokatra
Efa ela no nifindra tany amin'ny kaontenera misokatra izao tontolo izao. Na ao amin'ny Kubernetes, na amin'ny ambaratonga ambany,
Nanomboka tamin'ny fananganana ny Open Containers Initiative izany
Ny vondrom-piarahamonina Kubernetes avy eo dia namolavola fenitra tokana ho an'ny interface tsara azo pluggable, antsoina
Hitan'ny injeniera ao amin'ny Red Hat sy Google fa ilaina ny tsenan'ny milina kaontenera afaka manaiky ny fangatahana Kubelet amin'ny protocol CRI ary nampiditra kaontenera mifanaraka amin'ny fepetra OCI voalaza etsy ambony. Noho izany
Fig. 1.
Fanavaozana miaraka amin'ny CRI-O sy CoreOS
Tamin'ny fanombohana ny sehatra OpenShift 4 dia niova izany
Andraso, ahoana ity?
Marina izany, miaraka amin'ny fahatongavan'ny OpenShift 4, tsy ilaina intsony ny mifandray amin'ny mpampiantrano tsirairay ary mametraka motera container, manamboatra fitahirizana, manamboatra lohamilina fikarohana na manamboatra tambajotra. Ny sehatra OpenShift 4 dia novolavolaina tanteraka hampiasa ny
Ny Kubernetes dia namela ny mpampiasa hitantana ny rindranasa amin'ny alΓ lan'ny famaritana ny fanjakana irina sy ny fampiasana azy
Amin'ny fampiasana Operators amin'ny sehatra, OpenShift 4 dia mitondra ity paradigma vaovao ity (mampiasa ny foto-kevitry ny fametrahana sy ny tena fanjakana) amin'ny fitantanana ny RHEL CoreOS sy CRI-O. Ny andraikitry ny fanamboarana sy ny fitantanana ny dikan-tenin'ny rafitra miasa sy ny maotera container dia mandeha ho azy amin'ny fampiasana ilay antsoina hoe
Kaontenera mihazakazaka
Ny mpampiasa dia nanana fahafahana nampiasa ny motera CRI-O tao amin'ny sehatra OpenShift nanomboka tamin'ny version 3.7 amin'ny sata Tech Preview ary avy amin'ny version 3.9 amin'ny sata misy amin'ny ankapobeny (manohana ankehitriny). Ankoatr'izay, ny Red Hat dia mampiasa betsaka
vary. 2. Ny fomba fiasan'ny kaontenera ao amin'ny cluster Kubernetes
Ny CRI-O dia manamora ny famoronana mpampiantrano kaontenera vaovao amin'ny alΓ lan'ny fampifanarahana ny ambaratonga ambony rehetra rehefa manomboka nodes vaovao, ary rehefa mamoaka dikan-teny vaovao amin'ny sehatra OpenShift. Ny fanavaozana ny sehatra manontolo dia ahafahan'ny fanavaozana/famerenana amin'ny fifanakalozana, ary misoroka ny fiatoana amin'ny fiankinan-doha eo amin'ny fototry ny rambony kaontenera, ny motera container, ny nodes (Kubelets) ary ny node Master Kubernetes. Amin'ny alΓ lan'ny fitantanana afovoany ny singa rehetra amin'ny sehatra, miaraka amin'ny fanaraha-maso sy ny fanovana, dia misy lalana mazava foana avy amin'ny fanjakana A mankany amin'ny fanjakana B. Manamora ny fizotran'ny fanavaozana izany, manatsara ny fiarovana, manatsara ny tatitra momba ny zava-bita, ary manampy amin'ny fampihenana ny vidin'ny fanavaozana sy ny fametrahana dikan-teny vaovao. .
Fanehoana ny herin'ny singa fanolo
Araka ny voalaza teo aloha, ny fampiasana ny Machine Config Operator hitantana ny mpampiantrano kaontenera sy ny motera container ao amin'ny OpenShift 4 dia manome ambaratonga automatique vaovao izay tsy azo natao teo aloha teo amin'ny sehatra Kubernetes. Mba hampisehoana ireo endri-javatra vaovao dia hasehonay ny fomba ahafahanao manova ny rakitra crio.conf. Mba tsy ho very hevitra amin'ny voambolana, miezaha hifantoka amin'ny vokatra.
Voalohany, andeha isika hamorona ilay antsoina hoe container runtime configuration - Container Runtime Config. Eritrereto ho loharanon'ny Kubernetes izay maneho ny fandrindrana ny CRI-O. Raha ny tena izy dia dikan-teny manokana amin'ny zavatra antsoina hoe MachineConfig izy io, izay fanamafisam-peo apetraka amin'ny milina RHEL CoreOS ho ampahany amin'ny cluster OpenShift.
Ity loharano mahazatra ity, antsoina hoe ContainerRuntimeConfig, dia noforonina mba hanamora ny fanamoran'ny mpitantana kluster ny CRI-O. Mahery vaika ity fitaovana ity ka azo ampiharina amin'ny nodes sasany miankina amin'ny firafitry ny MachineConfigPool. Eritrereto ho toy ny vondrona milina iray izay manana tanjona mitovy.
Mariho ireo andalana roa farany izay hovaintsika ao amin'ny rakitra /etc/crio/crio.conf. Ireo andalana roa ireo dia mitovy amin'ny andalana ao amin'ny rakitra crio.conf, dia ireto:
vi ContainerRuntimeConfig.yaml
famaranana:
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
Andeha isika hanosika ity rakitra ity ho any amin'ny cluster Kubernetes ary hojerena fa tena noforonina izy io. Mariho fa mitovy tanteraka amin'ny loharano Kubernetes hafa ny fandidiana:
oc create -f ContainerRuntimeConfig.yaml
oc get ContainerRuntimeConfig
famaranana:
NAME AGE
set-log-and-pid 22h
Rehefa avy namorona ny ContainerRuntimeConfig isika dia mila manova ny iray amin'ireo MachineConfigPools mba hanamarihana amin'ny Kubernetes fa tiantsika ny hampihatra an'io fanitsiana io amin'ny vondrona milina manokana ao amin'ny cluster. Amin'ity tranga ity dia hanova ny MachineConfigPool ho an'ny nodes master izahay:
oc edit MachineConfigPool/master
Fehiny (mba hazavaina, ny tena zava-dehibe sisa):
...
metadata:
creationTimestamp: 2019-04-10T23:42:28Z
generation: 1
labels:
debug-crio: config-log-and-pid
operator.machineconfiguration.openshift.io/required-for-upgrade: ""
...
Amin'izao fotoana izao, manomboka mamorona rakitra crio.conf vaovao ho an'ny cluster ny MCO. Amin'ity tranga ity dia azo jerena amin'ny alΓ lan'ny Kubernetes API ny rakitra fikirakirana vita tanteraka. Tsarovy, ContainerRuntimeConfig dia dikan-teny manokana an'ny MachineConfig fotsiny, mba hahafahantsika mahita ny valiny amin'ny fijerena ireo andalana mifandraika amin'ny MachineConfigs:
oc get MachineConfigs | grep rendered
famaranana:
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
Azafady, mariho fa ny rakitra fikirakirana ho an'ny node master dia dikan-teny vaovao kokoa noho ny fanamboarana tany am-boalohany. Raha hijery azy dia araho ity baiko manaraka ity. Raha mandalo dia marihina fa ity angamba no iray amin'ireo tsipika tokana tsara indrindra teo amin'ny tantaran'i 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
famaranana:
pids_limit = 2048
Andeha hojerentsika izao fa nampiharina tamin'ny node master rehetra ny configuration. Voalohany dia mahazo lisitry ny nodes ao amin'ny cluster isika:
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
Andeha hojerentsika ny rakitra napetraka. Ho hitanao fa nohavaozina ny rakitra miaraka amin'ny soatoavina vaovao ho an'ny torolΓ lana pid sy debug izay nofaritanay tao amin'ny loharano ContainerRuntimeConfig. Elegance mihitsy:
oc debug node/ip-10-0-135-153.us-east-2.compute.internal β cat /host/etc/crio/crio.conf | egrep 'debug||pidβ
famaranana:
...
pids_limit = 2048
...
log_level = "debug"
...
Ireo fiovana rehetra ireo amin'ny kluster dia natao nefa tsy nihazakazaka SSH akory. Ny asa rehetra dia natao tamin'ny fidirana amin'ny node master Kuberentes. Izany hoe, ireo mari-pamantarana vaovao ireo dia natao tamin'ny node master ihany. Tsy niova ny node mpiasa, izay mampiseho ny tombotsoan'ny fomba Kubernetes amin'ny fampiasana fanjakana voafaritra sy tena izy mifandraika amin'ny mpampiantrano kaontenera sy ny motera container misy singa azo ovaina.
Ny ohatra etsy ambony dia mampiseho ny fahafahana manao fanovana amin'ny cluster OpenShift Container Platform 4 kely misy node famokarana telo na cluster famokarana lehibe misy node 3000. Na izany na tsy izany, ny habetsaky ny asa dia hitovy - ary tena kely - amboary fotsiny ny rakitra ContainerRuntimeConfig, ary manova marika iray ao amin'ny MachineConfigPool. Ary azonao atao izany amin'ny dikan-teny rehetra amin'ny OpenShift Container Platform 4.X mandeha Kubernetes mandritra ny androm-piainany.
Matetika dia mivoatra haingana dia haingana ny orinasa teknolojia ka tsy afaka manazava ny antony hisafidianantsika teknolojia sasany ho an'ireo singa fototra. Ny maotera kaontenera dia ara-tantara no singa mifandray mivantana amin'ny mpampiasa. Koa satria ny lazan'ny kaontenera dia nanomboka tamin'ny fahatongavan'ny milina kaontenera, matetika ny mpampiasa dia mampiseho fahalianana amin'izy ireo. Antony iray hafa nisafidianan'ny Red Hat ny CRI-O izany. Mivoatra ny kaontenera miaraka amin'ny fifantohana amin'ny orkestra ankehitriny, ary hitanay fa ny CRI-O dia manome traikefa tsara indrindra rehefa miara-miasa amin'ny OpenShift 4.
Source: www.habr.com