kubernetes chatops

0b17c95bc7d94b582aa0f6e44442f381?s=47 Gavin Zhou
February 23, 2017

kubernetes chatops

kubernetes chatops

0b17c95bc7d94b582aa0f6e44442f381?s=128

Gavin Zhou

February 23, 2017
Tweet

Transcript

  1. kubernetesのchatops Orangesys Inc.

  2. $Who am I Orangesys Inc. Tachibana Shuji Twitter @yepn https://github.com/orangesys

    Running
  3. Orangesys Inc. SaaS監視システム @orangesysio https://orangesys.io

  4. None
  5. None
  6. Orangesys • All in docker • Kubernetes on GKE •

    OpsDev -> NoOps Architecture
  7. Architecture: Orangesys > Kubernetes Apigateway Namespace Cloud Load Balancing Standard

    Devices HTTPS Browser Client Production Namespace Kube-system Namespace Tiller Replication Controller Grafana Container Engine Replication Controller Influxdb Container Engine Replication Controller Corporate Site App Engine Autoscaling Orangesys Firebase Autoscaling Monitoring Namespace Prometheus RC Influxdb RC Grafana RC Opsbot Namespace Kubebot RC K8s-event RC Stripe Server Api Container Engine Replication Controller PostgresSQL Container Engine Replication Controller MariaDb Container Engine Replication Controller Nginx Container Engine Replication Controller Traefik Container Engine Replication Controller Server Telegraf Ingress Container Engine Replication Controller Kong ApiGateway Container Engine Replication Controller Kubenetes API Replication Controller SSL Cert Bot Replication Controller Orange Api Container Engine Replication Controller
  8. Technology Stack

  9. Agenda • なぜchatops • hubotを使ってない • kubernetes botの事例 • Topic

  10. なぜchatops GKEのkubernetesの上、運用のため、ルーチンワークが全自動化ため、あまりops が少ない 情報共有のため、chatopsを入れた

  11. hubotを使ってない • コンテナ運用のため、上記3種類のbotのimagesが大きすぎ、起 動が重い。(200MBを超え) • stackをシンプルしたい、coffeesciptsを避けたい • botが重い、機能が多すぎ、メンテコストが高い • kubernetesとの相性があまり

  12. その他bot • cog & errobt • cog pluginの開発言語が自由ですが、本体はelixir • 既存のbotが重い、機能が多すぎ、メンテコストが高い

    • kubernetesとの相性があまり
  13. go-chat-bot シンプルな機能がほしいから、go-chat-botで数十行ぐらい、作りました。 Kubernetes apiを活用し、slackへのevent転送が簡単 主流のIMツールはwebhook提供のため、より一層chatopsが簡単になります

  14. Kubernetes event bot Kubernetes event apiを監視し、全部PODの イベントを通知します。

  15. Circleci release event Distributed Teamsのため、リリースタイミングを担当者にお任せします。 リリース情報を共有したい

  16. Letsencrypt証明書自動更新bot 証明証の有効期間を監視し、1ヶ月前、更新、 Let's Encrypt DNS Challenge Please deploy a DNS

    TXT record under the name _acme-challenge.orangesys.io with the following value: 667drNmQL3vX6bu8YZlgy0wKNBlCny8yrjF1lSaUndc Once this is deployed, Press ENTER to continue
  17. kubernetes ops bot podの状態共有、自動構築のお客環境の状態確認など

  18. Topic コンテナ時代になり、更に自動化を進化し、chatopsも変化 Kubernetesの運用なら、chatopsは情報共有の役割 エンジニアのアシスタントになり(事務処理、on-call standby、勤怠管理など)