Kubernetes Docker parancsok alternatívái – CloudSavvy IT

Avatar Gadam | 2021.03.03. 26 Views 0 Likes 0 Ratings

26 Views 0 Ratings Rate it

[ad_1]

A Kubernetes logót ábrázoló grafika

A Docker általában a fejlesztő első bevezetését nyújtja a konténerekhez. A Kubernetes egy hangszerelési platform, amely megoldja a gyártásban használt konténerek körüli kihívásokat. A Docker a következőképpen parancsolja meg a térképet a Kubernetes-társaikkal.

Nem használhatja a docker CLI a Kubernetesben futó tárolókkal való interakcióhoz. A Kubernetes saját parancssori felületet biztosít, kubectl, hogy segítsen a fürt kezelésében. Olvassa el útmutatónkat kezdeni kubectl ha nem ismeri az eszközt.

Egyik sem docker parancsok neve ugyanaz kubectl. A Kubernetes a maga módján tárja fel a funkcionalitást. Maguk a munkaterhelések alapvetően különböznek – a Dockert úgy tervezték, hogy egyszerre egyetlen konténerrel dolgozzon, míg a Kubernetes lehetővé teszi több replika hangszerelését.

Az első értékelendő pont a terminológia elmozdulása. A Docker „konténerekre” hivatkozik, míg a Kubernetes „hüvelyeket” használ. Előfordulhat, hogy egy pod egy tárolót vagy több másolatot futtat egyetlen egységként. Ezt a részletet eltekintve, amikor a „konténert” látja a Dockerben, egy Kubernetes „hüvelyre” kell gondolnia. A kifejezéseket a cikk fennmaradó részében felcserélhető módon fogják használni.

A konténerek részleteinek megismerése

A Dockerben te használod docker ps -a hogy megnézze a gép összes edényét.

A legközelebbi Kubernetes megfelelője kubectl get pods.

A két parancs kimenete egészen más. A Docker további információkat mutat a tároló futó terheléséről.

A Kubernetes megadja a kép és a parancs részleteit a describe pod parancs. Át kell adnia a hüvely nevét. Ez sokkal több részletes információt ad, egy táblázat helyett egy listát használva.

Parancsok végrehajtása konténerekben

A Docker lehetővé teszi a parancs futtatását egy futó tárolóban a docker exec.

A Kubernetes-megfelelőt is hívják exec. Használja a Kubernetes pod nevét a Docker tároló neve helyett. A parancs kissé eltérően van megadva – a pod nevétől el kell választani a-val -- sorrend.

Használhatja a -it zászlók interaktív hozzáférés megszerzéséhez ugyanúgy, mint a Dockerhez. Ez a gyorsírás --stdin --tty és akkor kell használni, amikor héjat akar indítani egy hüvelyen belül. Adja meg a héj nevét, például bash, mint a parancs.

Kubectl támogatja a attach parancs akkor, ha egy már futó tároló folyamatához szeretne csatolni. Hasonlóan működik, mint docker attach de át kellene adnia a -it jelzi, ha interaktív hozzáférésre van szüksége.

Konténernaplók megtekintése

A tároló naplóinak megtekintéséhez a Docker alkalmazásban a docker logs parancs. A -f A switch „követni” fogja a naplókat, így folyamatosan továbbítják őket a terminálhoz.

Kubectl’s logs parancsnak ugyanaz a szintaxisa. Adjon meg egy pod nevet ugyanúgy, ahogy a Docker elfogadja a tároló nevét.

Mind a Docker, mind a Kubernetes a normál kimenetből és a szabványos hibából (stdout/stderr) futó konténerek folyamai. A Kubernetes a tároló újraindítását másként kezeli, mint a Docker. Míg a Dockerben egy újraindított tároló hozzáfűzi a naplóit a meglévőkhöz, addig a Kubernetes minden futtatáshoz új naplót hoz létre. A kicsomagolt tároló naplóit a. Hozzáadásával szerezheti be --previous zászló a logs parancs.

Konténerek létrehozása

A Docker konténerek a run parancs. Így indíthat el egy nginx szerver a Dockerrel:

