Gumawa ng Deployment Gamit ang 'kubectl create deployment'

Gumawa Ng Deployment Gamit Ang Kubectl Create Deployment



Ang Kubernetes ay isang libre, open-source na pamamahagi at kilala rin bilang k8s. Ginagamit ito para sa pag-automate ng deployment, pamamahala, at pag-scale ng containerized na software at mga application. Nagbibigay ito ng iba't ibang bahagi para sa pamamahala ng container gaya ng mga node, control plane, pods, at deployment ng Kubernetes. Sa tulong ng Kubernetes,  madaling i-automate ng mga developer ang operational na gawain, ibalik ang mga pagbabago, at subaybayan at sukatin ang mga containerized na application at software.

Sa blog na ito, ipapaliwanag namin:







Ano ang Kubernetes Deployment?

Ang Kubernetes Deployment ay tinutukoy bilang isang resource object na nagbibigay ng deklaratibong pagtuturo at mga update sa mga pangunahing elemento nito gaya ng Pods, ReplicaSet, at mga containerized na application. Pinahihintulutan ng Kubernetes Deployment ang developer na ilarawan ang containerized na application tulad ng imahe, bilang ng mga pod, port, replika, at iba pa. Ang isang pangunahing dahilan kung bakit mas mahusay ang Kubernetes kaysa sa Docker ay nag-aalok ito sa amin ng mga auto-healing at auto-scaling na mga katangian at ang mga estadong ito ay makakamit dahil sa Kubernetes Deployment.



Sa mekanismo ng 'auto-healing' ay isang diskarte sa pag-automate ng pagsubok na sumusubok sa tumatakbong bagay nito at kung sakaling magkaroon ng anumang error, ipinapatupad ang pinakamahusay na tugma para sa pagwawasto, at inilalapat ang pag-aayos upang tumugma sa aktwal na estado sa nais na estado. Sa serbisyong 'auto-scaling' ay awtomatikong sinusukat ang workload ng application.



Bakit Mas Mabuti ang Paggawa ng Deployment kaysa Paggawa ng Mga Pod?

Ang pag-deploy ng Kubernetes ay nagpapahintulot sa developer na madaling panatilihing tumatakbo ang isang grupo ng parehong pod na may karaniwang configuration. Sa kabaligtaran, habang gumagawa ng pod, ang mga user ay kinakailangang gumawa at magpatakbo ng pod nang hiwalay. Sa deployment, kung ang isang pod ay tatanggalin o winakasan, awtomatiko itong muling gagawin at magsisimula dahil sa isang mekanismo ng awtomatikong pagpapagaling. Ngunit kung ang mga pod ay direktang ine-execute nang walang deployment, sa kaso ng error, ang mga user ay kinakailangang muling likhain at patakbuhin ang pod nang manu-mano.





Ano ang ReplicaSet sa Deployment?

Noong ginawa ng developer ang deployment, tatlong pangunahing bahagi ang nabuo at isa na rito ang ReplicaSet. Ang ReplicaSet ay isang controller ng deployment at responsable para sa pagpapatakbo ng tinukoy na bilang ng mga Pod sa loob ng isang deployment. Kung sakaling, kung ang isang pod ay tinanggal, ang ReplicaSet ay mabilis na nagtuturo na muling buuin ang bagong pod upang tumugma sa aktwal na estado ng mga pod sa nais na estado. Ito ang pangunahing responsable sa pagbibigay ng mga deklaratibong update sa mga pod.

Ano ang 'kubectl create deployment' Command?

Ang ' lumikha ng deployment ang kubectl ” ay isang command ng Kubectl tool na ginagamit para gumawa at simulan ang deployment ng Kubernetes. Pagkatapos, ang deployment ay nagtuturo sa Kubernetes kung paano gumawa at mag-update ng mga instance ng iyong application.



Syntax

lumikha ng deployment ang kubectl < deployment-pangalan > --larawan = < pangalan ng imahe > -- < opsyon = halaga >


Pagpipilian

Ang command na 'kubectl create deployment' ay sumusuporta sa iba't ibang opsyon para magbigay ng karagdagang layer ng functionality at para magbigay ng karagdagang pagtuturo sa pag-deploy ng mga pagkakataon ng isang application. Ang mga opsyon na sinusuportahan ng ' lumikha ng deployment ang kubectl ” utos ay ibinigay sa ibaba sa tabular form:

Pagpipilian Paglalarawan
“– –allow-missing-template-keys Kung ang value nito ay itinakda bilang true, babalewalain nito ang anumang mga error sa mga template kapag may nawawalang map key o field sa template.
“– –dry-run Ang halaga nito ay maaaring 'wala', 'server', o 'client'. Kung client ang value, ipapakita o ipi-print lang nito ang bagay na ipapadala nang hindi ipinapadala ito.

Kung server ang value, magsusumite lang ito ng mga kahilingan sa panig ng server.

