SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
kubernetes(GKE)環境における
datadog利用
デジタルアドバタイジングコンソーシアム
株式会社
春名 光一
2016/11/08
1
©2016 D.A.Consortium All rights reserved
目次
2
• 自己紹介
• DACについて
• AudienceOne
• KubernetesとGKE
• AudienceOneでのdatadog の利用方法
• 今後のdatadogに改善を期待する点
• まとめ
©2016 D.A.Consortium All rights reserved
自己紹介
3
• 名前
➢ 春名 光一 (はるな こういち)
• 経歴
➢ 2006年4月 某DNSな会社に入社 (AS 18149)
➢ 2015年2月 デジタルアドバタイジングコンソーシアム(株)
• 最近の業務
➢ 自社サービスの運用や社内ネットワークの管理
➢ Terraform や ansible を書いたりしてます
DACについて
4
©2016 D.A.Consortium All rights reserved
DAC
5
AudienceOne
6
©2016 D.A.Consortium All rights reserved
AudienceOneとは
7
[API]
Request
Receiver
Aggregator
[Batch]
[Web]
Log
Aggregation
Definition
Publisher
Admin
Console
Bulk Loader
Definition
Consumer
scylladb
[monitor]
AudienceOne System Diagram
[API]
Request
Receiver
Aggregator
[Batch]
[Web]
Log
Aggregation
Definition
Publisher
Admin
Console
Bulk Loader
Definition
Consumer
scylladb
[monitor]
AudienceOne System Diagram
今日のお話
©2016 D.A.Consortium All rights reserved
AudienceOneのシステム構成概要
• 一部だけGCP上に乗っている経緯などは、Google
Cloud Platform Japan Blogに載っています
➢ http://googlecloudplatform-japan.blogspot.jp/2016/08
/dmp-google-cloud-platform.html
• 外部サービスを利用していた部分を内製して再構
築しました
➢ 興味あればぜひ
• 今日はその再構築した部分でdatadogをどのように
使っているかをお話します
次に進む前に質問です
11
©2016 D.A.Consortium All rights reserved
1. DockerなどのContainer技術に触ったことあ
りますか?
2. Kubernetesとかswarm / ECS / GKE とか
使っていますか?
1. Kubernetes
2. GKE
3. Swarm
4. ECS
5. その他
12
質問
©2016 D.A.Consortium All rights reserved
回答ありがとうございます
質問
KubernetesとGKE
14
©2016 D.A.Consortium All rights reserved
KubernetesとGKE
• Kubernetes (k8s)とは
➢ 元はGoogleが自社のコンテナ技術で培ったノウハウを
オープンソースにしたコンテナクラスタマネージャ
➢ 結構頻繁にドキュメント更新されている
• GKE (Google Container Engine)
➢ GCP(Google Compute Platform) 上で利用できる
Kubernetes のmanaged service
✓ kubernetesのVer. up後、早いと翌日には最新版が利用できるよ
うになることも
➢ 素のkubernetesにはない機能もある
✓ node-poolなど
• PodやReplica Setなどの概念がある
15
©2016 D.A.Consortium All rights reserved
Pod
Pod とは
• いくつかのコンテナをグループ化したもの
• KubernetesはPod単位で操作を行う
• 1コンテナでも「コンテナが1つだけ含まれるPod」で1Pod
• Pod内のコンテナは同一nodeに配置される
• 仮想NICを共有するなどの特徴がある
➢ Pod内の他コンテナからlocalhostでアクセス可能
• コンテナ起動時と停止時に特定のコマンドを実行させること
が可能
➢ postStart / preStop / init-containers
• ヘルスチェック関連のパラメータもある
➢ readinessProbe / livenessProbe など
16
©2016 D.A.Consortium All rights reserved
Pod
Nginx
node
pod
container
Nginx
node
pod
container
java
container
17
©2016 D.A.Consortium All rights reserved
Replica Set / Replication Controller/ Deployments
Replica Setとは
• Podの”Replica”を指定台数動かし続けるための仕組み
➢ “Replication Controller”との違いは、Selector が使えるかどうか
➢ “The only difference between a Replica Set and a Replication
Controller right now is the selector support.”
• Replica Setで作成されたPodに異常があったりPodを削除し
た場合でも、Replica SetによりPodが再作成される
• Podのimage updateをより宣言的に扱える”Deployments”
の方が推奨されているみたい
➢ DeploymentsがReplica Setを制御してくれる
• Replica Setを Autoscaling させる仕組みもある HPA
(Horizontal Pod Autoscaling )
➢ Autoscalingでnodeがscale inする時に preStop がうまく効かない模
様(GKE 1.3)
✓ Mackerelを試したときに自動退役できず問題に。。
18
©2016 D.A.Consortium All rights reserved
Replica Set / Replication Controller/ Deployments
node
pod
Ver 1
container
node
pod
Ver 1
container
pod
Ver 1
container
Repclia = 3
Replica
Set
19
node
pod
Ver 2
container
node
pod
Ver 2
container
pod
Ver 2
container
Deployment
s
©2016 D.A.Consortium All rights reserved
Daemon Set
Daemon Setとは
• 全nodeもしくは、Selectorで指定したnodeにPodを動かすた
めの仕組み
• Replica Setでは、同一nodeに同じ構成のPodが複数動くこ
とがあるが、 Daemon Setでは確実に1Podだけ動かせる様
になる
➢ logstash , fluentd のようなログコレクターなどを動かすのが容易に
なる
 
