Survey and Short Dive Prometheus Operator

Survey and Short Dive Prometheus Operator

6ed12627fec46a135f1bce5d56f3568e?s=128

nwiizo

May 28, 2020
Tweet

Transcript

  1. None
  2. None
  3. • • •

  4. None
  5. None
  6. ⚫ ⚫ ⚫ https://github.com/cncf/toc/blob/master/DEFINITION.md 最近日本語が登場したので差し替えます. ありがとう @yokawasa さん

  7. ⚫ ⚫ ⚫ https://github.com/cncf/toc/blob/master/DEFINITION.md 最近日本語が登場したので差し替えます. ありがとう @yokawasa さん

  8. • • • • 高度に発達したシステムの異常は神の怒りと見分けがつかない / IPSJ-ONE 2017 y_uuki https://speakerdeck.com/yuukit/ipsj-one-2017-y-uuki

    O‘Reilly『Infrastructure as Code』より
  9. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ Grafana Labs

    at KubeCon: What is the Future of Observability? https://grafana.com/blog/2019/05/27/grafana-labs-at-kubecon-what-is-the-future-of-observability/
  10. ⚫ ⚫ ⚫ Grafana Labs at KubeCon: What is the

    Future of Observability? https://grafana.com/blog/2019/05/27/grafana-labs-at-kubecon-what-is-the-future-of-observability/
  11. ⚫ ⚫ ⚫ ⚫ ダッシュボード 通知 設定 時系列 データベース タスク管理

    観測 データ収集 データ利用 メール チャット
  12. ⚫ ⚫ ダッシュボード 通知 時系列 データベース タスク管理 観測 データ収集 データ利用

    メール チャット
  13. ⚫ ⚫ 参考資料 https://microservices.io/patterns/service-registry.html https://microservices.io/ ⚫ ⚫ 後述するPromerrheus では…

  14. • • •

  15. None
  16. ⚫ ⚫ ⚫ ⚫

  17. ⚫ ⚫ ⚫ ⚫ ⚫

  18. ⚫ ⚫ ⚫ https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/

  19. https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/ ⚫ ⚫ ⚫ ⚫

  20. ⚫ ⚫ ⚫ https://coreos.com/blog/introducing-operators.html https://operatorhub.io/

  21. 実践入門Kubernetes カスタムコントローラへの道 Programming Kubernetes: Developing Cloud-Native Applications

  22. https://prometheus.io/docs/introduction/overview/ OVERVIEW

  23. https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config

  24. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

    ⚫ ⚫ OpenShift Monitoring - 自律化したPrometheus運用 -
  25. ⚫ https://github.com/coreos/prometheus-operator

  26. インスタンス管理 ⚫ Prometheusデプ ロイメントを定義。 リソース定義に一 致するデプロイメ ントが常に実行さ れていることを確 認。 インスタンス管理

    Alertmanagerデプ ロイメントを定義。 リソース定義に一 致するデプロイメ ントが常に実行さ れていることを確 認 ルール設定 Prometheusルー ルファイルを定義。 このファイルは、 アラートおよび記 録ルールを含む Prometheusのイ ンスタンスに ロード。 取得対象設定 サービスのグルー プを監視する方法 を宣言的に指定。 定義に基づいて Prometheus設定 ファイルの構成を 自動的に生成 取得対象設定 ポッドのグループ を監視する方法を 宣言的に指定。 定義に基づいて Prometheus設定 ファイルの構成を 自動的に生成
  27. • • •

  28. None
  29. ⚫ ⚫ ⚫ https://argoproj.github.io/argo-cd/

  30. ⚫ ⚫ ⚫ https://www.weave.works/technologies/gitops/

  31. 似たような環境のものが100サイト • • •

  32. 似たような環境のものが100サイト ⚫ ⚫ ⚫ ⚫

  33. ⚫ ⚫ ⚫ ⚫ ⚫

  34. ⚫ ⚫ ⚫ ⚫ ⚫ ArgoCD で同じく扱える Helmと悩んだが学習コストが少なくて済むメリットが多かった為 採用

  35. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

  36. kube repo base 各サイト develop production

  37. kube repo base 各サイト develop production resources: # 標準の秘密情報が載ってる -

    secret.yaml # 何もデプロイされてない時の為のぺージ表示など - deployment.yaml # 80,443 サービスについて記載されている - service.yaml # 80,443 へのServiceMonitorと prometheusRule が記載 # endpoint の監視だけが監視として追加される。 - prometheusRule.yaml # commonLabelsや Annotations など
  38. kube repo base 各サイト develop production resources: # 標準の秘密情報が載ってる -

    secret.yaml # 何もデプロイされてない時の為のぺージ表示など - deployment.yaml # 80,443 サービスについて記載されている - service.yaml # 80,443 へのServiceMonitorと prometheusRule が記載 # endpoint の監視だけが監視として追加される。 - prometheusRule.yaml # commonLabelsや Annotations など ⚫
  39. kube repo base 各サイト develop production resources: # 標準の秘密情報が載ってる -

    secret.yaml # 何もデプロイされてない時の為のぺージ表示など - deployment.yaml # 80,443 サービスについて記載されている - service.yaml # 80,443 へのServiceMonitorと prometheusRule が記載 # endpoint の監視だけが監視として追加される。 - prometheusrule.yaml # commonLabelsや Annotations など ⚫
  40. kube repo base 各サイト develop production # baseとなるkustomization.yamlを含むディレクトリ bases: -

    ../base # リソース名のprefix nameSuffix: "-*-gmo-jp" # patchを当てるためのファイルを指定する patches: - ./deployment.yaml # アクセス情報などは分離しておくと便利が良い resources: - ./ingress.yaml
  41. kube repo base 各サイト develop production # baseとなるkustomization.yamlを含むディレクトリ bases: -

    ../base # リソース名のprefix nameSuffix: "-*-gmo-jp" # patchを当てるためのファイルを指定する patches: - ./deployment.yaml # アクセス情報などは分離しておくと便利が良い resources: - ./ingress.yaml ⚫
  42. app repo Check app repo container repo Deploy 既存 検証環境による確認

    pull req 自動生成 ※1 tag:dev kubernetes repo kustomize generate tag:dev dev.<domain> tag:prd push ※1 kustomize generate prd kube repo
  43. ⚫ ⚫ ⚫ ⚫ additionalScrapeConfigs https://github.com/coreos/prometheus-operator/blob/master/Documentation/additional-scrape-config.md additionalAlertManagerConfigs

  44. ⚫ ⚫ ⚫ ⚫

  45. None