Fikradda is-qabsigan ayaa ah in la bilaabo weel uu ku jiro kombayuutarka isticmaalaha maxalliga ah oo wakiil ka ah dhammaan taraafikada kooxda ilaa iyo gadaal. Habkani wuxuu kuu ogolaanayaa inaad horumariso gudaha adiga oo si fudud u tafatiraya faylasha ku jira IDE-ga aad jeceshahay: natiijooyinka isla markiiba waa la heli doonaa.
Faa'iidooyinka ku socodsiinta gudaha waa ku habboonaanta wax-ka-beddelka iyo natiijooyinka degdegga ah, awoodda lagu saxayo codsiga habka caadiga ah. Dhinaca hoose ayaa ah in ay dalbanayso xawaaraha isku xirka, taas oo si gaar ah loo ogaan karo marka ay tahay inaad la shaqeyso codsi leh RPS cadaalad ah oo sarreeya iyo taraafig. Intaa waxaa dheer, Telepresence waxay leedahay dhibaatooyin ku saabsan kor u qaadista mugga ee Windows, taas oo xaddidaad muhiim ah u noqon karta horumariyeyaasha caadaystay OS-kan.
Waxaan horey u wadaagnay khibradeena isticmaalka Telepresence halkan.
Ksync
Qadka hoose: ku dhawaad ββisla markiiba wada shaqaynta koodka iyo weelka ku jira kooxda.
Utility wuxuu kuu ogolaanayaa inaad isku dhejiso waxa ku jira hagaha maxaliga ah iyo tusaha weelka ku dhex socda kooxda Qalabka noocan oo kale ah wuxuu ku fiican yahay horumariyeyaasha qorista luqadaha barnaamijka, kuwaas oo dhibaatadooda ugu weyn ay tahay gaarsiinta koodka weelka socda. Ksync waxaa loogu talagalay in lagu nafiso madax xanuunkan.
Marka lagu bilaabay hal mar amarka ksync init DaemonSet ayaa lagu dhex abuuray kutlada, kaas oo loo isticmaalo in lagula socdo xaalada nidaamka faylka weelka la doortay. Kumbuyuutarkiisa maxalliga ah, horumariyaha ayaa ku shaqeeya amarka ksync watch, kaas oo la socda qaabaynta iyo socodsiinta isweydaarsiga, kaas oo si toos ah ula shaqeeya faylasha kooxda.
Waxa hadhay oo dhan waa in la baro ksync waxa la isku waafajinayo waxa. Tusaale ahaan, amarkan:
... abuuri doona ilaaliye la magacaabay myprojectKaas oo raadin doona boodh leh calaamad app=backend iskuna day inaad isku xidho hagaha deegaanka /home/user/myproject/ oo leh buug /var/www/myproject/ weelka lagu magacaabo php.
Dhibaatooyinka iyo qoraallada ksync ee khibradeena:
Waa in lagu isticmaalo Kubernetes cluster noodes overlay2 sida darawal kaydinta Docker. Adeeggu lama shaqayn doono cid kale.
Markaad isticmaaleyso Windows macmiil ahaan OS, ilaaliyaha nidaamka faylka waxaa laga yaabaa inuusan si sax ah u shaqeyn. Cayayaankan ayaa la dareemay markii la shaqaynayey hagayaal waaweyn - oo wata faylal iyo hagayaal tiro badan oo buul leh. Waxaan abuurnay arrin khuseeya Mashruuca syncthing, laakiin ma jiraan wax horumar ah oo ku saabsan weli (tan iyo bilowgii Luulyo).
Isticmaal faylka .stignore si loo qeexo waddooyinka ama qaababka faylka ee aan u baahnayn in la is waafajiyo (tusaale ahaan, hagaha app/cache ΠΈ .git).
Sida caadiga ah, ksync waxay dib u bilaabi doontaa weelka mar kasta oo faylalku isbedelaan. Node.js tani waa ku habboon tahay, laakiin PHP gabi ahaanba lama baahna. Way fiicantahay in la damiyo opcache oo la isticmaalo calanka --reload=false.
Qaabaynta had iyo jeer waa lagu sixi karaa gudaha $HOME/.ksync/ksync.yaml.
squash
Qadka hoose: habsocodyada si toos ah uga saara kooxda.
Qalabkan waxaa loogu talagalay in lagu saxo hababka si toos ah pods. Utility waa mid fudud oo isdhexgalka kuu ogolaanaya inaad doorato debugger la doonayo (hoos eeg) iyo meelaynta magaca + pod, habka aad u baahan tahay inaad soo farageliso. Hadda la taageero:
U soo gudbinta dekeda JDWP ee ka saarida codsiyada Java.
Dhinaca IDE-ga, taageerada waxa kaliya oo lagu heli karaa VScode (adoo isticmaalaya fidinta), si kastaba ha ahaatee, qorshayaasha sanadkan (2019) waxaa ka mid ah Eclipse iyo Intellij.
Si loo saxo geeddi-socodka, Squash waxay ku waddaa weel mudnaan leh oo ku jira qanjidhada kooxda, marka waa inaad marka hore naftaada barataa awoodaha hab ammaan ah si looga fogaado dhibaatooyinka amniga.
xalal dhamaystiran
Aan u gudubno madaafiicda culculus - mashruucyo badan oo βbalaadhanβ ah oo loogu talagalay in ay isla markiiba daboolaan baahiyo badan oo horumariyayaal ah.
NBLiiskan, dabcan, waxaa jira meel loogu talagalay utility Isha Furan werf (oo hore loo yiqiin dapp). Si kastaba ha ahaatee, hore ayaan u qornay oo ka hadalnay wax ka badan hal jeer, sidaas darteed waxaan go'aansanay inaanan ku darin dib u eegista. Kuwa doonaya inay aqoon dheeraad ah u yeeshaan awoodeeda, waxaan kugula talineynaa akhrinta / dhageysiga warbixinta "werf waa qalabkeena CI/CD ee Kubernetes".
DevSpace
Qadka hoose: kuwa raba in ay ka shaqeeyaan Kubernetes, laakiin ma rabaan in ay si qoto dheer u galaan kaymaha.
Ikhtiyaar ahaan, waxaa lagugu soo jeedin doonaa inaad u rarto terminalka weelka. Waa inaadan diidin, sababtoo ah dhab ahaantii weelku wuxuu ka bilaabmaa amarka hurdada, iyo baaritaanka dhabta ah ee codsiga wuxuu u baahan yahay in lagu bilaabo gacanta.
Ugu dambeyntii, kooxda devspace deploy soo rogo arjiga iyo kaabayaasha la xidhiidha kooxda, ka dib wax walba waxay bilaabaan inay ku shaqeeyaan habka dagaalka.
Dhammaan qaabaynta mashruuca waxa lagu kaydiyaa fayl devspace.yaml. Marka lagu daro goobaha horumarinta deegaanka, waxaad sidoo kale ka heli kartaa sharaxaad ka mid ah kaabayaasha ku jira, oo la mid ah kuwa caadiga ah ee Kubernetes, oo kaliya oo si weyn loo fududeeyay.
Dhismaha iyo marxaladaha ugu muhiimsan ee la shaqaynta DevSpace
Intaa waxaa dheer, way fududahay in lagu daro qayb horay loo sii qeexay (tusaale, MySQL DBMS) ama shaxda Helm mashruuca. Wax badan ka sii akhri dukumentiyo - ma aha mid adag.
Adeegan ka socda Google wuxuu sheeganayaa inuu daboolayo dhammaan baahiyaha horumariye kaas oo koodkiisu si uun ugu shaqayn doono kooxda Kubernetes. Bilaabidda isticmaalkeeda uma fududa sida devspace: ma jiro is dhexgal, ogaanshaha luqadda iyo abuuritaanka otomaatiga ah Dockerfile halkan kuma siin doonaan.
Si kastaba ha noqotee, haddii tani aysan ku cabsi gelin, waa kan waxa Skaffold kuu ogolaanaya inaad sameyso:
Lasoco isbedelada koodhka isha
Ku dheji weelka birta haddii uusan u baahnayn isku-ururin.
Ku ururi weelasha koodka leh, haddii luqadda la turjumayo, ama soo ururi agabka oo ku xidh weel.
Sawirada ka soo baxa si toos ah ayaa loo hubiyaa iyadoo la isticmaalayo weel-qaab-imtixaan.
Ku calaamadinta iyo ku dhejinta sawirada Diiwaanka Docker.
Geli arjiga kutlada adoo isticmaalaya kubectl, Helm ama kustomize.
Samee gudbinta dekedda
Codsiyada qaladka ah ee ku qoran Java, Node.js, Python.
Socodka shaqada ee kala duwanaansho kala duwan ayaa si cad loogu qeexay faylka skaffold.yaml. Mashruuc, waxaad sidoo kale qeexi kartaa dhowr profiles oo aad qayb ahaan ama gebi ahaanba bedeli karto marxaladaha isku dhafka iyo hawlgelinta. Tusaale ahaan, horumarinta, sheeg sawirka aasaasiga ah ee ku habboon horumariyaha, iyo diyaarinta iyo soo saarista - mid yar (+ isticmaalka securityContext weel ama dib u qeex kooxda codsiga la geyn doono).
Weelasha docker-ka waxaa laga dhisi karaa gudaha ama meel fog: gudaha Dhismaha Google Cloud ama koox la isticmaalayo Kaniko. Bazel iyo Jib Maven/Gradle sidoo kale waa la taageeray. Calaamadaynta, Skaffold waxay taageertaa xeelado badan: by git commit hash, taariikhda/waqtiga, sha256-wadarta ilaha, iwm.
Si gooni ah, waxaa habboon in la xuso suurtagalnimada tijaabinta weelasha. Qaab dhismeedka tijaabada weelka ee hore loo sheegay ayaa bixiya hababka xaqiijinta ee soo socda:
Fulinta amarada macnaha guud ee weelka oo leh la socodka xaaladaha ka bixida iyo hubinta qoraalka amarka.
Hubinta joogitaanka faylalka ku jira weelka iyo is waafajinta sifooyinka la cayimay.
Xakamaynta waxa ku jira faylka adoo isticmaalaya tibaaxo joogto ah.
Xaqiijinta xogta badan ee sawirka (ENV, ENTRYPOINT, VOLUMES iyo wixi la mida.).
Hubinta waafaqsanaanta shatiga
Isku-xidhka faylalka weelka looma fuliyo sida ugu wanaagsan: Skaffold waxay si fudud u abuurtaa kaydka ilaha, koobiyo oo ka furto weelka (tar waa in la rakibaa). Sidaa darteed, haddii hawshaada ugu weyni ay tahay isku-darka koodhka, waxa fiican inaad eegto xal gaar ah (ksync).
Marxaladaha ugu muhiimsan ee hawlgalka Skaffold
Guud ahaan, qalabku kuma ogola inaad ka soo baxdo Kubernetes muujinta oo aan lahayn wax isdhexgal ah, sidaas darteed waxay u muuqan kartaa mid adag in la barto. Laakiin tani sidoo kale waa faa'iido u leedahay - xorriyadda ficilka weyn.
Luqadda: Nooca Qoraalka (waxaa la qorsheeyay in mashruuca loo qaybiyo dhawr qaybood, kuwaas oo qaarkood ku jiri doona Go, oo sidoo kale loo sameeyo SDK si loogu abuuro add-ons ee TypeScript/JavaScript iyo Go).
Shatiga: Shatiga Apache 2.0.
Sida Skaffold, Beerta waxay rabta inay otomaatig u samayso hababka gaarsiinta koodka codsiga kooxda K8s. Si tan loo sameeyo, marka hore waxaad u baahan tahay inaad ku qeexdo qaab dhismeedka mashruuca ee faylka YAML, ka dibna maamula amarka garden dev. Waxay samayn doontaa sixirka oo dhan:
Ku ururi weelasha ay ku jiraan qaybaha kala duwan ee mashruuca.
Waxay qabataa imtixaanada is dhexgalka iyo unugga, haddii mid la sharraxay.
Waxay u soo saartaa dhammaan qaybaha mashruuca kooxda
Ujeeddada ugu weyn ee isticmaalka qalabkan waa in lala wadaago koox horumarineed oo fog. Xaaladdan oo kale, haddii qaar ka mid ah dhismaha iyo tillaabooyinka tijaabada hore loo sameeyay, tani waxay si weyn u dedejin doontaa habka oo dhan, maadaama Beerta ay awood u yeelan doonto inay isticmaasho natiijooyinka kaydsan.
Mashruucu wuxuu noqon karaa weel, weel Maven, shaxda Helm, muujinta kubectl apply ama xitaa shaqada OpenFaaS. Waxaa intaa dheer, mid kasta oo ka mid ah cutubyada waxaa laga soo saari karaa kaydka Git ee fog. Qaybtu waxa laga yaabaa ama ma qeexi karto adeegyada, hawlaha, iyo imtixaanada. Adeegyada iyo hawluhu waxay yeelan karaan ku-tiirsanaan, markaa waxaad go'aamin kartaa isku xigxiga hawlgelinta adeeg gaar ah oo aad abaabuli karto bilaabista hawlaha iyo imtixaannada.
Beerta waxay siisa isticmaalaha dashboard qurux badan (hadda ku jira xaalad tijaabo ah), kaas oo soo bandhigaya garaafka mashruuca: qaybaha, isku xigxiga shirka, fulinta hawlaha iyo imtixaanada, xiriirkooda iyo ku tiirsanaanta. Isla markaaba browserka, waxaad ka eegi kartaa diiwaanka dhammaan qaybaha mashruuca oo aad hubiso waxa qayb gaar ah ka soo baxayso HTTP (haddii, dabcan, kheyraadka soo galaya loo caddeeyo).
Guddiga beerta
Qalabkani waxa kale oo uu leeyahay hab dib-u-cusbooneysii, kaas oo si fudud ula jaan-qaada isbeddelada qoraalka iyo weelka ku jira kooxda, si weyn u dedejisa habka khaladka codsiga. Beertu waxay leedahay mid wanaagsan dukumiintiyada oo aan xumaan tusaaleyaal, taasoo kuu ogolaanaysa inaad si dhakhso ah ula qabsato oo aad bilowdo isticmaalka. By habka, kaliya dhawaan waxaan daabacay tarjumaada maqaalka ka qorayaasha ay.
gunaanad
Dabcan, liiskan qalabyada loogu talagalay horumarinta iyo ciribtirka codsiyada ee Kubernetes kuma koobna. Waxaa jira waxyaabo badan oo faa'iido leh oo wax ku ool ah oo u qalma, haddii aysan ahayn maqaal gaar ah, ka dibna ugu yaraan sheegid. Noo sheeg waxaad isticmaashid, dhibaatooyinka aad la kulantay iyo sida aad u xallisay!