20
©2016 D.A.Consortium All rights reserved
Daemon Set
node
pod
fluentd
container
node
pod
fluentd
container
node
pod
fluentd
container
java ruby
Daemon
Set
21
©2016 D.A.Consortium All rights reserved
Service
Service とは
• 受け付けたトラフィックをPodに流すための仕組み
• Port-forwarderやLoad Balancerの役割をする
➢ readinessProbe がokなPodへトラフィックが流れる
• kubernetesクラスタ内からだけでなく、クラスタ外部からも
接続できる
• Podへは環境変数で接続先ホスト名やポート番号を渡す
• 外部のDNS名をCnameで返すことも出来るようになった
• Ingress という概念もあるがここでは説明しません
 
©2016 D.A.Consortium All rights reserved
Service
node node node
java java
23
Service
GCLB or ELBなど
selector: {“app”: java”}
ruby
selector:
{“app”: “java”}
selector:
{“app”: “java”}
selector:
{“app”: “ruby”}
AudienceOneでのdatadog利用方法
24
©2016 D.A.Consortium All rights reserved
AudienceOneでの kubernetes
GKE
Request Receiver Cluster
Request Receiver RS
Cassandra
Compatible DB
fluentd
send log via UDP
fluetnd(active)
message aggregator
update GeoIP DB using geoip-update
GeoIP
DB
notify GeoIP DB’s update
Side kick
geoip
Request Receiver
forward messages
read GeoIP data
fluentd(standby)
message aggregator
Request Receiver
Treasure Data
aggregator-active SVC
aggregator-standby SVC
nginx
25
Request Reciver SVC
©2016 D.A.Consortium All rights reserved
AudienceOneでの kubernetes
26
• 必要リソースの関係で1nodeに1Podが配置されるよ
うにしておきたい
➢ PodのhostPortを指定することで排他的にnodeのポート
をPodから利用
➢ Replica SetごとにGKEの nodeSelector などを利用して
Podが起動するnode-poolを制御
• deployには”ReplicaSet” ではなく、” deployments”
を利用
➢ GithubのリリースブランチへのPRをマージするとコンテナ
build, deploy処理が走る
©2016 D.A.Consortium All rights reserved
AudienceOneでの datadog 利用
• kubernetes での単純なケース
➢ 全 node で動かす
✓ Daemon set を使う!
27
- apiVersion: extensions/v1beta1
kind: DaemonSet
labels:
app: dd-agent
name: dd-agent
spec:
template:
metadata:
labels:
app: dd-agent
name: dd-agent
spec:
containers:
- env:
- name: API_KEY
value: <your api key>
image: datadog/docker-dd-agent:kubernetes
(snip)
©2016 D.A.Consortium All rights reserved
AudienceOneでの datadog 利用
node
pod
dd-agent
container
node
pod
dd-agent
container
node
pod
dd-agent
container
アプリ1 アプリ2
Daemon
Set
28
一般的な場合
©2016 D.A.Consortium All rights reserved
AudienceOneでの datadog 利用
29
GKE
Request Receiver Cluster
fluentd
send log via UDP
fluetnd(active)
message aggregator
update GeoIP DB using geoip-update
GeoIP
DB
notify GeoIP DB’s update
Side kick
geoip
Request Receiver
forward messages
read GeoIP data
fluentd(standby)
message aggregator
Request Receiver
aggregator-active SVC
aggregator-standby SVC
nginx
docker-dd-agent
docker-agent DS
scylladbTreasure Data
Request Receiver RS
Request Reciver SVC
©2016 D.A.Consortium All rights reserved
AudienceOneでの datadog 利用
• Fluetnd のメトリクスを取得したい!
➢ Daemon Setだと、メトリクス取得対象のFluentdは別Pod(別IP)になる
➢ PodのIPがわからないと接続できない!知るのも簡単じゃない!
1. 同一PodにDatadogを入れる
2. Fluentdを含むPodの “hostPort: <ポート番号>” でnodeのIPでListen す
るようにし、dd-agentも “hostNetwork: true” でnode のIPを持たせて
localhostで接続する
➢ AudienceOneでは、後者のやり方で対応
➢ 1nodeに1Pod載せるためできた技
• ホスト名とポート番号をコンテナ内から知ることができ、etcd へ
アクセスできる場合は、 Service Discovery 機能を使うのが良
さそう
➢ GKEでは kubernetes の etcdへ自由にアクセス出来ないためこのよう
にした
• もっといいやり方あったら教えてください!
30
©2016 D.A.Consortium All rights reserved
AudienceOneでの現状
31
GKE
Request Receiver Cluster
fluentd
send log via UDP
fluetnd(active)
message aggregator
update GeoIP DB using geoip-update
GeoIP
DB
notify GeoIP DB’s update
Side kick
geoip
Request Receiver
forward messages
read GeoIP data
fluentd(standby)
message aggregator
Request Receiver
aggregator-active SVC
aggregator-standby SVC
nginx
dd-agent
docker-agent DS
scylladbTreasure Data
read fluentd monitor
同一IPを持っているので、 localhost接続
Request Reciver SVC
©2016 D.A.Consortium All rights reserved
AudienceOneでの現状
• Pod構成などまだまだ改善の余地があります
• HPAは検証中で、production投入がまだ
• コンテナ化できていない部分も多く、それらのコンテナ
化も課題
©2016 D.A.Consortium All rights reserved
datadogのdashboard
33
• Intergration の dashbordで大まかに状況をつかめる
©2016 D.A.Consortium All rights reserved
datadog の dashboard
• 必要に応じてドリルダウンしたdashboardを作成
➢ tagやlabelで絞込
➢ アラートなども適宜設定
• まだ、あまり使いこなせてません
©2016 D.A.Consortium All rights reserved
datadogに改善を期待する点
• Dockerのバージョンアップなどで一部メトリクスが取れなくなることがある
➢ /sys/fs/cgroup 経由だと見えなくなることあり
➢ /var/run/docker.sock をホストマウントして見えるようになっているので、cpu
やmemoryもこっち経由で見るようにして欲しい
➢ Kubernetes Integration経由のメトリクスは見えている
• GCP Integrationを有効にしているが、メトリクスを取りこぼす事がある
➢ LBのアクセス数とか歯抜けもいいところ
✓ 最後はBQに突っ込むのだが、ログが揃うのに多少時間がかかるため、リアルタイ
ムの値を取りこぼすのは痛い
✓ GCPのコンソールで代用
• パーセンタイル値でグラフやアラートが作成できない?
➢ Stackdriver の集約関数だと実現可能
• グラフやアラートの設定が結構大変
➢ JSON書くのもめんどくさい。。
➢ Terraformで一括して設定出来るみたいなので、これを利用する?
35
©2016 D.A.Consortium All rights reserved
36
まとめ
• Kubernetesの概略説明をしました
✓ Pod / Replica Set / Daemon Set / Service
• Kubernetes 環境におけるdd-agentの設定例
を説明しました
• AudienceOneでのdatadogの利用方法を説
明しました
©2016 D.A.Consortium All rights reserved
We are hiring!
• DACでは既存システムの改善や新規サービ
ス開発を行うエンジニアを募集しています!
©2016 D.A.Consortium All rights reserved
Thank you