docker run -d --name nginx --restart=always -p 80:80 nginx

Ez létrehoz egy tárolót a nginx alapképet, és automatikusan újraindítja. A kiszolgáló az alapértelmezett 80 HTTP porthoz van kötve.

A Kubernetes megköveteli, hogy magasabb szintű absztrakciókra gondoljon, amikor tárolókat ad hozzá a fürtjéhez. A tároló futtatása helyett a bevetés a munkaterhelés ábrázolásához:

kubectl create deployment --image=nginx nginx

Ez létrehoz egy nginx bevetés. A hüvely automatikusan elindul; a csomagban lesz egy tároló, amely a webszervert futtatja.

Telepítés létrehozása nem fogja a tárolókat egyetlen porthoz sem kötni. Az újonnan létrehozott szerver még nem érhető el. A kikötőknek meg kell lenniük kitett keresztül a szolgáltatás. A hüvelyek átmeneti jellegűek, és több ismételt tartályt tartalmazhatnak. A szolgáltatások meghatározzák a podok logikai gyűjteményét, és lehetővé teszik hálózati erőforrások, például IP-cím és port hozzárendelését.

A nginx a 80-as porton történő telepítés lehetővé teszi a kiszolgáló elérését:

kubectl expose deployment nginx --port=80 --name nginx-http

Ha megpróbálja elérni a klaszter alapértelmezett IP-címének 80-as portját, most a nginx szerver.

A Kubectl nem támogat közvetlenül másokat docker run olyan opciók, mint a kötet létrehozása és a kötések rögzítése. A tartós tárolást igénylő tárolóknak kézzel kell konfigurálniuk a köteteket kubectl parancsokat vagy a kötet manifeszt.

Konténerek eltávolítása

A dokkoló tartályokat a docker rm parancs a tároló azonosítójával.

A Kubernetes nem engedi közvetlenül törölni a tárolókat. Ehelyett a bevetés amely létrehozta a hüvelyt. Használja a kubectl delete deployment parancsot, átadva a telepítés nevét.

Docker lehetővé teszi álljon meg egy tartályt ahelyett, hogy eltávolítaná. Kubernetes megszüntette a művelet támogatását. A telepítés ideiglenes felfüggesztésének ajánlott módja a replika visszaszámlálásának 0-ra történő csökkentése. Ha nincsenek podokok, a munkaterhelés ténylegesen leáll.

kubectl scale --replicas=0 deployment/my-deployment

Ha készen áll a telepítés folytatására, futtassa a scale parancs ismét. Állítsa az új replikaszámot 1 vagy magasabb. Több másolat használata növelheti a munkaterhelés elérhetőségét.

Következtetés

Nincs közvetlen párhuzam a Docker CLI és kubectl. A Kubernetes parancsok többségének szintaxisa eltér a Docker társaitól. Mielőtt átállíthatja a Docker-alapú munkafolyamatokat a Kubernetesre, új feltételeket és beállításokat kell megtanulnia.

Sok esetben nincs kubectl a Docker CLI képesség alternatívája. A Docker funkcionalitása a konténer koncepcióra összpontosít. Kubernetes ezt veszi, és az erőteljesen kibővített erőforrás-ökoszisztéma középpontjába helyezi.

A konténerekkel ritkán foglalkoznak elszigetelten. Ehelyett olyan erőforrásokkal kell dolgoznia, mint a telepítések, a szolgáltatások és a replika készletek. Ez az oka annak, hogy a Kubernetes megtanulása kihívást jelenthet, ha egy Docker-felhasználó szemszögéből közelítjük meg.

Ha ismeri a Docker alapjait, a Kubernetesre való áttérésnek ennek ellenére viszonylag egyszerűnek kell lennie. Az alapvető különbség az, hogy amit Docker konténerként tekint, azt általában Kubernetes-ben összesített „podként” érik el. A hüvelyeket „telepítések” hozzák létre, amelyek a fürt munkaterhelését jelentik. Ha kétségei vannak, olvassa el a kubectl docs hogy megfelelő egyezést találjon a Docker parancs számára.

[ad_2]
Source link