Gumawa ng Kubernetes Deployment

Gumawa Ng Kubernetes Deployment



Ang mga deployment para sa Kubernetes ay kumakatawan sa tool na nagbibigay-daan sa mga Kubernetes na malaman kung paano baguhin o gawin ang mga instance ng pod na mayroong mga containerized na application. Maaaring patakbuhin ng mga deployment ang naka-scale na bilang ng mga replika ng pod, bumalik sa mga naunang deployment kung kinakailangan, at maaari ring pangasiwaan ang rollout para sa isang na-update na code.

Pamamaraan

Ang artikulong ito ay magpapakita ng isang praktikal na pagpapakita ng paraan ng paggawa ng deployment para sa Kubernetes. Upang makatrabaho ang Kubernetes, kailangan muna nating tiyakin na mayroon tayong platform kung saan maaari nating patakbuhin ang Kubernetes. Kasama sa mga platform na ito ang: Google cloud platform, Linux/Ubuntu, AWS, at iba pa. Maaari naming gamitin ang alinman sa mga nabanggit na platform upang matagumpay na patakbuhin ang Kubernetes.

Halimbawa # 01

Ipapakita ng halimbawang ito kung paano tayo makakagawa ng deployment sa Kubernetes. Bago magsimula sa pag-deploy ng Kubernetes, kailangan muna nating gumawa ng cluster dahil ang Kubernetes ay isang open-source na platform na ginagamit upang pamahalaan at ayusin ang pagpapatupad ng mga application ng mga container sa maraming cluster ng computer. Ang cluster para sa Kubernetes ay may dalawang magkaibang uri ng mga mapagkukunan. Ang bawat mapagkukunan ay may sariling function sa cluster at ito ay ang 'control plane' at ang 'nodes'. Gumagana ang control plane sa cluster bilang manager para sa Kubernetes cluster.
Ito ang coordinate at pinamamahalaan ang bawat posibleng aktibidad sa cluster mula sa pag-iiskedyul ng mga application, pagpapanatili o tungkol sa nais na estado ng application, pagkontrol sa bagong update, at gayundin upang mahusay na sukatin ang mga application.







Ang Kubernetes cluster ay may dalawang node sa loob nito. Ang node sa cluster ay maaaring alinman sa isang virtual machine o ang computer sa bare metal form (pisikal) at ang functionality nito ay gumagana habang gumagana ang machine para sa cluster. Ang bawat node ay may sariling kubelet at ito ay nakikipag-ugnayan sa control plane ng Kubernetes cluster at pinamamahalaan din ang node. Kaya, ang function ng cluster, sa tuwing nagde-deploy kami ng application sa Kubernetes, hindi namin direktang sinasabi sa control plane sa Kubernetes cluster na simulan ang mga container. Pagkatapos, pinapatakbo ng control plane ang mga container sa mga node ng mga cluster ng Kubernetes.



Ang mga node na ito pagkatapos ay nakikipag-ugnayan sa control plane sa pamamagitan ng API ng Kubernetes na nakalantad ng control panel. At ang mga ito ay maaari ding gamitin ng end user para sa pakikipag-ugnayan sa Kubernetes cluster.



Maaari naming i-deploy ang Kubernetes cluster alinman sa mga pisikal na computer o virtual machine. Upang magsimula sa Kubernetes, maaari naming gamitin ang platform ng pagpapatupad ng Kubernetes na 'MiniKube' na nagbibigay-daan sa paggana ng virtual machine sa aming mga lokal na system at available para sa anumang operating system tulad ng Windows, Mac, at Linux. Nagbibigay din ito ng mga pagpapatakbo ng bootstrapping tulad ng pagsisimula, katayuan, pagtanggal, at paghinto. Ngayon, gawin natin ang cluster na ito at gawin ang unang deployment ng Kubernetes dito.





Para sa deployment, gagamitin namin ang Minikube na na-pre-install namin ang minikube sa mga system. Ngayon, upang simulan ang pagtatrabaho dito, susuriin muna natin kung ang minikube ay gumagana at maayos na naka-install at upang gawin ito sa terminal window i-type ang sumusunod na command tulad ng sumusunod:

$ bersyon ng minikube

Ang magiging resulta ng utos ay:



Ngayon, magpapatuloy kami at susubukan naming simulan ang minikube nang walang utos bilang

$ simulan ang minikube

Kasunod ng utos sa itaas, nagsimula na ngayon ang minikube ng hiwalay na virtual machine at sa virtual machine na iyon, tumatakbo na ngayon ang isang Kubernetes cluster. Kaya, mayroon kaming tumatakbong Kubernetes cluster sa terminal ngayon. Upang hanapin o malaman ang tungkol sa impormasyon ng kumpol, gagamitin namin ang interface ng command na 'kubectl'. Para diyan, susuriin namin kung naka-install ang kubectl sa pamamagitan ng pag-type ng command na 'bersyon ng kubectl'.

$ bersyon ng kubectl

Ang kubectl ay naka-install at naka-configure. Nagbibigay din ito ng impormasyon tungkol sa kliyente at sa server. Ngayon, pinapatakbo namin ang Kubernetes cluster upang malaman namin ang tungkol sa mga detalye nito sa pamamagitan ng paggamit ng kubectl command bilang 'kubectl cluster-info'.

$ kubectl cluster-info

Suriin natin ngayon ang mga node ng Kubernetes cluster sa pamamagitan ng paggamit ng command na 'kubectl get nodes '.

$ kubectl makakuha ng mga node

Ang cluster ay mayroon lamang isang node at ang katayuan nito ay handa na na nangangahulugan na ang node na ito ay handa na ngayong tanggapin ang mga aplikasyon.

Gagawa na kami ngayon ng deployment gamit ang kubectl command line interface na tumatalakay sa Kubernetes API at nakikipag-ugnayan sa Kubernetes cluster. Kapag gumawa kami ng bagong deployment, kailangan naming tukuyin ang larawan ng application at ang bilang ng mga kopya ng application, at maaari itong tawagan at i-update kapag gumawa kami ng deployment. Para gumawa ng bagong deployment na tatakbo sa Kubernetes, gamitin ang command na “Kubernetes create deployment”. At dito, tukuyin ang pangalan para sa deployment at gayundin ang lokasyon ng imahe para sa application.

Ngayon, nag-deploy kami ng bagong application at hinanap ng command sa itaas ang node kung saan maaaring tumakbo ang application na isa lang sa kasong ito. Ngayon, kunin ang listahan ng mga deployment gamit ang command na 'kubectl get deployments' at magkakaroon tayo ng sumusunod na output:

$ kubectl makakuha ng mga deployment

Titingnan namin ang application sa proxy host para bumuo ng koneksyon sa pagitan ng host at ng Kubernetes cluster.

Ang proxy ay tumatakbo sa pangalawang terminal kung saan ang mga utos na ibinigay sa terminal 1 ay isinasagawa at ang kanilang resulta ay ipinapakita sa terminal 2 sa server: 8001.

Ang pod ay ang yunit ng pagpapatupad para sa isang Kubernetes application. Kaya dito, tutukuyin namin ang pod name at i-access ito sa pamamagitan ng API.

Konklusyon

Tinatalakay ng gabay na ito ang mga paraan para gawin ang deployment sa Kubernetes. Pinatakbo namin ang deployment sa pagpapatupad ng Minikube Kubernetes. Una naming natutunang gumawa ng Kubernetes cluster at pagkatapos ay gamit ang cluster na ito gumawa kami ng deployment para patakbuhin ang partikular na application sa Kubernetes.