Contenu connexe

Tendances

PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例gree_tech
 
今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみたKohei Tokunaga
 
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) Hironobu Isoda
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春VerMasahito Zembutsu
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法NGINX, Inc.
 
Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門tsukasamannen
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)NTT DATA Technology & Innovation
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線Motonori Shindo
 
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)NTT DATA Technology & Innovation
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48Preferred Networks
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Platform - Japan
 
明日から始める! ソフトウェアのグリーン化(GSF MeetUp Tokyo 発表資料)
明日から始める! ソフトウェアのグリーン化(GSF MeetUp Tokyo 発表資料)明日から始める! ソフトウェアのグリーン化(GSF MeetUp Tokyo 発表資料)
明日から始める! ソフトウェアのグリーン化(GSF MeetUp Tokyo 発表資料)NTT DATA Technology & Innovation
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
 
20分でわかるgVisor入門
20分でわかるgVisor入門20分でわかるgVisor入門
20分でわかるgVisor入門Shuji Yamada
 

Tendances (20)

PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例
 
今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた
 
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall ) LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajpAt least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
 
Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
 
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 
明日から始める! ソフトウェアのグリーン化(GSF MeetUp Tokyo 発表資料)
明日から始める! ソフトウェアのグリーン化(GSF MeetUp Tokyo 発表資料)明日から始める! ソフトウェアのグリーン化(GSF MeetUp Tokyo 発表資料)
明日から始める! ソフトウェアのグリーン化(GSF MeetUp Tokyo 発表資料)
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
20分でわかるgVisor入門
20分でわかるgVisor入門20分でわかるgVisor入門
20分でわかるgVisor入門
 

