{"id":230,"date":"2023-06-28T21:49:00","date_gmt":"2023-06-28T21:49:00","guid":{"rendered":"http:\/\/blog.firatyasar.com\/?p=230"},"modified":"2024-03-17T22:06:40","modified_gmt":"2024-03-17T22:06:40","slug":"azure-kubernetes-service-node-problem-detector","status":"publish","type":"post","link":"https:\/\/blog.firatyasar.com\/?p=230","title":{"rendered":"Azure Kubernetes Service Node Problem Detector"},"content":{"rendered":"\n<p>Azure Kubernetes Service (AKS), Kubernetes k\u00fcmesindeki d\u00fc\u011f\u00fcmleri izlemek ve y\u00f6netmek i\u00e7in \u00e7e\u015fitli ara\u00e7lar sunar. Bu ara\u00e7lardan biri de D\u00fc\u011f\u00fcm Sorun Alg\u0131lay\u0131c\u0131s\u0131 (Node Problem Detector &#8211; NPD)\u2019d\u0131r. NPD, d\u00fc\u011f\u00fcmle ilgili sorunlar\u0131 alg\u0131lamak, raporlamak ve bu bilgileri kullanarak k\u00fcme sa\u011fl\u0131\u011f\u0131n\u0131 iyile\u015ftirmek amac\u0131yla tasarlanm\u0131\u015ft\u0131r. Bu makalede, NPD&#8217;nin AKS&#8217;deki rol\u00fcn\u00fc ve i\u015fleyi\u015fini detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z.<\/p>\n\n\n\n<p>Node problem detector Github linki i\u00e7in a\u015fa\u011f\u0131daki linki kullanabilirsiniz.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/kubernetes\/node-problem-detector\">https:\/\/github.com\/kubernetes\/node-problem-detector<\/a><\/p>\n\n\n\n<p><strong>Node Problem Detector Overview<\/strong><\/p>\n\n\n\n<p>NPD, a\u00e7\u0131k kaynakl\u0131 bir Kubernetes bile\u015fenidir ve k\u00fcmedeki her d\u00fc\u011f\u00fcmde systemd olarak \u00e7al\u0131\u015f\u0131r. Bu bile\u015fen, d\u00fc\u011f\u00fcmlerin CPU ve disk kullan\u0131m\u0131 gibi \u00e7e\u015fitli \u00f6l\u00e7\u00fcmlerini ve a\u011f ba\u011flant\u0131s\u0131 gibi sistem bilgilerini toplar. Bir sorun tespit etti\u011finde, olaylar ve\/veya d\u00fc\u011f\u00fcm ko\u015fullar\u0131 olu\u015fturarak durumu raporlar.<\/p>\n\n\n\n<p><strong>AKS \u00fczerinde NPD kullan\u0131m\u0131<\/strong><\/p>\n\n\n\n<p>AKS, Azure bulut platformunda \u00e7al\u0131\u015fan Kubernetes k\u00fcmelerinde d\u00fc\u011f\u00fcm izleme ve y\u00f6netimi i\u00e7in NPD&#8217;yi kullan\u0131r. AKS \u00fczerinde, Linux uzant\u0131s\u0131 arac\u0131l\u0131\u011f\u0131yla NPD varsay\u0131lan olarak etkinle\u015ftirilmi\u015ftir. Bu, AKS kullan\u0131c\u0131lar\u0131n\u0131n ek bir yap\u0131land\u0131rma yapmadan d\u00fc\u011f\u00fcm sa\u011fl\u0131\u011f\u0131n\u0131 izleyebilecekleri anlam\u0131na gelir.<\/p>\n\n\n\n<p><strong>Node Conditions and Events<\/strong><\/p>\n\n\n\n<p>NPD, d\u00fc\u011f\u00fcmde meydana gelen sorunlar\u0131 belirlemek i\u00e7in d\u00fc\u011f\u00fcm ko\u015fullar\u0131n\u0131 ve olaylar\u0131 kullan\u0131r. D\u00fc\u011f\u00fcm ko\u015fullar\u0131, d\u00fc\u011f\u00fcm\u00fcn kullan\u0131lamaz olmas\u0131na neden olan kal\u0131c\u0131 sorunlar\u0131 ifade ederken, olaylar daha genel bilgiler sa\u011flar ve temel sorunlar\u0131n tan\u0131mlanmas\u0131na yard\u0131mc\u0131 olur. AKS, NPD&#8217;den gelen bilgileri kullanarak, d\u00fc\u011f\u00fcmdeki kal\u0131c\u0131 sorunlar\u0131 ortaya \u00e7\u0131karabilir ve kar\u015f\u0131l\u0131k gelen Kubernetes olaylar\u0131n\u0131 yayar.<\/p>\n\n\n\n<p>Node Conditions <\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Sorun Daemon t\u00fcr\u00fc<\/strong><\/td><td><strong>NodeCondition<\/strong><\/td><td><strong>Nedeni<\/strong><\/td><\/tr><tr><td>CustomPluginMonitor<\/td><td>FilesystemCorruptionProblem<\/td><td>FilesystemCorruption Alg\u0131land\u0131<\/td><\/tr><tr><td>CustomPluginMonitor<\/td><td>KubeletProblem<\/td><td>KubeletIsDown<\/td><\/tr><tr><td>CustomPluginMonitor<\/td><td>ContainerRuntimeProblem<\/td><td>ContainerRuntimeIsDown<\/td><\/tr><tr><td>CustomPluginMonitor<\/td><td>VMEventScheduled<\/td><td>VMEventScheduled<\/td><\/tr><tr><td>CustomPluginMonitor<\/td><td>FrequentUnregisterNetDevice<\/td><td>UnregisterNetDevice<\/td><\/tr><tr><td>CustomPluginMonitor<\/td><td>FrequentKubeletRestart<\/td><td>FrequentKubeletRestart<\/td><\/tr><tr><td>CustomPluginMonitor<\/td><td>FrequentContainerdRestart<\/td><td>FrequentContainerdRestart<\/td><\/tr><tr><td>CustomPluginMonitor<\/td><td>FrequentDockerRestart<\/td><td>FrequentDockerRestart<\/td><\/tr><tr><td>SystemLogMonitor<\/td><td>KernelDeadlock<\/td><td>DockerHung<\/td><\/tr><tr><td>SystemLogMonitor<\/td><td>ReadonlyFilesystem<\/td><td>FilesystemIsReadOnly<\/td><\/tr><tr><td>Sorun Daemon t\u00fcr\u00fc<\/td><td>NodeCondition<\/td><td>Nedeni<\/td><\/tr><tr><td>CustomPluginMonitor<\/td><td>FilesystemCorruptionProblem<\/td><td>FilesystemCorruption Alg\u0131land\u0131<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Events<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Sorun Daemon t\u00fcr\u00fc<\/strong><\/td><td><strong>Nedeni<\/strong><\/td><\/tr><tr><td>CustomPluginMonitor<\/td><td>FilesystemCorruption Alg\u0131land\u0131<\/td><\/tr><tr><td>CustomPluginMonitor<\/td><td>KubeletIsDown<\/td><\/tr><tr><td>CustomPluginMonitor<\/td><td>ContainerRuntimeIsDown<\/td><\/tr><tr><td>CustomPluginMonitor<\/td><td>FreezeScheduled<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>D\u00fc\u011f\u00fcm Ko\u015fullar\u0131n\u0131 ve Olaylar\u0131n\u0131 \u0130zleme<\/strong><\/p>\n\n\n\n<p>AKS&#8217;de, kubectl describe node komutu kullan\u0131larak d\u00fc\u011f\u00fcm ko\u015fullar\u0131 ve olaylar\u0131 izlenebilir. Bu, kullan\u0131c\u0131lar\u0131n d\u00fc\u011f\u00fcm\u00fcn mevcut durumunu ve olas\u0131 sorunlar\u0131n\u0131 detayl\u0131 bir \u015fekilde g\u00f6rmelerini sa\u011flar. Bu bilgiler, sorun giderme ve k\u00fcme y\u00f6netimi s\u00fcre\u00e7lerinde de\u011ferli bir kaynakt\u0131r.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl describe node my-aks-node <\/code><\/pre>\n\n\n\n<p><strong>\u00d6l\u00e7\u00fcmler ve \u0130zleme<\/strong> NPD, d\u00fc\u011f\u00fcm sorunlar\u0131na ili\u015fkin \u00f6l\u00e7\u00fcmleri Prometheus kullan\u0131m\u0131 i\u00e7in sunar. Bu \u00f6l\u00e7\u00fcmler, izleme ve uyar\u0131 olu\u015fturma amac\u0131yla kullan\u0131labilir ve Prometheus, bu verileri Node IP&#8217;sinin 20257 numaral\u0131 ba\u011flant\u0131 noktas\u0131ndan toplayabilir. Kullan\u0131c\u0131lar, bu \u00f6l\u00e7\u00fcmleri kullanarak, d\u00fc\u011f\u00fcmlerin sa\u011fl\u0131\u011f\u0131 hakk\u0131nda daha ayr\u0131nt\u0131l\u0131 bilgilere eri\u015febilir ve proaktif bir \u015fekilde y\u00f6netim yapabilir.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"863\" src=\"\/wp-content\/uploads\/2024\/03\/image-5-1024x863.png\" alt=\"\" class=\"wp-image-231\" srcset=\"\/wp-content\/uploads\/2024\/03\/image-5-1024x863.png 1024w, \/wp-content\/uploads\/2024\/03\/image-5-300x253.png 300w, \/wp-content\/uploads\/2024\/03\/image-5-768x648.png 768w, \/wp-content\/uploads\/2024\/03\/image-5-660x557.png 660w, \/wp-content\/uploads\/2024\/03\/image-5.png 1454w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Scrap edilmi\u015f metric \u00f6rnekleri:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>problem_gauge{reason=\"UnregisterNetDevice\",type=\"FrequentUnregisterNetDevice\"} 0\r\nproblem_gauge{reason=\"VMEventScheduled\",type=\"VMEventScheduled\"} 0\r<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Sonu\u00e7<\/strong> NPD, AKS&#8217;de d\u00fc\u011f\u00fcm sa\u011fl\u0131\u011f\u0131n\u0131n izlenmesi ve y\u00f6netilmesi i\u00e7in kritik bir bile\u015fendir. D\u00fc\u011f\u00fcm ko\u015fullar\u0131, olaylar ve Prometheus \u00f6l\u00e7\u00fcmleri arac\u0131l\u0131\u011f\u0131yla, kullan\u0131c\u0131lar k\u00fcmelerinin performans\u0131n\u0131 ve g\u00fcvenilirli\u011fini art\u0131rabilir. Bu bile\u015fenin sa\u011flad\u0131\u011f\u0131 ayr\u0131nt\u0131l\u0131 bilgiler, AKS kullan\u0131c\u0131lar\u0131n\u0131n k\u00fcme sa\u011fl\u0131\u011f\u0131n\u0131 proaktif bir \u015fekilde iyile\u015ftirmelerine olanak tan\u0131r.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Azure Kubernetes Service (AKS), Kubernetes k\u00fcmesindeki d\u00fc\u011f\u00fcmleri izlemek ve y\u00f6netmek i\u00e7in \u00e7e\u015fitli ara\u00e7lar sunar. Bu ara\u00e7lardan biri de D\u00fc\u011f\u00fcm Sorun Alg\u0131lay\u0131c\u0131s\u0131 (Node Problem Detector &#8211; NPD)\u2019d\u0131r. NPD, d\u00fc\u011f\u00fcmle ilgili sorunlar\u0131 alg\u0131lamak, raporlamak ve bu bilgileri kullanarak k\u00fcme sa\u011fl\u0131\u011f\u0131n\u0131 iyile\u015ftirmek amac\u0131yla tasarlanm\u0131\u015ft\u0131r. Bu makalede, NPD&#8217;nin AKS&#8217;deki rol\u00fcn\u00fc ve i\u015fleyi\u015fini detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. Node problem\u2026 <span class=\"read-more\"><a href=\"https:\/\/blog.firatyasar.com\/?p=230\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":227,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[72,73,74],"_links":{"self":[{"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/posts\/230"}],"collection":[{"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=230"}],"version-history":[{"count":1,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/posts\/230\/revisions"}],"predecessor-version":[{"id":232,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/posts\/230\/revisions\/232"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/media\/227"}],"wp:attachment":[{"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=230"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=230"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}