Paano Gumawa ng Mga Patakaran sa Network ng Kubernetes

Paano Gumawa Ng Mga Patakaran Sa Network Ng Kubernetes



Sa artikulong ito, tatalakayin natin ang mga patakaran sa network sa Kubernetes. Napakahalaga ng mga patakaran sa network sa Kubernetes. Sa tulong ng mga patakaran sa network, tinutukoy namin kung paano nakikipag-ugnayan ang mga pod sa isa't isa at kung paano kami gumagawa ng mga koneksyon sa pagitan ng mga pod. Kung bago ka sa konseptong ito, para sa iyo ang artikulong ito. Simulan natin ang artikulo sa isang detalyadong kahulugan ng mga patakaran sa network sa Kubernetes.

Ano ang Mga Patakaran sa Network sa Kubernetes?

Inilalarawan ng isang patakaran sa network sa Kubernetes kung paano pinahihintulutan ang mga pod group na makipag-ugnayan sa isa't isa at sa iba pang mga endpoint ng network. Ang mapagkukunan ng Patakaran sa Network, na tumutukoy kung paano pinahihintulutan ang mga pod na makipag-usap, ay ginagamit upang ipatupad ang mga patakaran sa network. Maaari mong i-secure ang iyong cluster at pamahalaan ang daloy ng trapiko sa loob at pagitan ng iyong mga pod sa pamamagitan ng pagtukoy ng fine-grained network access control para sa iyong cluster gamit ang mga patakaran sa network.







Mga Pre-Requisite:

Ang system na ginagamit ng user ay dapat na isang 64-bit operating system. Ang RAM ng User ay dapat na 8GB o higit sa 8GB. Ang pinakabagong bersyon ng Ubuntu ay naka-install sa sistema ng gumagamit. Ang gumagamit ng windows ay gumagamit din ng Linux operating system halos sa kanilang system. Dapat ay may ideya ang user tungkol sa Kubernetes, ang kubectl command line tool, mga pod, at cluster na pinatakbo sa aming system sa nakaraang session.



Hakbang 1: Magsimula ng Kubernetes Control Panel

Sa hakbang na ito, pinapatakbo namin ang mga Kubernete sa aming system upang ganap na simulan ang aming mga patakaran sa network. Sinisimulan namin ang minikube sa aming system sa pamamagitan lamang ng pagpapatakbo ng command. Ang Minikube ay isang Kubernetes cluster na tumatakbo sa lokal na makina. Ang utos para sa pagsisimula ng minikube ay:



> simulan ang minikube



Kapag naisakatuparan ang command, magsisimula nang tama ang minikube sa aming system. Ngayon, madali naming maisagawa ang aming mga aksyon na may kaugnayan sa mga patakaran ng network nang mahusay sa aming system.





Hakbang 2:  Gumawa ng Nginx Deployment sa Kubernetes

Sa hakbang na ito, natutunan namin kung paano gumawa ng deployment ng Nginx sa aming Kubernetes system. Isinasagawa namin ang ibinigay na utos sa kubectl command-line tool. Ang utos ay:

> kubectl lumikha ng deployment sample - - image = nginx



Sa pagpapatupad ng command, matagumpay na nagagawa ang deployment sa folder ng app sa aming Kubernetes application. Na-deploy nang tama ang imahe ng Nginx sa aming system. Titiyakin ng deployment na ang tinukoy na bilang ng mga replika ng pod ay tumatakbo sa lahat ng oras, sa pamamagitan ng paggawa o pagtanggal ng mga replika kung kinakailangan. Magbibigay-daan din ito sa amin na i-update ang mga larawan ng container sa isang rolling update sa aming Kubernetes system nang perpekto.



Hakbang 3:  Sample na Deployment sa isang Partikular na Port sa Kubernetes

Sa hakbang na ito, ilalantad namin ngayon ang sample na sinusubukang i-deploy kamakailan sa system sa isang partikular na port. Tatakbo kami ng utos:

