Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to probe prometheus & grafana. What is helm

How to probe prometheus & grafana. What is helm

How to probe prometheus & grafana. What is helm on shinjuku mokumoku programming vol.20

threetreeslight

November 17, 2018
Tweet

More Decks by threetreeslight

Other Decks in Technology

Transcript

  1. How to probe prometheus & grafana What is helm @threetreeslight

    on shinjuku mokumoku programming #20 1 / 19
  2. 迷ったこと 1. すでにPrometheus, Grafana でcluster 監視している場 合、Istio に同梱されているchart は使わないよね? 2.

    istio は個別のnamespace に分けたほうがつかやすかった りするのか? 3. helm を複数のservice account, 複数のcluster で使う場合 どうするのか? 5 / 19
  3. Prometheus helth check CNCF graduagted project のprometheus 、health check endpoint

    実装されてた https://github.com/prometheus/prometheus/blob/47a673c3 router.Get("/-/healthy", func(w http.ResponseWriter, r *http.Request) w.WriteHeader(http.StatusOK) fmt.Fprintf(w, "Prometheus is Healthy.\n") }) router.Get("/-/ready", readyf(func(w http.ResponseWriter, r *http.Req w.WriteHeader(http.StatusOK) fmt.Fprintf(w, "Prometheus is Ready.\n") })) 8 / 19
  4. Grafana health check で /api/health endpoint が提供されて いた。 Grafana 4.3

    https://github.com/grafana/grafana/blob/e78c1b4abc7eda7 func (hs *HTTPServer) healthHandler(ctx *macaron.Context) { notHeadOrGet := ctx.Req.Method != http.MethodGet && ctx.Req.Method != if notHeadOrGet || ctx.Req.URL.Path != "/api/health" { return } data := simplejson.New() data.Set("database", "ok") data.Set("version", setting.BuildVersion) data.Set("commit", setting.BuildCommit) 11 / 19
  5. What is helm helm ( ) とは、CNCF ( ) でhosting

    されている kubernetes 上のpackage manager 。 https://helm.sh/ https://www.cncf.io/ 16 / 19
  6. stop the copy-and- paste madness. この表現がなされるほどのyaml wall 1. Helm は単純にkubernetes

    のresource をGo templating し ているだけ 2. local にchart をおいて複数cluster に展開することもでき るので便利だったりする 細かい話はblog にあげていく 17 / 19