En vedette

DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかEtsuji Nakai
 
From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)佑介 九岡
 
ZabbixでDockerも監視
ZabbixでDockerも監視 ZabbixでDockerも監視
ZabbixでDockerも監視 Atsushi Tanaka
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftEtsuji Nakai
 
Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Works Applications
 

En vedette (6)

DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきか
 
From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)
 
ZabbixでDockerも監視
ZabbixでDockerも監視 ZabbixでDockerも監視
ZabbixでDockerも監視
 
GKE vs OpenStack Magnum
GKE vs OpenStack MagnumGKE vs OpenStack Magnum
GKE vs OpenStack Magnum
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
 
Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)Kubernetesにまつわるエトセトラ(主に苦労話)
Kubernetesにまつわるエトセトラ(主に苦労話)
 

Similaire à kubernetes(GKE)環境におけるdatadog利用

最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたものcyberagent
 
既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~じゅん なかざ
 
Introduction to Magnum (JP)
Introduction to Magnum (JP)Introduction to Magnum (JP)
Introduction to Magnum (JP)Motohiro OTSUKA
 
Datadog Agent on CloudRunによるGCPトレービリティ向上
Datadog Agent on CloudRunによるGCPトレービリティ向上Datadog Agent on CloudRunによるGCPトレービリティ向上
Datadog Agent on CloudRunによるGCPトレービリティ向上Ryo Sasaki
 
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送Google Cloud Platform - Japan
 
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Makoto Haruyama
 
GKEで半年運用してみた
GKEで半年運用してみたGKEで半年運用してみた
GKEで半年運用してみたKatsutoshi Nagaoka
 
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料NetApp Japan
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話Yahoo!デベロッパーネットワーク
 
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)VirtualTech Japan Inc.
 
GAE + Spannerで目指せ No (Uncomfortable) Ops
GAE + Spannerで目指せ No (Uncomfortable) OpsGAE + Spannerで目指せ No (Uncomfortable) Ops
GAE + Spannerで目指せ No (Uncomfortable) OpsMiniascape
 
OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築Daein Park
 
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...Insight Technology, Inc.
 
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)オラクルエンジニア通信
 
Dockerの利用事例
Dockerの利用事例Dockerの利用事例
Dockerの利用事例maebashi
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Dai Utsui
 
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)オラクルエンジニア通信
 
Autonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションAutonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションオラクルエンジニア通信
 
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計maebashi
 

Similaire à kubernetes(GKE)環境におけるdatadog利用 (20)

最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの
 
既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~既存システムへの新技術活用法 ~fluntd/MongoDB~
既存システムへの新技術活用法 ~fluntd/MongoDB~
 
Introduction to Magnum (JP)
Introduction to Magnum (JP)Introduction to Magnum (JP)
Introduction to Magnum (JP)
 
Datadog Agent on CloudRunによるGCPトレービリティ向上
Datadog Agent on CloudRunによるGCPトレービリティ向上Datadog Agent on CloudRunによるGCPトレービリティ向上
Datadog Agent on CloudRunによるGCPトレービリティ向上
 
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
 
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介
 
