{"id":1882,"date":"2022-10-18T21:17:10","date_gmt":"2022-10-18T21:17:10","guid":{"rendered":"https:\/\/sunucucozumleri.com\/?p=1882"},"modified":"2022-10-17T21:20:57","modified_gmt":"2022-10-17T21:20:57","slug":"kubernetes-nedir-kubernetes-komponentleri-nelerdir","status":"publish","type":"post","link":"https:\/\/sunucucozumleri.com\/blog\/kubernetes-nedir-kubernetes-komponentleri-nelerdir\/","title":{"rendered":"Kubernetes Nedir? Kubernetes Komponentleri Nelerdir?"},"content":{"rendered":"<p>Kubernetes hem beyan temelli yap\u0131land\u0131rmay\u0131 hem de otomasyonu kolayla\u015ft\u0131ran, container i\u015f y\u00fcklerini ve hizmetleri y\u00f6netmek i\u00e7in olu\u015fturulmu\u015f,ta\u015f\u0131nabilir ve geni\u015fletilebilir a\u00e7\u0131k kaynakl\u0131 bir platformdur. Kubernetes Google taraf\u0131ndan GO dilinde geli\u015ftirilmi\u015f Cloud Native Computing Foundation(CNCF) taraf\u0131ndan desteklenen mevcut konteyner haline getirilmi\u015f uygulamalar\u0131n\u0131z\u0131 otomatik deploy etmek, say\u0131lar\u0131n\u0131 artt\u0131r\u0131p azaltmak gibi i\u015flemler ile birlikte y\u00f6netmenizi sa\u011flayan bir Konteyner k\u00fcmeleme (container cluster) arac\u0131d\u0131r.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Makale \u0130\u00e7eri\u011fi<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\u0130\u00e7indekiler Tablosunu A\u00e7\/Kapat\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-nedir-kubernetes-komponentleri-nelerdir\/#Kubernetes_Moduler_Yapisi\" >Kubernetes Mod\u00fcler Yap\u0131s\u0131:<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-nedir-kubernetes-komponentleri-nelerdir\/#Kisacasi_Kubernetes_acik_kaynakmoduler_yapibeyan_temelli_calisma_ve_otomatizasyon_ozelliklerine_sahip_populer_bir_container_orchestration_aracidir\" >K\u0131sacas\u0131 Kubernetes a\u00e7\u0131k kaynak,mod\u00fcler yap\u0131,beyan temelli \u00e7al\u0131\u015fma ve otomatizasyon \u00f6zelliklerine sahip pop\u00fcler bir container orchestration arac\u0131d\u0131r.<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-nedir-kubernetes-komponentleri-nelerdir\/#Kubernetes_Komponentleri_Nelerdir\" >Kubernetes Komponentleri Nelerdir?<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-nedir-kubernetes-komponentleri-nelerdir\/#Yonetim_%E2%86%92_Control_Plane_veya_Master_Nodes\" >Y\u00f6netim \u2192 Control Plane veya Master Nodes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-nedir-kubernetes-komponentleri-nelerdir\/#Uretim_%E2%86%92_Worker_Nodes\" >\u00dcretim \u2192 Worker Nodes<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Kubernetes_Moduler_Yapisi\"><\/span>Kubernetes Mod\u00fcler Yap\u0131s\u0131:<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>Kubernetes tamamen mod\u00fcler bir yap\u0131da tasarlanm\u0131\u015f olup bu \u015fekilde kurgulanm\u0131\u015ft\u0131r. Kubernetes b\u00fct\u00fcn \u00f6zelliklerinin i\u00e7inde oldu\u011fu her i\u015fi yapan tek bir uygulamadan olu\u015fmuyor.Bunun yerine m\u00fcmk\u00fcn olan her ko\u015fulda major \u00f6zellikleri ayr\u0131 ayr\u0131 komponentlere b\u00f6l\u00fcnm\u00fc\u015f olup bu sayede her mod\u00fcl sadece kendi i\u015fine odaklan\u0131yor.<\/li>\n<\/ul>\n<p>Kubernetis\u2019de \u00f6nemli \u00f6zelliklerinden bir tanesi ise biz kubernetise istedi\u011fimiz yap\u0131y\u0131 s\u00f6yl\u00fcyoruz ve kubernetes bunu bizim i\u00e7in olu\u015fturuyor.Sonras\u0131nda da bu yap\u0131y\u0131 g\u00f6zlemliyor e\u011fer yap\u0131 bizim beyan etti\u011fimiz yani deklare etti\u011fimiz durumun d\u0131\u015f\u0131na \u00e7\u0131karsa da Kubernetes otomatik olarak bunu d\u00fczenliyor ve bizim istedi\u011fimiz konfig\u00fcrasyona geri d\u00f6nd\u00fcr\u00fcyor. Bu \u00f6zelli\u011fi bir \u00f6rnekle a\u00e7\u0131klamak istiyorum.<br \/>\n<code>Biz kubernetese <a href=\"https:\/\/sunucucozumleri.com\/blog\/080-nginx-reverse-proxy-nasil-kurulur\/\">nginx<\/a>:latest imaj\u0131ndan bir yap\u0131 olu\u015fturmas\u0131n\u0131 isteyelim ve sistem genelinde\u2019de 10 tane container \u00e7al\u0131\u015facak diyelim d\u0131\u015f d\u00fcnyaya\u2019da 80 portundan yay\u0131nlanaca\u011f\u0131n\u0131 deklare edelim.(Desired State yani istenilen durum).Kubernetes bizim istedi\u011fimiz bu yap\u0131y\u0131 olu\u015fturduktan belli bir s\u00fcre sonra containerlardan birisi bir \u015fekildi indi diyelim kubernetes bu durumu hemen fark edip belirtti\u011fimiz \u00f6zelliklerde bir container olu\u015fturup istenilen durum ile mevcut durumu birbirine e\u015fitleyecektir.<\/code><\/p>\n<h5><span class=\"ez-toc-section\" id=\"Kisacasi_Kubernetes_acik_kaynakmoduler_yapibeyan_temelli_calisma_ve_otomatizasyon_ozelliklerine_sahip_populer_bir_container_orchestration_aracidir\"><\/span>K\u0131sacas\u0131 Kubernetes a\u00e7\u0131k kaynak,mod\u00fcler yap\u0131,beyan temelli \u00e7al\u0131\u015fma ve otomatizasyon \u00f6zelliklerine sahip pop\u00fcler bir container orchestration arac\u0131d\u0131r.<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<h2><span class=\"ez-toc-section\" id=\"Kubernetes_Komponentleri_Nelerdir\"><\/span>Kubernetes Komponentleri Nelerdir?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Bu b\u00f6l\u00fcme ge\u00e7meden \u00f6nce bu b\u00f6l\u00fcm\u00fcn daha iyi anla\u015f\u0131lmas\u0131 i\u00e7in sizlere bir \u00f6rnek vermek istiyorum.<\/p>\n<ul>\n<li>Bir \u015firketimizin oldu\u011funu d\u00fc\u015f\u00fcnelim. \u015eirketimizin bir y\u00f6netim departman\u0131 olsun bir de \u00fcretim departman\u0131. Yani fabrikan\u0131n y\u00f6netimi ile ilgilenenler y\u00f6netim departman\u0131nda, i\u015f\u00e7iler, \u00fcretim ara\u00e7lar\u0131, makineler yani canl\u0131 veya cans\u0131z her obje \u00fcretim departman\u0131nda \u00e7al\u0131\u015f\u0131yor olsun. \u00d6ncelikle \u00fcretim departman\u0131na bir g\u00f6z atal\u0131m.\n<p>Bu departmanda \u00fcr\u00fcnlerimizi \u00fcretti\u011fimiz makinelerimiz var her makinenin ba\u015f\u0131nda ise bir ustaba\u015f\u0131 duruyor ve o makinenin kontrol\u00fcnden sorumlu o makinede ne \u00fcretilecekse y\u00f6netim k\u0131sm\u0131ndan ustaba\u015f\u0131na bildiriliyor ustaba\u015f\u0131 ise bu \u00fcretilecek \u00fcr\u00fcn\u00fc \u00fcretecek i\u015f\u00e7iyi getirip bu makinede \u00e7al\u0131\u015ft\u0131rmaya ba\u015fl\u0131yor.<\/p>\n<p>Yani ustaba\u015f\u0131n\u0131n t\u00fcm g\u00f6revi i\u015f\u00e7ileri ilgili makinelerle yerle\u015ftirmek ve durumlar\u0131n\u0131 g\u00f6zlemek. Ustaba\u015f\u0131n\u0131n hemen yan\u0131nda ise lojistikten sorumlu bir g\u00f6revli duruyor.<\/p>\n<p>Bu g\u00f6revlinin g\u00f6revi ise o makinelere d\u0131\u015far\u0131dan eri\u015filmesini i\u015f\u00e7ilerin birbirleriyle haberle\u015fmesini sa\u011fl\u0131yor. \u015eimdi \u015firketimizin y\u00f6netim k\u0131sm\u0131na ge\u00e7elim.<br \/>\n\u015eirkete ad\u0131m att\u0131\u011f\u0131m\u0131z an bizleri kap\u0131da bir g\u00fcvenlik ve dan\u0131\u015fma kar\u015f\u0131l\u0131yor olsun.<br \/>\n\u015eirket i\u00e7inden veya \u015firket d\u0131\u015f\u0131ndan gelen t\u00fcm ileti\u015fim bu dan\u0131\u015fmadan ge\u00e7mek zorundaym\u0131\u015f gibi hayal edelim.<br \/>\nDan\u0131\u015fman\u0131n ana g\u00f6revi gelen t\u00fcm istekleri almak iste\u011fi yapan birimin istedi\u011fi \u015feye yetkisinin olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek ve e\u011fer yetkisi varsa iste\u011fi kay\u0131t alt\u0131na almak yani dan\u0131\u015fma \u015firket i\u00e7i ileti\u015fimin kalbi konumunda.<br \/>\nTekrar ediyorum \u015firket i\u00e7erisinden veya d\u0131\u015far\u0131dan her t\u00fcrl\u00fc ileti\u015fim buradan ge\u00e7mek zorunda. Dan\u0131\u015fman\u0131n tam arkas\u0131nda ise bir ar\u015fiv panosu durdu\u011funu hayal edelim.<br \/>\nDan\u0131\u015fma gelen b\u00fct\u00fcn istekleri kontrol ettikten sonra bu panoda kay\u0131t alt\u0131na al\u0131yor k\u0131sacas\u0131 \u015firketle alakal\u0131 t\u00fcm bilgiler mevcutta ne kadar \u00fcretim yap\u0131ld\u0131\u011f\u0131 ka\u00e7 ki\u015finin \u00e7al\u0131\u015ft\u0131\u011f\u0131 ka\u00e7 makinenin oldu\u011fu akl\u0131m\u0131za \u015firketle alakal\u0131 gelebilecek t\u00fcm bilgiler burada saklan\u0131yor.<br \/>\n\u015eirketimizde bir di\u011fer birimde \u00fcretim planlama birimi az \u00f6nce bahsetti\u011fim panoyu dan\u0131\u015fma ve g\u00fcvenli\u011fin izniyle s\u00fcrekli izliyor e\u011fer kay\u0131tlarda yeni bir \u00fcr\u00fcn\u00fcn \u00fcretilmesine y\u00f6nelik bir talimat g\u00f6r\u00fcrse hemen bu talimat\u0131 al\u0131yor sonras\u0131nda t\u00fcm makinelere bak\u0131yor i\u00e7lerinden bu talimattaki \u00fcr\u00fcn\u00fc \u00fcretebilecek \u00f6zellikte olan\u0131 se\u00e7iyor bunlardan en uygununu belirliyor ve o i\u015fe uygun i\u015f\u00e7inin o makinede \u00fcretilmesini sa\u011fl\u0131yor.<\/p>\n<p>\u015eirketimizde bulunan son birim ise vardiya amirli\u011fi. Burada 4 farkl\u0131 insan \u00e7al\u0131\u015f\u0131yor bunlar\u0131n her biri ayn\u0131 i\u015fi yap\u0131yor ama hepsinin sorumlu oldu\u011fu ayr\u0131 bir yer var.<br \/>\nBir ki\u015fi s\u00fcrekli panoyu g\u00f6zlerken di\u011fer bir ki\u015fi ise sorumlu oldu\u011fu yap\u0131lar\u0131 kontrol ediyor.<br \/>\nYani \u015f\u00f6yle anlatay\u0131m i\u015f\u00e7ilerden sorumlu olan ki\u015fi s\u00fcrekli panoyu g\u00f6zl\u00fcyor bir makinede 10 i\u015f\u00e7i \u00e7al\u0131\u015facak bilgisi panoda yaz\u0131yor ise \u00fcretim k\u0131sm\u0131n\u0131 g\u00f6zl\u00fcyor ve 10 i\u015f\u00e7inin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol ediyor e\u011fer i\u015f\u00e7ilerden birisi bir nedenle makinenin ba\u015f\u0131ndan ayr\u0131l\u0131rsa hemen bunu tespit ediyor ve hemen bunu d\u00fczeltmek i\u00e7in devreye giriyor ve o makinenin ba\u015f\u0131na bir i\u015f\u00e7i g\u00f6nderiyor yani 10 i\u015f\u00e7i \u00e7al\u0131\u015facak hale getiriyor.<\/p>\n<p>Yani her birinin bir g\u00f6revi var kimi makineleri g\u00f6zlerken bir di\u011feri panoyu g\u00f6zl\u00fcyor ama asl\u0131nda hepsinin yapt\u0131\u011f\u0131 i\u015f ayn\u0131 hepsi temelde panoda yaz\u0131lanla mevcut durum \u00f6rt\u00fc\u015f\u00fcyor mu bunu kontrol ediyor ve ayn\u0131 de\u011filse ayn\u0131 olmas\u0131 i\u00e7in gerekli d\u00fczenlemeleri yap\u0131yorlar.<br \/>\n\u015eimdi bu anlatt\u0131klar\u0131m\u0131 bir b\u00fct\u00fcn halinde ele alal\u0131m. \u015eirketimizin ba\u011fl\u0131 oldu\u011fu bir genel merkez oldu\u011funu d\u00fc\u015f\u00fcnelim ve bu genel merkezden \u015firkete yeni bir \u00fcr\u00fcnden 2 adet \u00fcretilmesi i\u00e7in talimat geldi\u011fini varsayal\u0131m.\u015eirkete d\u0131\u015far\u0131dan veya i\u00e7eriden gelen t\u00fcm ileti\u015fimin g\u00fcvenlik ve dan\u0131\u015fmadan ge\u00e7mesi gerekti\u011fini biliyoruz. Dan\u0131\u015fma bu talimat\u0131 al\u0131yor talimat\u0131 g\u00f6nderen ki\u015finin ger\u00e7ekten o ki\u015fi olup olmad\u0131\u011f\u0131n\u0131 kontrol ediyor.Sonras\u0131nda talimata bak\u0131yor talimat\u0131 g\u00f6nderen ki\u015finin talimatta yaz\u0131lanlar\u0131 isteme yetkisi olup olmad\u0131\u011f\u0131n\u0131 kontrol ediyor.<\/p>\n<p>E\u011fer bu ad\u0131mlar ba\u015far\u0131l\u0131ysa dan\u0131\u015fma bu iste\u011fi panoya yaz\u0131yor. \u00dcretim planlaman\u0131n dan\u0131\u015fmadan izin alarak panoyu s\u00fcrekli g\u00f6zlemledi\u011fini s\u00f6ylemi\u015ftik. Panoya yaz\u0131lan yeni talimat\u0131 g\u00f6r\u00fcp 2 adet yeni \u00fcr\u00fcn \u00fcretilmesi gerekti\u011fini g\u00f6r\u00fcyorlar. Hemen bu \u00fcr\u00fcnlerin \u00fcretilebilece\u011fi makineleri tespit ediyorlar. Ard\u0131ndan bu tespitlerine en uygun makineyi se\u00e7ip panoya yaz\u0131yorlar.5 ve 10 numaral\u0131 makinelerde 2 i\u015f\u00e7i \u00e7al\u0131\u015fmal\u0131. Dan\u0131\u015fma bu bilgiyi ilgili makinelerin usta ba\u015flar\u0131na bildiriyor.<\/p>\n<p>Her makinenin ustaba\u015f\u0131 belirlenen \u00f6zelliklerde \u00fcr\u00fcn\u00fcn \u00fcretilebilmesi i\u00e7in i\u015f\u00e7ileri makine ba\u015f\u0131na koyuyor ve \u00e7al\u0131\u015ft\u0131rmaya ba\u015fl\u0131yor. Ard\u0131ndan i\u015f\u00e7ilerin \u00e7al\u0131\u015fmaya ba\u015flad\u0131\u011f\u0131n\u0131 ve di\u011fer bilgileri resepsiyona bildiriyor ve panoya ekliyorlar.Bu s\u0131rada lojistikten sorumlu g\u00f6revliler bu i\u015f\u00e7ilerin ileti\u015fimlerini ve koordinasyonlar\u0131n\u0131 sa\u011flamaya ba\u015fl\u0131yorlar.<br \/>\nArd\u0131ndan vardiya amirli\u011fi devreye giriyor onlarda resepsiyondan ald\u0131klar\u0131 izin ile panoyu g\u00f6zl\u00fcyorlar her bir vardiya amirli\u011fi g\u00f6revlisi sorumlu oldu\u011fu alanlarla ilgili mevcut durumlar\u0131 ve olmas\u0131 gereken durumlar\u0131 panodan kontrol ediyorlar.Bu ikisi aras\u0131nda fark olu\u015fursa bu fark\u0131 d\u00fczeltmek i\u00e7in gerekli i\u015flemleri yap\u0131yorlar.<br \/>\nT\u00fcm bunlar belirli d\u00fczen i\u00e7erisinde efektif \u015fekilde \u00e7al\u0131\u015f\u0131yor.Yani istedi\u011fimiz \u00fcr\u00fcn\u00fc \u00fcreten bir \u015firket var ama bu \u015firket d\u0131\u015far\u0131dan tekil bir yap\u0131 gibi g\u00f6z\u00fckse de asl\u0131nda bir\u00e7ok alt komponentin bir arada uyum i\u00e7erisinde \u00e7al\u0131\u015fmas\u0131 neticesinde olu\u015fuyorlar.<\/li>\n<\/ul>\n<p>Yukar\u0131da verdi\u011fim \u00f6rnekten de tahmin edece\u011finiz \u00fczere asl\u0131nda b\u00fct\u00fcn bunlar bir kubernetes komponentini temsil ediyor.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Yonetim_%E2%86%92_Control_Plane_veya_Master_Nodes\"><\/span>Y\u00f6netim \u2192 Control Plane veya Master Nodes<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul>\n<li>Dan\u0131\u015fma \u2192 apiserver(APi)<\/li>\n<li>Pano \u2192 etcd (veri deposu)<\/li>\n<li>Vardiya Amirli\u011fi \u2192 controller-manager<\/li>\n<li>\u00dcretim Planlama \u2192 scheduler<\/li>\n<\/ul>\n<p>y\u00f6netim komponentlerini temsil ediyor.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Uretim_%E2%86%92_Worker_Nodes\"><\/span>\u00dcretim \u2192 Worker Nodes<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul>\n<li>Makineler \u2192containerlar\u0131m\u0131z\u0131n ko\u015ftu\u011fu worker nodelar\u0131m\u0131z\u0131<\/li>\n<li>Ustaba\u015f\u0131 \u2192 kubelet<\/li>\n<li>Lojistik Eleman\u0131 \u2192 kube-proxy<\/li>\n<\/ul>\n<p>\u00fcretim komponentlerini temsil ediyor.\u015eimdi bu komponentleri daha yak\u0131ndan tan\u0131yal\u0131m.<\/p>\n<ul>\n<li>1-) apiserver(Api): Kubernetes control plane\u2019in en \u00f6nemli bile\u015feni ve giri\u015f noktas\u0131d\u0131r. Di\u011fer t\u00fcm komponentlerin ve node bile\u015fenlerinin direkt ileti\u015fim kurabildi\u011fi tek komponenttir.<\/li>\n<li>2-) etcd: T\u00fcm cluster verisi,metadata bilgileri ve Kubernetes\u2019de olu\u015fturulan t\u00fcm objelerin bilgilerinin tutuldu\u011fu anahtar-de\u011fer (key-value) veri deposudur.<\/li>\n<li>3-) scheduler: Yeni olu\u015fturulan yada bir node atamas\u0131 yap\u0131lmam\u0131\u015f podlar\u0131 izler ve \u00fczerinde \u00e7al\u0131\u015facaklar\u0131 bir node se\u00e7er.<\/li>\n<li>4-) controller-manager: Mant\u0131ksal olarak her controller ayr\u0131 bir s\u00fcre\u00e7tir ancak karma\u015f\u0131kl\u0131\u011f\u0131 azaltmak i\u00e7in hepsi tek bir binary olarak derlenmi\u015ftir.Tek bir process olarak \u00e7al\u0131\u015f\u0131rlar.Bu contorllerlardan baz\u0131lar\u0131 \u015funlard\u0131r:<br \/>\n<code>- Node Controller<\/code><br \/>\n<code>- Job Controller<\/code><br \/>\n<code>- Service Account &amp; Token Controller<\/code><br \/>\n<code>- Endpoints Controller<\/code><\/li>\n<\/ul>\n<p>Controller-manager alt\u0131ndaki controllerlar kubernetes cluster\u0131n mevcut durumuyla ondan istenilen durum aras\u0131nda fark olup olmad\u0131\u011f\u0131n\u0131 denetlerler. Apiserver arac\u0131l\u0131\u011f\u0131yla etcd\u2019de saklanan cluster durumunu inceler ve e\u011fer mevcut durumla istenilen durum aras\u0131nda fark varsa bu fark\u0131 olu\u015fturan kaynaklar\u0131 olu\u015fturur,g\u00fcnceller gerekirse siler ve bu durumu e\u015fitler.Siz kubernetes uygulam\u0131n\u0131z\u0131n 2 pod olarak \u00e7al\u0131\u015fmas\u0131n\u0131 istenilen durum olarak bildirdi\u011finiz ve kubernetes\u2019de bunu ger\u00e7ekle\u015ftirdi. Uygulaman\u0131z\u0131n ko\u015ftu\u011fu 3 pod \u00e7al\u0131\u015fmaya ba\u015flad\u0131 fakat podlardan bir tanesi patlad\u0131. Controller-manager bu durumu alg\u0131layarak hemen bir pod olu\u015fturulmas\u0131n\u0131 sa\u011flar. Bu sayede istenilen durum ile mevcut durum e\u015fitlenir(desired state=current state).<\/p>\n<p>&#8212; \u0130\u015f y\u00fcklerimiz worker node\u2019lar \u00fczerinde \u00e7al\u0131\u015f\u0131r. Worker node dedi\u011fimiz containerlar\u0131 \u00fczerinde \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131z yani podlar\u0131m\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131z esas yerlerdir.Bunlar \u00fczerlerinde containerd,<a href=\"https:\/\/sunucucozumleri.com\/blog\/docker-nedir\/\">docker<\/a> gibi bir container runtime bar\u0131nd\u0131ran cluster\u2019a dahil olan sistemlerdir.Her worker node\u2019da 3 temel komponent bulunur.<\/p>\n<p>\u0130lk ve en \u00f6nemli komponent containerlar\u0131n \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flayacak container runtime d\u0131r. Varsay\u0131lan olarak bu docker d\u0131r fakat kubernetes docker runtime deste\u011fini baz\u0131 nedenlerden dolay\u0131 b\u0131rak\u0131p containerd\u2019ye ge\u00e7mi\u015ftir. Containerd\u2019de asl\u0131nda docker\u2019dan farkl\u0131 de\u011fildir. Hatta docker\u2019da container olu\u015fturma, \u00e7al\u0131\u015ft\u0131rma altyap\u0131s\u0131 olarak containerd\u2019yi kullan\u0131r. \u00d6zetle her kubernetes worker node\u2019unda containerlar\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in bir container runtime bulunur.<\/p>\n<ul>\n<li>1-) Container Runtime: Containerlar\u0131 \u00e7al\u0131\u015ft\u0131rmaktan sorumlu olan yaz\u0131l\u0131mlard\u0131r.<\/li>\n<li>2-) Kubelet: Clusterdaki her node \u00e7al\u0131\u015fan bir agenttir. Kubelet, apiserver arac\u0131l\u0131\u011f\u0131yla etcd\u2019yi kontrol eder ve scheduler taraf\u0131ndan bulundu\u011fu pod \u00fczerinde \u00e7al\u0131\u015fmas\u0131 gereken bir pod belirtildiyse kubelet bu podu o sistemde yarat\u0131r ve containerd\u2019ye haber g\u00f6nderir. Belirlenen \u00f6zellikte container\u0131n o sistemde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<\/li>\n<li>3-) Kube-proxy: Olu\u015fturulan podlar\u0131n TCP,UDP ve SCTP trafik ak\u0131\u015flar\u0131n\u0131 y\u00f6netir. Bu a\u011f kurallar\u0131 cluster\u2019\u0131n i\u00e7indeki veya d\u0131\u015f\u0131ndaki a\u011f oturumlar\u0131ndan podlar\u0131n\u0131zla a\u011f ileti\u015fimine izin verir.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Kubernetes hem beyan temelli yap\u0131land\u0131rmay\u0131 hem de otomasyonu kolayla\u015ft\u0131ran, container i\u015f y\u00fcklerini ve hizmetleri y\u00f6netmek i\u00e7in olu\u015fturulmu\u015f,ta\u015f\u0131nabilir ve geni\u015fletilebilir a\u00e7\u0131k kaynakl\u0131 bir platformdur. Kubernetes Google taraf\u0131ndan GO dilinde geli\u015ftirilmi\u015f Cloud Native Computing Foundation(CNCF) taraf\u0131ndan desteklenen mevcut konteyner haline getirilmi\u015f uygulamalar\u0131n\u0131z\u0131 otomatik deploy etmek, say\u0131lar\u0131n\u0131 artt\u0131r\u0131p azaltmak gibi i\u015flemler ile birlikte y\u00f6netmenizi sa\u011flayan bir Konteyner k\u00fcmeleme &hellip;<\/p>\n","protected":false},"author":1,"featured_media":1883,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-1882","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"acf":[],"_links":{"self":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts\/1882","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/comments?post=1882"}],"version-history":[{"count":0,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts\/1882\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media\/1883"}],"wp:attachment":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media?parent=1882"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/categories?post=1882"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/tags?post=1882"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}