Panimula ng Kubernetes para sa mga nagsisimula

Marinig ng maraming tungkol sa Kubernetes ngunit hindi sigurado kung ano sila?


Ano ang Kubernetes?

Ang Kubernetes ay isang open-source tool na nangangalaga sa orkestasyon ng lalagyan. Binubuo nito ang paglawak ng lalagyan, patuloy na scaling, at de-scaling, pagbabalanse ng container container, atbp.

Kubernetes GeekFlare

Una nang binuo ang Google Kubernetes sa wika ng programming ng Go.

Sa kasalukuyan, ito ang namumuno sa pamilihan sa orkestra ng mga lalagyan. Ang Kubernetes ay isang mainam na platform para sa pagho-host ng mga aplikasyon ng microservice na pabago-bago. Kapag nagtatrabaho ka sa isang kapaligiran sa produksyon, ang Kubernetes ay ang pinakanagusto at mas ligtas na platform para sa orkestra ng lalagyan.

Dahil sa isang kapaligiran sa produksyon, inaasahan mong zero downtime, ang iyong kumpol ay dapat na laging tumataas at tumatakbo.

Sa Google Cloud Platform (GCP), maaari mong ilunsad ang Kubernetes sa ilang mga pag-click lamang. Ito ay suportado ng iba pang mga cloud provider, tulad din ng AWS at Azure. At, maraming mga pinamamahalaang platform ng Kubernetes na magagamit.

Bakit Kubernetes?

Mas maaga, ang isang labanan sa pagitan ng mga developer at mga tagasubok ay isang pangkaraniwang bagay.

Ang mga kapaligiran na dati ay naiiba para sa kanila; kung ano ang nagtrabaho sa sistema ng nag-develop ay hindi tumakbo sa mga pagsubok ng system.

Ngayon na ang karamihan sa mga organisasyon ay gumagamit ng mga lalagyan, ang mga isyu na lumilitaw dahil sa pagkakaiba-iba sa kapaligiran ay hindi na nangyayari.

Ngunit ang pag-aayos at pagpapatakbo ng maraming lalagyan ay hindi rin madaling gawain. Kapag nagtatrabaho ka sa mga dynamic na application, pag-scale up / down, ang bilang ng mga lalagyan ay isang regular na bagay. Ang paggawa ng mga ganyang gawain nang mano-mano ay maaaring maging kumplikado at peligro. Samakatuwid, kinakailangan ang isang tool ng orkestasyon ng lalagyan, at iyon ang dahilan kung bakit kinakailangan ang Kubernetes.

Mga Kubernetes Tampok

Mayroong maraming, ngunit ang mga sumusunod ay ilan sa mga pinakamahusay na.

# Awtomatikong Bin Packing

Ang mga package ng Kubernetes ng iyong aplikasyon, at awtomatiko itong naglalagay ng mga lalagyan batay sa kanilang mga kinakailangan at mga magagamit na mapagkukunan

Ang # Discovery ng Serbisyo at Pagbabalanse ng Load

Awtomatikong nagtatalaga ang mga Kubernetes ng mga lalagyan ng kanilang mga IP address at isang pangalan ng DNS sa mga lalagyan na nagpapatakbo ng mga lohikal na operasyon. Ang tampok na Load Balancing ay naroroon sa pagitan ng hanay ng mga lalagyan.

# Orihinal na Imbakan

Awtomatikong naka-mount ang Kubernetes ng sistema ng imbakan na gusto mo. Maaari itong maging alinman sa lokal na imbakan o isang pampublikong tagapagbigay ng ulap tulad ng AWS.

# Paggaling sa sarili

Sa tuwing napagtanto ng Kubernetes na ang isa sa iyong mga lalagyan ay nabigo, mai-restart nito na ang lalagyan sa sarili nito ay lumikha din ng isang bagong lalagyan sa lugar ng na-crash. Kung sakaling nabigo ang iyong node, ang mga lalagyan na tumatakbo sa node na iyon ay magsisimula sa isa pang tumatakbo na node sa kumpol.

# Pahalang na Pag-scale

Maaari mong masukat ang iyong mga aplikasyon nang pataas at pababa nang mabilis gamit ang isang simpleng utos. Ang simpleng utos ay maaaring patakbuhin sa CLI o sa pamamagitan ng Kubernetes dashboard. Posible rin ang pag-scale ng awtomatiko, batay sa paggamit ng CPU, awtomatikong mai-scale up o ibababa ang iyong mga lalagyan.

# Awtomatikong Rollback at Rollout

Sa tuwing may pag-update sa iyong aplikasyon, ang Kubernetes ay unti-unting inilalabas ang mga pagbabagong ito at pag-update sa application o sa mga pagsasaayos nito. Hindi lahat ng mga pagkakataon ay na-update nang sabay-sabay, kaya tinitiyak na may mataas na kakayahang magamit. Kung may isang bagay na mali, pagkatapos ang Kubernetes ay babalik na magbabago kaagad.

