{"id":1885,"date":"2022-10-19T01:00:24","date_gmt":"2022-10-19T01:00:24","guid":{"rendered":"https:\/\/sunucucozumleri.com\/?p=1885"},"modified":"2025-02-04T01:53:52","modified_gmt":"2025-02-03T22:53:52","slug":"kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi","status":"publish","type":"post","link":"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/","title":{"rendered":"Kubernetes \u00fczerine Prometheus Stack Kurulumu ve Ayarlanmas\u0131"},"content":{"rendered":"<p>\u0130ster developer olun ister sistemci ister devopscu monitoring hayat\u0131m\u0131z\u0131n olmassa olmaz\u0131. Daha \u00f6nce yay\u0131nlam\u0131\u015f oldu\u011fumuz <a href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-nedir-kubernetes-komponentleri-nelerdir\/\">Kubernetes Nedir?<\/a> makalemize g\u00f6z att\u0131ysan\u0131z \u015fuan ki makalemizden devam edebiliriz. 3-5 ay \u00f6nce k8s clusterlar\u0131m\u0131z\u0131n ssl expire tarihlerini kontrol ediyorduk, tabi o zamanlar bunu monit\u00f6r etmiyorduk ve etmek de a\u00e7\u0131kcas\u0131 pek akl\u0131m\u0131za gelmemi\u015fti. Sonra g\u00fcncellemeler vs ile bunun stabil hale getirilip sadece ssl i\u00e7in de\u011fil <a href=\"https:\/\/sunucucozumleri.com\/blog\/073-proxy-nedir-proxy-nasil-kullanilabilir\/\">proxy<\/a>, etcd vs gibi control plane komponentleri ile ds\/deployment gibi data komponentlerini de g\u00f6zetleme ihtiyac\u0131 olu\u015ftu. S\u0131k s\u0131k <a href=\"https:\/\/sunucucozumleri.com\/blog\/reboot-ve-restart-arasindaki-farklar-nedir\/\">restart<\/a> eden var m\u0131? Evict olan var m\u0131? Image \u00e7ekemeyen var m\u0131? gibi gibi&#8230;<\/p>\n<p>Hali haz\u0131rda zaten p8s(yaz\u0131n\u0131n devam\u0131nda prometheus yerine bu ifadeyi kullanaca\u011f\u0131m ) kullan\u0131yorduk. Ama bu klasik yaml&#8217;lar ile olu\u015fturulmu\u015f eski bir versiyonu.<\/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-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/#Sorunlar\" >Sorunlar<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/#Operatorlar_Nedir\" >Operatorlar Nedir?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/#Neden_p8s-stack\" >Neden p8s-stack?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/#Baslayalim\" >Ba\u015flayal\u0131m<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/#Prometheus_ve_Alertmanager_Kurallarinin_Tanimlanmasi\" >Prometheus ve Alertmanager Kurallar\u0131n\u0131n Tan\u0131mlanmas\u0131<\/a><ul class='ez-toc-list-level-6' ><li class='ez-toc-heading-level-6'><ul class='ez-toc-list-level-6' ><li class='ez-toc-heading-level-6'><ul class='ez-toc-list-level-6' ><li class='ez-toc-heading-level-6'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/#Prometheus_ruleu_her_degistirdigimizde_her_yeni_bir_tanimlama_yaptigimizda_tek_yapmamiz_gereken_kubectl_apply_-f_prometheus-ruleyaml_yapip_arkamiza_yaslamak\" >Prometheus rule&#8217;u her de\u011fi\u015ftirdi\u011fimizde, her yeni bir tan\u0131mlama yapt\u0131\u011f\u0131m\u0131zda, tek yapmam\u0131z gereken kubectl apply -f prometheus-rule.yaml yap\u0131p arkam\u0131za yaslamak.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-6'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/#Prometheus_configi_valid_ise_reload_ederek_uyguluyor_valid_degil_ise_hata_logunu_basiyor\" >Prometheus configi valid ise reload ederek uyguluyor, valid de\u011fil ise hata logunu bas\u0131yor.<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/#Bonus\" >Bonus<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/#Bilinen_Hatalar\" >Bilinen Hatalar<\/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'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/#Hata-1\" >Hata-1<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/#Cozum-1\" >\u00c7\u00f6z\u00fcm-1<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/#Hata-2\" >Hata-2<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/#Cozum-2\" >\u00c7\u00f6z\u00fcm-2<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/#Hata-3\" >Hata-3<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/#Cozum-3\" >\u00c7\u00f6z\u00fcm-3<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/#Hata-4\" >Hata-4<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/sunucucozumleri.com\/blog\/kubernetes-uzerine-prometheus-stack-kurulumu-ve-ayarlanmasi\/#Cozum-4\" >\u00c7\u00f6z\u00fcm-4<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Sorunlar\"><\/span>Sorunlar<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>K8s control panelinde bulunan yap\u0131lar ile ssl tarihleri, genel node vs durumlar\u0131 gibi daha \u00e7ok k8s altyap\u0131s\u0131n\u0131n g\u00f6zetlenmesi,<\/li>\n<li>Giri\u015f seviyede k8s bilen birinin bile yazd\u0131\u011f\u0131 servisi kolayca p8s&#8217;e ba\u011flay\u0131p alarmlar\u0131n\u0131 yazabilmesi,<\/li>\n<li>P8s her config de\u011fi\u015fimi i\u00e7in restart olmas\u0131, hatal\u0131 config durumda \u00e7\u00f6kmesinin \u00f6n\u00fcne ge\u00e7ilmesi<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Operatorlar_Nedir\"><\/span>Operatorlar Nedir?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>K8s varsay\u0131lan haliyle gelen her bir komponentinin ya\u015fam d\u00f6ng\u00fcs\u00fc vard\u0131r. Misal pod kalkarken initcontainer&#8217;\u0131 varsa \u00f6nce onu \u00e7al\u0131\u015ft\u0131r\u0131r sonra problara bakar bir \u015fekilde exit olmu\u015fsa, ve e\u011fer controler\u0131 da varsa (deployment,replicaset vs ) yeni bir isimle kendini tekrar olu\u015fturur. Bunun yan\u0131nda deamonset&#8217;lerde durum farkl\u0131d\u0131r, her bir node&#8217;da kendini kald\u0131r\u0131r ve rollout restart vs gibi durumlarda yeni pod olu\u015fturmak i\u00e7in \u00f6nce o node \u00fczerindeki eski podun terminate etmesini bekler.<\/p>\n<p>Buraya kadar kula\u011fa ho\u015f geliyor fakat ya sizin uygulaman\u0131z\u0131n kendine has ya\u015fam d\u00f6ng\u00fcs\u00fc ihtiya\u00e7lar\u0131 varsa ve kurulum ile gelen k8s objeleri yeterli gelmiyorsa nap\u0131caz? Bu durumda devreye operatorlar giriyor. Kendi ihtiya\u00e7lar\u0131n\u0131za g\u00f6re k8s objeleri ve ya\u015fam d\u00f6ng\u00fcleri \u00fcretebiliyorsunuz. Bu yaz\u0131n\u0131n temel konusu bu olmad\u0131\u011f\u0131 i\u00e7in daha fazla uzatmayaca\u011f\u0131m.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Neden_p8s-stack\"><\/span>Neden p8s-stack?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Prometheus stack asl\u0131nda prometheus ve komponentlerinin, k8s \u00fczerinde optimum \u015fekilde ve kolayl\u0131kla \u00e7al\u0131\u015fmas\u0131 i\u00e7in yaz\u0131lm\u0131s operatord\u0131r. Yaz\u0131n\u0131n ilerleyen b\u00f6l\u00fcmlerine bize ne gibi avantajlar verdi\u011finden bahsedece\u011fim.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Baslayalim\"><\/span>Ba\u015flayal\u0131m<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u00d6ncelikle bilgisayar\u0131n\u0131za veya kurulumu nerden yap\u0131caksan\u0131z, vm vs,\u00a0<a title=\"helm3\" href=\"https:\/\/helm.sh\/docs\/intro\/install\/http:\/\/\" rel=\"nofollow noopener\" target=\"_blank\">helm3<\/a>\u00a0y\u00fcklemeniz gerekiyor.<\/p>\n<p>Not: Helm2 ile de y\u00fckleyebilirsiniz ama helm2&#8217;nin tiller ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 ve tiller&#8217;da g\u00fcvenlik a\u00e7\u0131\u011f\u0131 bulundu\u011fundan helm3 kullanman\u0131z\u0131 tavsiye ediyorum.<\/p>\n<p><code>Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy.<\/code><\/p>\n<p>Helm reposunu ekleyelim. &#8220;Helm repo eklemek, apt&#8217;ye ppa eklemekten \u00e7okta farkl\u0131 de\u011fil asl\u0131nda, mant\u0131k olarak ayn\u0131, source-code&#8217;dan build edip kurup ya da deb paketlerini kurup dependency y\u00f6netimini sizin yerinize nas\u0131l apt\/yum\/apk vs yap\u0131yorsa helm&#8217;de k8s ba\u011f\u0131ml\u0131klar\u0131n\u0131 y\u00f6netiyor, ( deployment,service,pvc,rolebinding akl\u0131n\u0131za ne gelirse )<\/p>\n<pre><code>$ helm repo add prometheus-community https:\/\/prometheus-community.github.io\/helm-charts<\/code><\/pre>\n<p>Ppa ekledik, s\u0131ra apt-get update&#8217;de;<\/p>\n<pre><code>$ helm repo update<\/code><\/pre>\n<p>Sonunda;<\/p>\n<pre><code>$ helm install --namespace monitoring p8s-stack prometheus-community\/kube-prometheus-stack  -f prometheus-stack\/values.yaml --version=\"${chartVersion}\"<\/code><\/pre>\n<p>Burda chartVerison b\u00f6l\u00fcm\u00fc biraz iste\u011fe ba\u011fl\u0131 isterseniz oray\u0131 kald\u0131r\u0131p latest ile devam edebilirsiniz.<\/p>\n<p>Default values.yaml -&gt;\u00a0<a href=\"https:\/\/github.com\/prometheus-community\/helm-charts\/blob\/main\/charts\/kube-prometheus-stack\/values.yaml\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/github.com\/prometheus-community\/helm-charts\/blob\/main\/charts\/kube-prometheus-stack\/values.yaml<\/a><\/p>\n<p>Not: Sadece de\u011fi\u015fiklik yapt\u0131\u011f\u0131n\u0131z k\u0131s\u0131mlar\u0131 yazd\u0131\u011f\u0131n\u0131z bir values.yaml haz\u0131rlay\u0131p, apply ederken onu verirseniz, helm de\u011fi\u015fiklerinizi kolay takip edersiniz hem de default yaml\u0131n i\u00e7indeki kalabal\u0131kla<br \/>\nu\u011fra\u015fmazs\u0131n\u0131z.<\/p>\n<p>E\u011fer typo vs yapmad\u0131ysan\u0131z helm komutu sonunda,<br \/>\n<code>kube-prometheus-stack has been installed. Check its status by running: 42 kubectl --namespace monitoring get pods -l \"release=p8s-stack\" 43Visit https:\/\/github.com\/prometheus-operator\/kube-prometheus for instructions on how to create &amp; configure Alertmanager and Prometheus instances using the Operator.<\/code><br \/>\n\u00e7\u0131kt\u0131s\u0131 alman\u0131z gerekiyor. E\u011fer almad\u0131ysan\u0131z veya ald\u0131\u011f\u0131n\u0131z halde bi\u015feyler bozukssa, yaz\u0131n\u0131n sonuna bizim daha \u00f6nce kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z hatalar\u0131 ekledim, oraya bakabilirsiniz.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Prometheus_ve_Alertmanager_Kurallarinin_Tanimlanmasi\"><\/span>Prometheus ve Alertmanager Kurallar\u0131n\u0131n Tan\u0131mlanmas\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>prometheus-rules.yaml<\/p>\n<pre><code>apiVersion: monitoring.coreos.com\/v1\r\nkind: PrometheusRule\r\nmetadata:\r\n  annotations:\r\n  labels:\r\n    app: kube-prometheus-stack\r\n    release: p8s-stack\r\n  name: kubernetesturkey-rules\r\n  namespace: monitoring\r\nspec:\r\n  groups:\r\n    - name: kubernetesturkey-rules\r\n      rules:\r\n        - alert: HostHighCpuLoad\r\n          annotations:\r\n            description: |-\r\n              CPU load is &gt; 80%\r\n                VALUE = {{ $value }}\r\n                LABELS: {{ $labels }}\r\n            summary: Host high CPU load (instance {{ $labels.instance }})\r\n          expr: 100 - (avg by(instance) (rate(node_cpu_seconds_total{mode=\"idle\"}[5m]))\r\n            * 100) &gt; 80\r\n          for: 5m\r\n          labels:\r\n            notification: kubernetesturkey\r\n            severity: critical<\/code><\/pre>\n<h6><span class=\"ez-toc-section\" id=\"Prometheus_ruleu_her_degistirdigimizde_her_yeni_bir_tanimlama_yaptigimizda_tek_yapmamiz_gereken_kubectl_apply_-f_prometheus-ruleyaml_yapip_arkamiza_yaslamak\"><\/span>Prometheus rule&#8217;u her de\u011fi\u015ftirdi\u011fimizde, her yeni bir tan\u0131mlama yapt\u0131\u011f\u0131m\u0131zda, tek yapmam\u0131z gereken kubectl apply -f prometheus-rule.yaml yap\u0131p arkam\u0131za yaslamak.<span class=\"ez-toc-section-end\"><\/span><\/h6>\n<h6><span class=\"ez-toc-section\" id=\"Prometheus_configi_valid_ise_reload_ederek_uyguluyor_valid_degil_ise_hata_logunu_basiyor\"><\/span>Prometheus configi valid ise reload ederek uyguluyor, valid de\u011fil ise hata logunu bas\u0131yor.<span class=\"ez-toc-section-end\"><\/span><\/h6>\n<p>Helm&#8217;e verdi\u011fimiz values.yaml&#8217;da;<\/p>\n<pre><code>alertmanager:\r\n  config:\r\n    route:\r\n      group_by: ['alertname']\r\n      group_wait: 10s\r\n      group_interval: 10s\r\n      repeat_interval: 24h\r\n      receiver: 'default'\r\n      routes:\r\n        - receiver: 'kubernetesturkey-alerts'\r\n          match:\r\n            severity: 'critical'\r\n          continue: true\r\n        - receiver: 'default'\r\n          match:\r\n            alertname: 'Watchdog'\r\n    receivers:\r\n      - name: 'kubernetesturkey-alerts'\r\n        slack_configs:\r\n          - send_resolved: true\r\n            title: '[{{ .Status | toUpper }}{{ if eq .Status \"firing\" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .CommonLabels.alertname }}'\r\n            text: |-\r\n              {{ if gt (len .Alerts.Firing) 0 }}\r\n              *Alerts Firing:*\r\n              {{ range .Alerts.Firing }}- {{ .Annotations.description }}\r\n              {{ .Annotations.message }}\r\n              {{ end }}{{ end }}\r\n              {{ if gt (len .Alerts.Resolved) 0 }}\r\n              *Alerts Resolved:*\r\n              {{ range .Alerts.Resolved }}- {{ .Annotations.description }}\r\n              {{ .Annotations.message }}\r\n              {{ end }}{{ end }}\r\n            icon_emoji: ':alert:'\r\n            username: 'kubernetesturkey'\r\n            channel: '#kubernetesturkey-alerts'\r\n            api_url: 'Slack-web-hook'\r\n      - name: 'default'<\/code><\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Bonus\"><\/span>Bonus<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>G\u00fcncellemek i\u00e7in;<\/p>\n<p><code>helm upgrade --namespace monitoring p8s-stack prometheus-community\/kube-prometheus-stack -f prometheus-stack\/values.yaml --version=\"${chartVersion}\"<\/code><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Bilinen_Hatalar\"><\/span>Bilinen Hatalar<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h5><span class=\"ez-toc-section\" id=\"Hata-1\"><\/span>Hata-1<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p><code>Error: unable to build kubernetes objects from release manifest: error validating \u201c\u201d: error validating data: [ValidationError(Prometheus.spec): unknown field \u201cprobeNamespaceSelector\u201d in com.coreos.monitoring.v1.Prometheus.spec, ValidationError(Prometheus.spec): unknown field \u201cprobeSelector\u201d in com.coreos.monitoring.v1.Prometheus.spec]<\/code><\/p>\n<h5><span class=\"ez-toc-section\" id=\"Cozum-1\"><\/span>\u00c7\u00f6z\u00fcm-1<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p><code>kubectl delete crd prometheuses.monitoring.coreos.com kubectl delete crd prometheusrules.monitoring.coreos.com kubectl delete crd servicemonitors.monitoring.coreos.com kubectl delete crd podmonitors.monitoring.coreos.com kubectl delete crd alertmanagers.monitoring.coreos.com kubectl delete crd thanosrulers.monitoring.coreos.com kubectl delete crd probes.monitoring.coreos.com`<\/code><\/p>\n<h5><span class=\"ez-toc-section\" id=\"Hata-2\"><\/span>Hata-2<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p><code>Error: unable to build kubernetes objects from release manifest: error validating \"\": error validating data: [ValidationError(Prometheus.spec): unknown field \"probeNamespaceSelector\" in com.coreos.monitoring.v1.Prometheus.spec, ValidationError(Prometheus.spec): unknown field \"probeSelector\" in com.coreos.monitoring.v1.Prometheus.spec]<\/code><\/p>\n<h5><span class=\"ez-toc-section\" id=\"Cozum-2\"><\/span>\u00c7\u00f6z\u00fcm-2<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p><code>kubectl delete crd prometheuses.monitoring.coreos.com kubectl delete crd prometheusrules.monitoring.coreos.com kubectl delete crd servicemonitors.monitoring.coreos.com kubectl delete crd podmonitors.monitoring.coreos.com kubectl delete crd alertmanagers.monitoring.coreos.com kubectl delete crd thanosrulers.monitoring.coreos.com kubectl delete crd probes.monitoring.coreos.com`<\/code><\/p>\n<h5><span class=\"ez-toc-section\" id=\"Hata-3\"><\/span>Hata-3<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>fake kubeproxy fail alert<\/p>\n<h5><span class=\"ez-toc-section\" id=\"Cozum-3\"><\/span>\u00c7\u00f6z\u00fcm-3<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<pre><code>kubectl edit cm\/kube-proxy -n kube-system\r\na\u00e7\u0131lan edit\u00f6rden \"metricsBindAddresi\" localhost'dan 0.0.0.0'a \u00e7ekin, kaydedip \u00e7\u0131kt\u0131ktan sonra kube-proxy rollout-restart edin.\r\n...\r\nmetricsBindAddress: 0.0.0.0:10249\r\n...\r\n:wq\r\n\r\nkubectl rollout restart ds kube-proxy -n kube-system\r\nkubectl rollout status ds kube-proxy -n kube-system<\/code><\/pre>\n<h5><span class=\"ez-toc-section\" id=\"Hata-4\"><\/span>Hata-4<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>logda many-to-many hatas\u0131<\/p>\n<h5><span class=\"ez-toc-section\" id=\"Cozum-4\"><\/span>\u00c7\u00f6z\u00fcm-4<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<pre><code>prometheus-rules.yaml'i\u00e7erisindeki label k\u0131sm\u0131n\u0131 kontrol edin;\r\n\r\n....\r\n\r\n    app: kube-prometheus-stack \/\/ gibi\r\n\r\n....\r\n\r\n<\/code><\/pre>\n<p>Bu makale : kubernetesturkey.com adresinden al\u0131nt\u0131d\u0131r<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0130ster developer olun ister sistemci ister devopscu monitoring hayat\u0131m\u0131z\u0131n olmassa olmaz\u0131. Daha \u00f6nce yay\u0131nlam\u0131\u015f oldu\u011fumuz Kubernetes Nedir? makalemize g\u00f6z att\u0131ysan\u0131z \u015fuan ki makalemizden devam edebiliriz. 3-5 ay \u00f6nce k8s clusterlar\u0131m\u0131z\u0131n ssl expire tarihlerini kontrol ediyorduk, tabi o zamanlar bunu monit\u00f6r etmiyorduk ve etmek de a\u00e7\u0131kcas\u0131 pek akl\u0131m\u0131za gelmemi\u015fti. Sonra g\u00fcncellemeler vs ile bunun stabil hale &hellip;<\/p>\n","protected":false},"author":1,"featured_media":1886,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-1885","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\/1885","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=1885"}],"version-history":[{"count":0,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts\/1885\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media\/1886"}],"wp:attachment":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media?parent=1885"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/categories?post=1885"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/tags?post=1885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}