GKEで半年運用してみた
GKEで半年運用してみたGKEで半年運用してみた
GKEで半年運用してみた
 
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料
[VMware Partner Exchange Tokyo 14Apr2014] ネットアップセッション資料
 
Oracle GoldenGate Cloud Service(GGCS)概要
Oracle GoldenGate Cloud Service(GGCS)概要Oracle GoldenGate Cloud Service(GGCS)概要
Oracle GoldenGate Cloud Service(GGCS)概要
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
 
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
 
GAE + Spannerで目指せ No (Uncomfortable) Ops
GAE + Spannerで目指せ No (Uncomfortable) OpsGAE + Spannerで目指せ No (Uncomfortable) Ops
GAE + Spannerで目指せ No (Uncomfortable) Ops
 
OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築OpenShiftでJBoss EAP構築
OpenShiftでJBoss EAP構築
 
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
[db tech showcase Tokyo 2015] D16:マイケルストーンブレーカー発の超高速データベースで実現する分析基盤の簡単構築・運用ステ...
 
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
GoldenGateテクニカルセミナー1「市場のトレンドと最新事例のご紹介」(2016/5/11)
 
Dockerの利用事例
Dockerの利用事例Dockerの利用事例
Dockerの利用事例
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
 
Autonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションAutonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーション
 
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
 

Dernier

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 

Dernier (11)

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