> kubectl expose deployment sample - - port = 80



Kapag naisakatuparan ang command, matagumpay na na-expose ang sample ng deployment sa port 80 sa aming Kubernetes application. Ang server ng Kubernetes API ay makakatanggap ng kahilingan mula sa command na ito para gawin ang serbisyo. Ang API server ay gagawa ng serbisyo sa cluster. Mayroon itong matatag na IP address at pangalan ng DNS. Ang Serbisyo ay gumaganap bilang isang load balancer para sa mga pod sa deployment, na namamahagi ng papasok na trapiko nang pantay-pantay sa kanila. Ang command na ito ay nagbibigay sa amin ng isang matatag na endpoint ng network para sa mga pod, na nagpapahintulot sa kanila na ma-access kahit na ang kanilang mga IP address ay pinalitan.

Hakbang 4: I-enlist ang Services Pod sa Kubernetes

Pagkatapos ng pag-deploy ng sample sa system, makukuha namin ang listahan ng mga tumatakbong serbisyo sa Kubernetes. Upang makuha ang impormasyon tungkol sa lahat ng mga pod sa cluster, pinapatakbo namin ang command:

> kubectl kumuha ng svc, pod



Kapag naisakatuparan namin ang utos, ang listahan ng mga serbisyo ay ipinapakita sa output. Ang sample sa mga serbisyo ay ipinapakita sa listahan. Ang pangalan, uri, Custer-Ip, external-IP, PORTS, at Edad ng mga pod at serbisyo ay perpektong ipinapakita sa pamamagitan ng command na ito,. Ang 'service/sample' ay may port number na '80', ang IP ng cluster ay '10.105.250.227'.

Hakbang 5: Gumawa ng Network Policy Ngnix sa Kubernetes

Sa hakbang na ito, gagawa kami ng Nginx file kung saan gumagawa kami ng patakaran sa network sa aming Kubernetes application. Gagawa kami ng patakaran sa network at pagkatapos ay magde-deploy ng patakaran sa network sa Kubernetes nang madali sa tulong ng kubectl command. Ang utos ay:

> kubectl apply -f https: // k8s.io / mga halimbawa / serbisyo / networking / ngnix-policy.yaml



Sa command, nagdagdag kami ng link sa policy networking file at ibibigay ang pangalan ng file na 'Nginx-policy'. Ang extension ng file ng patakaran sa network ay 'YAML'. Kapag naisakatuparan ang command na ito, umiiral na ang folder ng patakaran sa network sa aming system kung saan matagumpay na nalikha ang access-ngnix YAML file. Ang configuration file na inilalapat sa command na ito ay para sa object ng serbisyo ng Kubernetes, na naglalantad ng isang hanay ng mga pod bilang mga serbisyo ng network.

Hakbang 6:  Gumawa at Magpatakbo ng Bagong pod sa Kubernetes

Sa hakbang na ito, bubuo kami ng bagong pod sa isang Kubernetes cluster. Ang pod na ito ay magpapatakbo ng container batay sa busybox:1.28 at may docker image. Ipapatupad namin ang command na '/bin/sh' sa kubectl command line tool.

> kubectl run busybox   - - rm - ti    - - larawan = busybox : isa . 28 - - / bin / sh

Ang command na 'kubectl run' ay lumilikha ng isang deployment sa cluster, na responsable para sa pamamahala ng isang set ng mga replika ng pod. Awtomatikong gagawa ng Replica Set at pod sa pamamagitan ng deployment para sa container.

Konklusyon

Sa tulong ng patakaran sa network, madali kaming makakagawa ng mga koneksyon sa pagitan ng iba't ibang pod at container. Maaari mo ring i-edit ang mga command na ito ayon sa iyong mga kinakailangan sa application ng Kubernetes na makakatulong sa iyo para sa mas mahusay na pag-unawa sa paksang ito. Ang networking ng lahat ng pods ay napakahalaga at kapaki-pakinabang para sa pods metadata.