Kubernetes je bezplatná distribúcia s otvoreným zdrojom a tiež známa ako k8s. Používa sa na automatizáciu nasadenia, správy a škálovania kontajnerového softvéru a aplikácií. Poskytuje rôzne komponenty na správu kontajnerov, ako sú uzly, riadiaca rovina, moduly a nasadenie Kubernetes. S pomocou Kubernetes môžu vývojári jednoducho automatizovať prevádzkovú úlohu, vrátiť zmeny a monitorovať a škálovať kontajnerizované aplikácie a softvér.
V tomto blogu vysvetlíme:
-
- Čo je Kubernetes Deployment?
- Prečo je vytváranie nasadenia lepšie ako vytváranie modulov?
- Čo je ReplicaSet v nasadení?
- Čo je príkaz „kubectl create deployment“?
- Predpoklad: Nainštalujte kubectl a minikube
- Ako vytvoriť nasadenie Kubernetes pomocou príkazu „kubectl create deployment“?
- Ako spustiť repliky v nasadení Kubernetes pomocou príkazu „kubectl vytvoriť nasadenie“?
- Ako funguje ReplicaSet na riadenie nasadenia Kubernetes?
- Záver
Čo je Kubernetes Deployment?
Kubernetes Deployment sa označuje ako zdrojový objekt, ktorý poskytuje deklaratívne inštrukcie a aktualizácie jeho hlavných prvkov, ako sú moduly, ReplicaSet a kontajnerové aplikácie. Kubernetes Deployment umožňuje vývojárom opísať kontajnerovú aplikáciu, ako je obrázok, počet modulov, port, repliky atď. Jedným z hlavných dôvodov, prečo je Kubernetes lepší ako Docker, je to, že nám ponúka vlastnosti automatického liečenia a automatického škálovania a tieto stavy sú dosiahnuteľné vďaka nasadeniu Kubernetes.
Mechanizmus „automatického liečenia“ je technika testovacej automatizácie, ktorá testuje svoj bežiaci objekt a v prípade výskytu akejkoľvek chyby implementuje najlepšiu zhodu na opravu a aplikuje opravu tak, aby zodpovedala skutočnému stavu s požadovaným stavom. Služba „automatické škálovanie“ automaticky škáluje pracovné zaťaženie aplikácie.
Prečo je vytváranie nasadenia lepšie ako vytváranie modulov?
Nasadenie Kubernetes umožňuje vývojárom jednoducho udržiavať skupinu rovnakých modulov spustených so spoločnou konfiguráciou. Naproti tomu pri vytváraní modulu sú používatelia povinní vytvoriť a spustiť modul samostatne. Ak sa pri nasadení vymaže alebo ukončí jeden modul, automaticky sa znova vytvorí a spustí vďaka mechanizmu automatického liečenia. Ak sa však moduly spúšťajú priamo bez nasadenia, v prípade chyby sa od používateľov vyžaduje, aby modul znova vytvorili a spustili manuálne.
Čo je ReplicaSet v nasadení?
Keď vývojár vytvoril nasadenie, vygenerovali sa tri hlavné komponenty a ReplicaSet je jedným z nich. ReplicaSet je kontrolór nasadenia a je zodpovedný za spustenie určeného počtu modulov v rámci nasadenia. V prípade, že sa vymaže jeden modul, ReplicaSet rýchlo vydá pokyn na regeneráciu nového modulu, aby sa zhodoval skutočný stav modulov s požadovaným stavom. Je predovšetkým zodpovedný za poskytovanie deklaratívnych aktualizácií modulov.
Čo je príkaz „kubectl create deployment“?
' kubectl vytvoriť nasadenie “ je príkaz nástroja Kubectl, ktorý sa používa na vytvorenie a spustenie nasadenia Kubernetes. Potom nasadenie poskytne Kubernetes pokyn, ako vytvoriť a aktualizovať inštancie vašej aplikácie.
Syntax
kubectl vytvoriť nasadenie < názov-nasadenia > --obrázok = < image-name > -- < možnosť =hodnota >
Možnosť
Príkaz „kubectl create deployment“ podporuje rôzne možnosti na poskytnutie ďalšej vrstvy funkčnosti a na poskytnutie ďalších pokynov na nasadenie inštancií aplikácie. Možnosti podporované „ kubectl vytvoriť nasadenie ” príkaz je uvedený nižšie v tabuľkovej forme:
Možnosť | Popis |
“– –povoliť-chýbajúce-klávesy-šablóny | Ak je jeho hodnota nastavená ako true, bude ignorovať všetky chyby v šablónach, keď v šablóne chýba kľúč mapy alebo pole. |
“– – chod nasucho | Jeho hodnota môže byť „žiadny“, „server“ alebo „klient“. Ak je hodnota klient, zobrazí alebo vytlačí len objekt, ktorý by bol odoslaný bez jeho odoslania. Ak je hodnota server, odošle iba požiadavky na strane servera. |
“– – manažér v teréne | Zobrazuje alebo nastavuje meno manažéra používané na sledovanie vlastníctva poľa. |
“– – obraz | Ak chcete špecifikovať šablónu kontajnera, zadajte názov obrázka. |
-o, „– –výstup | Zadajte výstupný formát. |
“– – prístav | Nastaví port tak, aby odkryl kontajner. |
-r, „– –repliky | Používa sa na definovanie počtu replík pod. |
“– –uložiť-konfiguráciu | Používa sa na uloženie konfigurácie objektu v jeho anotácii. Ak je jeho hodnota nepravda, anotácia zostane nezmenená. |
“– –zobraziť-spravované-polia | V predvolenom nastavení je jeho hodnota nepravda. Ale ak je nastavený ako true, zachová alebo uloží managedFields pri tlači objektov vo formáte JSON alebo YAML. |
“– –validate=’prísne’ | Jeho hodnota môže byť „prísne“, „upozorniť“ alebo „ignorovať“. Ak je „prísne“, overí zadanie a ak je neplatná, žiadosť zlyhá. Ak je jeho hodnota „warn“, upozorní vás na duplicitné a neznáme polia. Ak je jeho hodnota „ignorovať“, nevykoná žiadnu validáciu schémy. |
Predpoklad: Nainštalujte kubectl a minikube
Ak chcete spustiť nasadenie Kubernetes v klastri Kubernetes, najskôr nainštalujte do systému nižšie uvedené nástroje:
-
- Nástroj Kubectl: Kubectl je nástroj príkazového riadka Kubernetes, ktorý sa používa na riadenie, správu a prevádzku klastra Kubernetes a jeho komponentov, ako je napríklad Kubernetes Deployment.
- Nástroj Minikube: Minikube je implementačný systém pre Kubernetes, ktorý poskytuje alebo vytvára virtuálny počítač v systéme na spustenie klastra Kubernetes. Môže vykonávať klastre s jedným uzlom a väčšinou ho používajú začiatočníci alebo na testovacie účely.
Ak chcete začať s Kubernetes a nainštalovať základné komponenty ako „ kubectl “ a „ minikube “, prejdite cez naše prepojené „ “článok.
Ako vytvoriť nasadenie Kubernetes pomocou príkazu „kubectl create“?
Nasadenie Kubernetes je možné vytvoriť použitím manifestu Yaml alebo pomocou „ kubectl vytvoriť nasadenie “príkaz. Ak chcete vytvoriť nasadenie Kubernetes pomocou príkazu „kubectl create deployment“, postupujte podľa nižšie uvedenej ukážky.
Krok 1: Spustite PowerShell
Najprv spustite Windows PowerShell s oprávneniami správcu z ponuky Štart. Správcovské oprávnenia sú potrebné, pretože minikube spúšťa klaster Kubernetes na virtuálnom počítači pomocou HyperV:
Krok 2: Spustite Kubernetes Cluster
Ak chcete spustiť klaster Kubernetes, použite „ minikube štart 'príkaz:
minikube štart
Krok 3: Získajte uzly Kubernetes
Ďalej prejdite na uzly Kubernetes a skontrolujte, či je klaster spustený alebo nepoužíva „ kubectl získať uzly 'príkaz:
kubectl získať uzly
Krok 4: Vytvorte nasadenie Kubernetes
Vytvorte nové nasadenie Kubernetes v klastri prostredníctvom „k ubectl vytvoriť nasadenie
Krok 5: Získajte Kubernetes Deployment, ReplicaSet a Pod
Príkaz „kubectl create deployment“ vytvorí tri komponenty Deployment, ReplicaSet a Pod. Ak chcete získať prístup k nasadeniam Kubernetes, spustite „ kubectl dostať nasadiť 'príkaz:
kubectl dostať nasadiť
Tu môžete vidieť „ nasadenie nginx “ je k dispozícii v klastri Kubernetes:
ReplicaSet je kontrolér nasadenia, ktorý zaisťuje, že aplikácia v moduloch funguje bezchybne a opravuje body prerušenia. Na prístup k ReplicaSet použite „ kubectl dostať rs 'príkaz:
Tu ReplicaSet zobrazuje požadovaný počet modulov a aktuálne bežiace moduly:
Pod je menšia jednotka klastra Kubernetes, ktorá spúšťa kontajnerovú aplikáciu. Na prístup k modulom Kubernetes použite „ kubectl dostať strúčiky “príkaz. Tu je „ -O ” sa používa na určenie výstupného formátu. Na zobrazenie IP adresy podu sme použili „ široký “formát:
Krok 6: Prihláste sa do Kubernetes Cluster
Ak chcete získať prístup k aplikácii spustenej v kontajneri, najprv prejdite do klastra Kubernetes pomocou „ minikube ssh 'príkaz:
minikube ssh
Krok 7: Prístup k aplikácii spustenej v Kubernetes Deployment
Potom použite „ zvlniť ” spolu s IP adresou podu na prístup ku kontajnerovej aplikácii:
zvlnenie 10.244.0.7
Ako spustiť repliky v nasadení Kubernetes pomocou príkazu „kubectl vytvoriť nasadenie“?
Vytvorenie Kubernetes Deployment je lepšie ako spustenie Podu, pretože dokáže spustiť a spravovať skupinu podov naraz vytvorením replík Podu. Ak chcete spustiť repliky v nasadení Kubernetes pomocou príkazu „kubectl create deployment“, postupujte podľa pokynov nižšie.
Krok 1: Vytvorte Kubernetes Deployment
Najprv vytvorte nasadenie pomocou „ kubectl vytvoriť nasadenie 'príkaz spolu s ' “– – repliky možnosť “. Hodnota možnosti „replicas“ určí požadovaný počet modulov, ktoré by mala ReplicaSet spravovať a spúšťať:
kubectl vytvoriť nasadenie nginx-deployment --obrázok =nginx:stable-perl --repliky = 2
Krok 2: Získajte Kubernetes Deployment, ReplicaSet a Pods
Teraz prejdite na nasadenie Kubernetes pomocou príkazu „kubectl get deploy“:
kubectl dostať nasadiť
Tu môžete vidieť, že nasadenie zobrazuje pripravený, aktuálny a dostupný počet modulov:
Pomocou nižšie uvedeného príkazu získate prístup k informáciám ReplicaSet. Môžete vidieť, že ReplicaSet zobrazuje stav požadovaného počtu modulov a aktuálne vykonávaných modulov:
Podobne na prístup k bežiacim modulom použite nasledujúci príkaz:
Výstup naznačuje, že nasadenie Kubernetes úspešne vykonáva požadovaný počet replík podov v klastri Kubernetes:
Ako funguje ReplicaSet na riadenie nasadenia Kubernetes?
ReplicaSet je zodpovedná za spustenie požadovaného počtu modulov v rámci nasadenia. Ak sa jeden modul rozbije alebo odstráni, modul sa automaticky vytvorí tak, aby zodpovedal aktuálnemu stavu modulov s požadovaným stavom. Tento mechanizmus v skutočnosti implementuje techniku auto-hojenia. Pre demonštráciu postupujte podľa nižšie uvedených pokynov.
Krok 1: Zobrazte Live Kubernetes Pods
Najprv si zobrazte stav modulov naživo pomocou „ kubectl dostať pods -w “príkaz. Poznamenajte si aj názov modulu, ktorý bude poškodený alebo odstránený:
kubectl dostať strúčiky -In
Krok 2: Odstráňte pod
Potom otvorte ďalší terminál PowerShell a pokúste sa odstrániť druhý modul pomocou „ kubectl vymazať pody
Výstup ukazuje, že sme modul úspešne odstránili:
Teraz otvorte okno PowerShell, kde je aktuálny stav modulu. Tu môžete vidieť, keď sme odstránili modul, ReplicaSet automaticky vytvoril a spustil nový modul, aby sa aktuálny stav modulov zhodoval s požadovaným stavom:
Pokryli sme metódu vytvárania Kubernetes Deployment pomocou príkazu „kubectl create deployment“.
Záver
Ak chcete vytvoriť nasadenie Kubernetes pomocou „ kubectl vytvoriť nasadenie “, najprv nainštalujte základné nástroje ako minikube a kubectl. Potom spustite nový klaster Kubernetes pomocou minikube. Teraz vytvorte nové nasadenie pomocou „ kubectl vytvoriť nasadenie