“– –field-manager Ipinapakita o itinatakda ang pangalan ng manager na ginamit upang subaybayan ang pagmamay-ari ng field.
“– –larawan Tukuyin ang pangalan ng larawan upang tukuyin ang template ng container.
-o, “– –output Tukuyin ang format ng output.
“– – daungan Itinatakda nito ang port upang ilantad ang lalagyan.
-r, “– –mga replika Ito ay ginagamit upang tukuyin ang isang bilang ng mga replika ng pod.
“– –save-config Ito ay ginagamit upang i-save ang configuration ng isang bagay sa anotasyon nito. Kung mali ang value nito, hindi magbabago ang anotasyon.
“– –show-managed-fields Bilang default, mali ang halaga nito. Ngunit kung ito ay itinakda bilang totoo, pananatilihin o ise-save nito ang mga managedFields kapag nagpi-print ng mga bagay sa JSON o YAML na format.
“– –validate=’mahigpit’ Ang halaga nito ay maaaring 'mahigpit', 'magbabala', o 'huwag pansinin'. Kung ito ay 'mahigpit', ito ay magpapatunay sa input at mabibigo ang kahilingan kung hindi wasto.

Kung ang halaga nito ay 'babalaan', babala ito tungkol sa mga duplicate at hindi kilalang field.

Kung ang value nito ay 'balewala', hindi ito magsasagawa ng anumang pagpapatunay ng schema.

Prerequisite: I-install ang kubectl at minikube

Upang simulan ang Kubernetes Deployment sa Kubernetes cluster, i-install muna ang mga ibinigay na tool sa system sa ibaba:

    • Kubectl Tool: Ang Kubectl ay isang Kubernetes command line tool na ginagamit upang kontrolin, pamahalaan, at patakbuhin ang isang Kubernetes cluster at ang mga bahagi nito tulad ng Kubernetes Deployment.
    • Minikube Tool: Ang Minikube ay isang sistema ng pagpapatupad para sa Kubernetes na nagbibigay o gumagawa ng virtual machine sa system upang simulan ang Kubernetes cluster. Maaari itong magsagawa ng mga single-node cluster at kadalasang ginagamit ng mga nagsisimula o para sa mga layunin ng pagsubok.

Upang makapagsimula sa Kubernetes at mag-install ng mahahalagang bahagi tulad ng “ kubectl 'at' minikube ”, dumaan sa aming naka-link na “ ” artikulo.

Paano Gumawa ng Kubernetes Deployment Gamit ang 'kubectl create' Command?

Ang deployment ng Kubernetes ay maaaring gawin sa pamamagitan ng paglalapat ng Yaml manifest o ng ' lumikha ng deployment ang kubectl ” utos. Upang gawin ang deployment ng Kubernetes gamit ang command na 'kubectl create deployment', sundin ang demonstration na ibinigay sa ibaba.

Hakbang 1: Patakbuhin ang PowerShell

Una, ilunsad ang Windows PowerShell na may mga pribilehiyong pang-administratibo mula sa Start menu. Kinakailangan ang mga pribilehiyong pang-administratibo dahil sinisimulan ng minikube ang Kubernetes cluster sa virtual machine sa pamamagitan ng paggamit ng HyperV:


Hakbang 2: Simulan ang Kubernetes Cluster

Upang simulan ang Kubernetes cluster, gamitin ang ' simula ng minikube ” utos:

simula ng minikube



Hakbang 3: Kumuha ng Kubernetes Nodes

Susunod, i-access ang mga node ng Kubernetes upang suriin kung nagsimula ang cluster o hindi gamit ang ' kubectl makakuha ng mga node ” utos:

kubectl makakuha ng mga node



Hakbang 4: Gumawa ng Kubernetes Deployment

Gumawa ng bagong deployment ng Kubernetes sa cluster sa pamamagitan ng “k ubectl create deployment “– –image= ” utos. Para sa pagpapakita, gumawa kami ng 'nginx-deployment' na magpapatupad ng Nginx application sa isang pod gamit ang 'nginx:stable-perl' na imahe:

kubectl lumikha ng deployment nginx-deployment --larawan =nginx:stable-perl



Hakbang 5: Kumuha ng Kubernetes Deployment, ReplicaSet at Pod

Ang command na 'kubectl create deployment' ay lilikha ng tatlong bahagi na Deployment, ReplicaSet, at Pod. Upang ma-access ang mga deployment ng Kubernetes, patakbuhin ang ' kubectl makakuha ng deploy ” utos:

kubectl makakuha ng deploy


Dito, makikita mo' nginx-deployment ” ay available sa Kubernetes cluster:


Ang ReplicaSet ay ang controller ng deployment na nagsisiguro na ang application sa mga pod ay nagsasagawa ng error-free at nag-aayos ng mga breakpoint. Upang ma-access ang ReplicaSet, gamitin ang ' kubectl makakuha ng rs ” utos:

kubectl makakuha ng rs


Dito, ipinapakita ng ReplicaSet ang nais na bilang ng mga pod at kasalukuyang tumatakbong pod:


Ang pod ay isang mas maliit na unit ng Kubernetes cluster na nagpapatakbo ng containerized na application. Para ma-access ang mga Kubernetes pod, gamitin ang “ kubectl makakuha ng mga pod ” utos. Narito ang ' -O 'Ang opsyon ay ginagamit upang tukuyin ang format ng output. Upang tingnan ang Pod IP address, ginamit namin ang ' malawak ” format:

kubectl makakuha ng mga pod -O malawak



Hakbang 6: Mag-log in sa Kubernetes Cluster

Para ma-access ang application na tumatakbo sa isang container, i-access muna ang Kubernetes cluster gamit ang “ minikube ssh ” utos:

minikube ssh



Hakbang 7: I-access ang Application na Tumatakbo sa Kubernetes Deployment

Pagkatapos nito, gamitin ang ' kulot ” utos kasama ang Pod IP address para ma-access ang containerized na application:

kulot 10.244.0.7


Paano Magpatakbo ng mga Replicas sa Kubernetes Deployment Gamit ang 'kubectl create deployment' Command?

Ang paggawa ng Kubernetes Deployment ay mas mahusay kaysa sa pagpapatakbo ng Pod dahil maaari itong magpatakbo at mamahala ng isang pangkat ng mga pod nang sabay-sabay sa pamamagitan ng paggawa ng mga replika ng Pod. Para magpatakbo ng mga replika sa Kubernetes deployment gamit ang command na “kubectl create deployment,” sundin ang mga tagubilin sa ibaba.

Hakbang 1: Gumawa ng Kubernetes Deployment

Una, gumawa ng deployment gamit ang ' lumikha ng deployment ang kubectl 'utos kasama ang' “– –mga replika ” opsyon. Ang halaga ng opsyon na 'replicas' ay tutukuyin ang nais na bilang ng mga pod na dapat pamahalaan at patakbuhin ng ReplicaSet:

kubectl lumikha ng deployment nginx-deployment --larawan =nginx:stable-perl --mga replika = 2



Hakbang 2: Kumuha ng Kubernetes Deployment, ReplicaSet, at Pods

Ngayon, i-access ang deployment ng Kubernetes gamit ang command na 'kubectl get deploy':

kubectl makakuha ng deploy


Dito, makikita mong ipinapakita ng deployment ang handa, up-to-date, at available na bilang ng mga pod:


Gamitin ang command sa ibaba upang ma-access ang impormasyon ng ReplicaSet. Maaari mong makita na ang ReplicaSet ay nagpapakita ng katayuan ng nais na bilang ng mga pod at kasalukuyang nagsasagawa ng mga pod:

kubectl makakuha ng rs



Katulad nito, para ma-access ang mga tumatakbong pod, gamitin ang command sa ibaba:

kubectl makakuha ng mga pod


Isinasaad ng output na matagumpay na naisasagawa ng deployment ng Kubernetes ang nais na bilang ng mga replika ng Pods sa cluster ng Kubernetes:

Paano Gumagana ang ReplicaSet para Kontrolin ang Deployment ng Kubernetes?

Ang ReplicaSet ay responsable para sa pagpapatakbo ng nais na bilang ng mga Pod sa loob ng isang deployment. Kung ang isang pod ay nasira o na-delete, awtomatiko nitong gagawing muli ang pod upang tumugma sa kasalukuyang status ng Pods sa gustong estado. Ang mekanismong ito ay aktwal na nagpapatupad ng auto-healing technique. Para sa pagpapakita, sundin ang mga tagubilin sa ibaba.

Hakbang 1: Tingnan ang Mga Live na Kubernetes Pod

Una, tingnan ang status ng Pods nang live gamit ang ' kubectl makakuha ng pods -w ” utos. Gayundin, tandaan ang pangalan ng pod na masisira o tatanggalin:

kubectl makakuha ng mga pod -Sa



Hakbang 2: Magtanggal ng Pod

Susunod, buksan ang isa pang PowerShell terminal at subukang tanggalin ang pangalawang pod gamit ang “ kubectl delete pods ” utos:

kubectl delete pods nginx-deployment-7584b4674d-hbx4f


Ipinapakita ng output na matagumpay naming natanggal ang pod:


Ngayon, buksan ang PowerShell window kung saan live ang status ng pod. Dito, makikita mo kapag tinanggal namin ang Pod, ang ReplicaSet ay awtomatikong nilikha at pinaandar ang bagong pod upang itugma ang kasalukuyang status ng mga pod sa gustong status:


Sinakop namin ang paraan para sa paggawa ng Kubernetes Deployment gamit ang command na 'kubectl create deployment'.

Konklusyon

Upang lumikha ng Kubernetes Deployment gamit ang “ lumikha ng deployment ang kubectl ” utos, una, i-install ang mahahalagang tool tulad ng minikube at kubectl. Pagkatapos nito, patakbuhin ang bagong Kubernetes cluster gamit ang minikube. Ngayon, gumawa ng bagong deployment gamit ang “ kubectl gumawa ng deployment “– –image= ” utos. Pagkatapos nito, tingnan ang deployment ng Kubernetes, ReplicaSet, at Pods gamit ang “ kubectl makuha ang lahat ” utos. Ang artikulong ito ay naglalarawan kung paano lumikha ng Kubernetes Deployment gamit ang ' lumikha ng deployment ang kubectl ” utos.