Mga Kubernetes Terminologies

Bago mo marumi ang iyong mga kamay, kailangan mong malaman ang ilang mga terminolohiya na regular na ginagamit sa Kubernetes.

# Pod

Kinakatawan nito ang isa o higit pang mga lalagyan na tumatakbo sa isang kumpol.

# Serbisyo

Isang abstract na paraan upang ma-access ang pod / application.

# Pangalan

Ginagamit ito upang alisin ang pagbangga ng pangalan sa loob ng isang kumpol. Sinusuportahan nito ang maramihang mga virtual na kumpol sa parehong pisikal na kumpol.

# Node

Kubernetes manggagawa machine.

# Cluster

Mayroong isang pangkat ng mga node na nagpapatakbo ng mga lalagyan na aplikasyon sa Kubernetes.

# Anotasyon

Isang label para sa pag-iimbak ng data na kinakailangan ng mga mapagkukunan.

# Dami

Ito ang direktoryo ng data na naglalaman ng mga lalagyan sa pag-access sa pod.

# ReplicaSet

Maraming mga replika ng pagpapatakbo ng mga pod.

# Label

Ang pagbibigay ng isang pangalan sa mga bagay ng Kubernetes upang makilala ito sa buong sistema.

# Kubelet

Ito ay isang ahente na tumatakbo sa bawat node at suriin kung ang mga lalagyan ay tumatakbo sa mga pod.

# Kubectl

Utility-line utos upang makipag-ugnay sa server ng Kubernetes API.

# Kube-proxy

Network proxy na naglalaman ng lahat ng mga panuntunan sa network sa bawat node sa kumpol.

Kubernetes at Docker

Ngayon ay maaari kang mag-iisip, kung paano naiiba ang Kubernetes kaysa sa Docker. Ang pariralang Kubernetes kumpara kay Docker ay maaaring maging nakaliligaw.

Ang Docker ay isang platform na nag-iimpake ng OS, mga aklatan, at mga aplikasyon sa loob ng isang lalagyan. Hayaan akong sabihin sa iyo na ang Docker ay gumagawa ng parehong bagay na kung saan ito ay nilalayong gawin sa Kubernetes. Ngunit kapag nagtatrabaho ka lamang sa Docker, manu-manong ang lahat. Kailangan mong simulan at ihinto nang manu-mano ang mga lalagyan. Ngunit sa Kubernetes, lahat ay makakakuha ng awtomatiko.

Ang mga Kubernetes ay maaaring mag-iskedyul ng mga pods na may mga lalagyan, pagkatapos ay sinabi ni Kubelet sa Docker na magsimula o ihinto ang mga lalagyan. Ang Kubelet sa Kubernetes ay may pananagutan sa pagsubaybay sa mga lalagyan at pagkolekta ng kanilang impormasyon sa master node. Kaya, ang pangunahing pagkakaiba ay sa halip na admin guys na nagsasabi sa Docker kung ano ang gagawin, sa Kubernetes, lahat ito ay awtomatiko.

May isa pang tool na ginagamit para sa container orchestration ay Docker Swarm. Kaya, ano ang pagkakaiba sa kanila?

Kubernetes kumpara sa Docker Swarm

KubernetesPagpapuno ng Docker
Masalimuot ang pag-installAng pag-install ay simple
Mas malaking bukal na komunidad na mapagkukunanMas maliit na pamayanan kumpara sa Kubernetes
Maaari mag-orkestra ng 100s ng mga lalagyan nang madaliMabuti para sa pag-orkestra ng 10-20 lalagyan
Nagbibigay ang Kubernetes Dashboard ng GUIWalang GUI
Sinusuportahan ang auto-scalingHindi sinusuportahan ang auto-scaling
Sinusuportahan ang pag-update ng mga pag-update gamit ang awtomatikong pag-rollbackSinusuportahan ang pag-update ng mga pag-update ngunit hindi awtomatikong pag-rollback
Magagamit ang pag-log at Pagsubaybay sa built-in naNangangailangan ng ika-3 na partido tulad ng ELK para sa Pag-log at Pagmamanman
Maaaring magbahagi ng lakas ng tunog sa mga lalagyan sa parehong podMaaaring magbahagi ng dami sa anumang lalagyan sa kumpol

Konklusyon

Inaasahan ko ngayon na mayroon kang isang pangunahing pag-unawa sa kung ano ang Kubernetes at kung paano nakakatulong ito. Kung nakakuha ka ng DevOps o nag-iisip upang makapasok, iminumungkahi ko ang pagkuha nito kamangha-manghang kurso ng Udemy upang malaman ang Kubernetes.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map