kubernetes(GKE)環境におけるdatadog利用

  • 2. ©2016 D.A.Consortium All rights reserved 目次 2 • 自己紹介 • DACについて • AudienceOne • KubernetesとGKE • AudienceOneでのdatadog の利用方法 • 今後のdatadogに改善を期待する点 • まとめ
  • 3. ©2016 D.A.Consortium All rights reserved 自己紹介 3 • 名前 ➢ 春名 光一 (はるな こういち) • 経歴 ➢ 2006年4月 某DNSな会社に入社 (AS 18149) ➢ 2015年2月 デジタルアドバタイジングコンソーシアム(株) • 最近の業務 ➢ 自社サービスの運用や社内ネットワークの管理 ➢ Terraform や ansible を書いたりしてます
  • 7. ©2016 D.A.Consortium All rights reserved AudienceOneとは 7
  • 10. ©2016 D.A.Consortium All rights reserved AudienceOneのシステム構成概要 • 一部だけGCP上に乗っている経緯などは、Google Cloud Platform Japan Blogに載っています ➢ http://googlecloudplatform-japan.blogspot.jp/2016/08 /dmp-google-cloud-platform.html • 外部サービスを利用していた部分を内製して再構 築しました ➢ 興味あればぜひ • 今日はその再構築した部分でdatadogをどのように 使っているかをお話します
  • 12. ©2016 D.A.Consortium All rights reserved 1. DockerなどのContainer技術に触ったことあ りますか? 2. Kubernetesとかswarm / ECS / GKE とか 使っていますか? 1. Kubernetes 2. GKE 3. Swarm 4. ECS 5. その他 12 質問
  • 13. ©2016 D.A.Consortium All rights reserved 回答ありがとうございます 質問
  • 15. ©2016 D.A.Consortium All rights reserved KubernetesとGKE • Kubernetes (k8s)とは ➢ 元はGoogleが自社のコンテナ技術で培ったノウハウを オープンソースにしたコンテナクラスタマネージャ ➢ 結構頻繁にドキュメント更新されている • GKE (Google Container Engine) ➢ GCP(Google Compute Platform) 上で利用できる Kubernetes のmanaged service ✓ kubernetesのVer. up後、早いと翌日には最新版が利用できるよ うになることも ➢ 素のkubernetesにはない機能もある ✓ node-poolなど • PodやReplica Setなどの概念がある 15
  • 16. ©2016 D.A.Consortium All rights reserved Pod Pod とは • いくつかのコンテナをグループ化したもの • KubernetesはPod単位で操作を行う • 1コンテナでも「コンテナが1つだけ含まれるPod」で1Pod • Pod内のコンテナは同一nodeに配置される • 仮想NICを共有するなどの特徴がある ➢ Pod内の他コンテナからlocalhostでアクセス可能 • コンテナ起動時と停止時に特定のコマンドを実行させること が可能 ➢ postStart / preStop / init-containers • ヘルスチェック関連のパラメータもある ➢ readinessProbe / livenessProbe など 16
  • 17. ©2016 D.A.Consortium All rights reserved Pod Nginx node pod container Nginx node pod container java container 17
  • 18. ©2016 D.A.Consortium All rights reserved Replica Set / Replication Controller/ Deployments Replica Setとは • Podの”Replica”を指定台数動かし続けるための仕組み ➢ “Replication Controller”との違いは、Selector が使えるかどうか ➢ “The only difference between a Replica Set and a Replication Controller right now is the selector support.” • Replica Setで作成されたPodに異常があったりPodを削除し た場合でも、Replica SetによりPodが再作成される • Podのimage updateをより宣言的に扱える”Deployments” の方が推奨されているみたい ➢ DeploymentsがReplica Setを制御してくれる • Replica Setを Autoscaling させる仕組みもある HPA (Horizontal Pod Autoscaling ) ➢ Autoscalingでnodeがscale inする時に preStop がうまく効かない模 様(GKE 1.3) ✓ Mackerelを試したときに自動退役できず問題に。。 18
  • 19. ©2016 D.A.Consortium All rights reserved Replica Set / Replication Controller/ Deployments node pod Ver 1 container node pod Ver 1 container pod Ver 1 container Repclia = 3 Replica Set 19 node pod Ver 2 container node pod Ver 2 container pod Ver 2 container Deployment s
  • 20. ©2016 D.A.Consortium All rights reserved Daemon Set Daemon Setとは • 全nodeもしくは、Selectorで指定したnodeにPodを動かすた めの仕組み • Replica Setでは、同一nodeに同じ構成のPodが複数動くこ とがあるが、 Daemon Setでは確実に1Podだけ動かせる様 になる ➢ logstash , fluentd のようなログコレクターなどを動かすのが容易に なる   20
  • 21. ©2016 D.A.Consortium All rights reserved Daemon Set node pod fluentd container node pod fluentd container node pod fluentd container java ruby Daemon Set 21
  • 22. ©2016 D.A.Consortium All rights reserved Service Service とは • 受け付けたトラフィックをPodに流すための仕組み • Port-forwarderやLoad Balancerの役割をする ➢ readinessProbe がokなPodへトラフィックが流れる • kubernetesクラスタ内からだけでなく、クラスタ外部からも 接続できる • Podへは環境変数で接続先ホスト名やポート番号を渡す • 外部のDNS名をCnameで返すことも出来るようになった • Ingress という概念もあるがここでは説明しません  
  • 23. ©2016 D.A.Consortium All rights reserved Service node node node java java 23 Service GCLB or ELBなど selector: {“app”: java”} ruby selector: {“app”: “java”} selector: {“app”: “java”} selector: {“app”: “ruby”}
  • 25. ©2016 D.A.Consortium All rights reserved AudienceOneでの kubernetes GKE Request Receiver Cluster Request Receiver RS Cassandra Compatible DB fluentd send log via UDP fluetnd(active) message aggregator update GeoIP DB using geoip-update GeoIP DB notify GeoIP DB’s update Side kick geoip Request Receiver forward messages read GeoIP data fluentd(standby) message aggregator Request Receiver Treasure Data aggregator-active SVC aggregator-standby SVC nginx 25 Request Reciver SVC
  • 26. ©2016 D.A.Consortium All rights reserved AudienceOneでの kubernetes 26 • 必要リソースの関係で1nodeに1Podが配置されるよ うにしておきたい ➢ PodのhostPortを指定することで排他的にnodeのポート をPodから利用 ➢ Replica SetごとにGKEの nodeSelector などを利用して Podが起動するnode-poolを制御 • deployには”ReplicaSet” ではなく、” deployments” を利用 ➢ GithubのリリースブランチへのPRをマージするとコンテナ build, deploy処理が走る
  • 27. ©2016 D.A.Consortium All rights reserved AudienceOneでの datadog 利用 • kubernetes での単純なケース ➢ 全 node で動かす ✓ Daemon set を使う! 27 - apiVersion: extensions/v1beta1 kind: DaemonSet labels: app: dd-agent name: dd-agent spec: template: metadata: labels: app: dd-agent name: dd-agent spec: containers: - env: - name: API_KEY value: <your api key> image: datadog/docker-dd-agent:kubernetes (snip)
  • 28. ©2016 D.A.Consortium All rights reserved AudienceOneでの datadog 利用 node pod dd-agent container node pod dd-agent container node pod dd-agent container アプリ1 アプリ2 Daemon Set 28 一般的な場合
  • 29. ©2016 D.A.Consortium All rights reserved AudienceOneでの datadog 利用 29 GKE Request Receiver Cluster fluentd send log via UDP fluetnd(active) message aggregator update GeoIP DB using geoip-update GeoIP DB notify GeoIP DB’s update Side kick geoip Request Receiver forward messages read GeoIP data fluentd(standby) message aggregator Request Receiver aggregator-active SVC aggregator-standby SVC nginx docker-dd-agent docker-agent DS scylladbTreasure Data Request Receiver RS Request Reciver SVC
  • 30. ©2016 D.A.Consortium All rights reserved AudienceOneでの datadog 利用 • Fluetnd のメトリクスを取得したい! ➢ Daemon Setだと、メトリクス取得対象のFluentdは別Pod(別IP)になる ➢ PodのIPがわからないと接続できない!知るのも簡単じゃない! 1. 同一PodにDatadogを入れる 2. Fluentdを含むPodの “hostPort: <ポート番号>” でnodeのIPでListen す るようにし、dd-agentも “hostNetwork: true” でnode のIPを持たせて localhostで接続する ➢ AudienceOneでは、後者のやり方で対応 ➢ 1nodeに1Pod載せるためできた技 • ホスト名とポート番号をコンテナ内から知ることができ、etcd へ アクセスできる場合は、 Service Discovery 機能を使うのが良 さそう ➢ GKEでは kubernetes の etcdへ自由にアクセス出来ないためこのよう にした • もっといいやり方あったら教えてください! 30
  • 31. ©2016 D.A.Consortium All rights reserved AudienceOneでの現状 31 GKE Request Receiver Cluster fluentd send log via UDP fluetnd(active) message aggregator update GeoIP DB using geoip-update GeoIP DB notify GeoIP DB’s update Side kick geoip Request Receiver forward messages read GeoIP data fluentd(standby) message aggregator Request Receiver aggregator-active SVC aggregator-standby SVC nginx dd-agent docker-agent DS scylladbTreasure Data read fluentd monitor 同一IPを持っているので、 localhost接続 Request Reciver SVC
  • 32. ©2016 D.A.Consortium All rights reserved AudienceOneでの現状 • Pod構成などまだまだ改善の余地があります • HPAは検証中で、production投入がまだ • コンテナ化できていない部分も多く、それらのコンテナ 化も課題
  • 33. ©2016 D.A.Consortium All rights reserved datadogのdashboard 33 • Intergration の dashbordで大まかに状況をつかめる
  • 34. ©2016 D.A.Consortium All rights reserved datadog の dashboard • 必要に応じてドリルダウンしたdashboardを作成 ➢ tagやlabelで絞込 ➢ アラートなども適宜設定 • まだ、あまり使いこなせてません
  • 35. ©2016 D.A.Consortium All rights reserved datadogに改善を期待する点 • Dockerのバージョンアップなどで一部メトリクスが取れなくなることがある ➢ /sys/fs/cgroup 経由だと見えなくなることあり ➢ /var/run/docker.sock をホストマウントして見えるようになっているので、cpu やmemoryもこっち経由で見るようにして欲しい ➢ Kubernetes Integration経由のメトリクスは見えている • GCP Integrationを有効にしているが、メトリクスを取りこぼす事がある ➢ LBのアクセス数とか歯抜けもいいところ ✓ 最後はBQに突っ込むのだが、ログが揃うのに多少時間がかかるため、リアルタイ ムの値を取りこぼすのは痛い ✓ GCPのコンソールで代用 • パーセンタイル値でグラフやアラートが作成できない? ➢ Stackdriver の集約関数だと実現可能 • グラフやアラートの設定が結構大変 ➢ JSON書くのもめんどくさい。。 ➢ Terraformで一括して設定出来るみたいなので、これを利用する? 35
  • 36. ©2016 D.A.Consortium All rights reserved 36 まとめ • Kubernetesの概略説明をしました ✓ Pod / Replica Set / Daemon Set / Service • Kubernetes 環境におけるdd-agentの設定例 を説明しました • AudienceOneでのdatadogの利用方法を説 明しました
  • 37. ©2016 D.A.Consortium All rights reserved We are hiring! • DACでは既存システムの改善や新規サービ ス開発を行うエンジニアを募集しています!