SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
kokotapでpodのパケットキャプチャ
Red Hat2
小西高之
Twitter: @leather_sole
2017年12月に福岡に戻ってきた(17年ぶり)
レッドハット株式会社
 シニアテクニカルサポートエンジニア
  API管理製品(Red Hat 3scale API Management)担当
Red Hat
オープンソースになりました
 https://3scale.github.io/
商用版
 SaaS
 オンプレミス
Red Hat 3scale API Management
3
Red Hat
オンプレミス構成
4
3scale
Pod
コミュニティ版:
Pod Pod
これをサポート
Red Hat
コンテナ上の製品をサポートするので
パケットキャプチャができるといいのでは?
Red Hat 3scale API Management
5
Red Hat
試して紹介するだけでこのLTは完了!簡単!
kokotapというのがあるらしい
6
Red Hat
kokotap 0.5を試してみた
7
うまくいかない…
Red Hat
3月末に東京出張
8
オフィスに行ったら開発者(林さん)がすぐそばに座ってた
対面でバグレポート
Red Hat
kokotap 0.61 リリース
9
$ ./kokotap --pod=<ターゲットPod> --mirrortype=both --dest-node=<受信側ノード>
--vxlan-id=100 --kubeconfig=$HOME/.kube/config --namespace=<ターゲットNS>
--vxlan-port=4889 | kubectl create -f -
受信側ノードにmirrorインターフェースができる:
48: mirror: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state n)
$ tshark -i mirror -Y 'http' -n
Capturing on 'mirror'
4 0.000098510 10.129.0.1 -> 10.129.1.108 HTTP 216 GET /check.txt HTTP/1.1
17 0.005460689 10.129.1.108 -> 10.129.0.1 HTTP 71 HTTP/1.1 200 OK (text/plain)
受信成功!
Red Hat
特にサービスメッシュを利用する場合など、Podから送信されるパケットは
ノードから出るより前に書き換えられてしまうが、kokotapなら変更前のパケッ
トを確認できる
特にNFV (Network functions virtualization) の実装で必要なので開発した
開発者に聞いたこと
10
Red Hat
仕組み --dest-node の場合
11
Kubernetes Node 1
ターゲットPod
Kubernetes Node 2
Process
eth0
iptable@pod Bridge eth0 eth0
mirror IF
(vxlan)
mirror IF
(vxlan)
kokotap
sender pod
kokotap
receiver pod
ノードでパケットキャプチャ
できるようならこちらがお
手軽
tc mirred
Red Hat
仕組み --dest-ip の場合
12
Kubernetes Node 1
ターゲットPod
任意のサーバー
Process
eth0
iptable@pod Bridge eth0 eth0
mirror IF
(vxlan)
kokotap
sender pod 手動で作成
mirror IF
(vxlan)
tc mirred
Red Hat
vxlanのデフォルトポートが使用中だと --vxlan-port オプションが必要(特に OpenShiftの場合)
受信側でiptablesの設定が必要な場合がある
例
sudo iptables -A OPENSHIFT-FIREWALL-ALLOW -p udp -m udp --dport 4889 -m comment
--comment "VXLAN incoming" -j ACCEPT
AWS上だとSecurity Groupsの設定が必要になるのでやや面倒
注意点
13
Red Hat
kokotap
https://github.com/redhat-nfvpe/kokotap
KubernetesでのPodのパケットキャプチャの方法について
https://bit.ly/2FN5skW
Troubleshooting On-Premise Kubernetes Network: Underlay, Overlay and Pod
https://kccna18.sched.com/event/GrWr
References
14
Thank you

Mais conteúdo relacionado

Semelhante a KokotapでPodのパケットキャプチャ

Open shiftmeetup 3scalelt_3
Open shiftmeetup 3scalelt_3Open shiftmeetup 3scalelt_3
Open shiftmeetup 3scalelt_3Yuichi Nakamura
 
Fukuoka Ruby Award 2012
Fukuoka Ruby Award 2012Fukuoka Ruby Award 2012
Fukuoka Ruby Award 2012ThinReports
 
RICOH THETA プラグイン開発 ワークショップ #1
RICOH THETA プラグイン開発 ワークショップ #1RICOH THETA プラグイン開発 ワークショップ #1
RICOH THETA プラグイン開発 ワークショップ #1RICOHTHETAPluginDevloperCommunity
 
Red Hat Forum Tokyo 2019 - Red Hat on Azure
Red Hat Forum Tokyo 2019 - Red Hat on AzureRed Hat Forum Tokyo 2019 - Red Hat on Azure
Red Hat Forum Tokyo 2019 - Red Hat on Azurekei omizo
 
Windows ChatGPT Bing AI
Windows ChatGPT Bing AIWindows ChatGPT Bing AI
Windows ChatGPT Bing AIAtomu Hidaka
 
OSC Tokyo/Fall NETMF 161105
OSC Tokyo/Fall NETMF 161105OSC Tokyo/Fall NETMF 161105
OSC Tokyo/Fall NETMF 161105Atomu Hidaka
 
コンテナホスティングサービス「jaisting」開発に至るまで
コンテナホスティングサービス「jaisting」開発に至るまでコンテナホスティングサービス「jaisting」開発に至るまで
コンテナホスティングサービス「jaisting」開発に至るまでTatsuya Yagi
 
20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜
20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜
20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜LeapMind Inc
 
20161028 OpenSHift on Azure でASP.NET Coreと戯れよう
20161028 OpenSHift on Azure でASP.NET Coreと戯れよう20161028 OpenSHift on Azure でASP.NET Coreと戯れよう
20161028 OpenSHift on Azure でASP.NET Coreと戯れようTakayoshi Tanaka
 
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)NTT DATA OSS Professional Services
 
スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発Masakuni Kato
 
2015 1025 OSC-Fall Tokyo NETMF
2015 1025 OSC-Fall Tokyo NETMF2015 1025 OSC-Fall Tokyo NETMF
2015 1025 OSC-Fall Tokyo NETMFAtomu Hidaka
 
itnerface 2018年9月号オフ会発表資料
itnerface 2018年9月号オフ会発表資料itnerface 2018年9月号オフ会発表資料
itnerface 2018年9月号オフ会発表資料Kenichi Miyata
 
OSSで支えられるライブドアの巨大ログ集計 #nhntech
OSSで支えられるライブドアの巨大ログ集計 #nhntechOSSで支えられるライブドアの巨大ログ集計 #nhntech
OSSで支えられるライブドアの巨大ログ集計 #nhntechSATOSHI TAGOMORI
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMFAtomu Hidaka
 
AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825Yasuharu Suzuki
 
Goで作って配布するAzureコマンドラインユーティリティ
Goで作って配布するAzureコマンドラインユーティリティGoで作って配布するAzureコマンドラインユーティリティ
Goで作って配布するAzureコマンドラインユーティリティyaegashi
 
Pepperのアプリ開発について - ABC2015 Summer -
Pepperのアプリ開発について - ABC2015 Summer -Pepperのアプリ開発について - ABC2015 Summer -
Pepperのアプリ開発について - ABC2015 Summer -Hirokazu Egashira
 
Rancher と GitLab を使う3つの理由
Rancher と GitLab を使う3つの理由Rancher と GitLab を使う3つの理由
Rancher と GitLab を使う3つの理由Tetsurou Yano
 

Semelhante a KokotapでPodのパケットキャプチャ (20)

Open shiftmeetup 3scalelt_3
Open shiftmeetup 3scalelt_3Open shiftmeetup 3scalelt_3
Open shiftmeetup 3scalelt_3
 
Fukuoka Ruby Award 2012
Fukuoka Ruby Award 2012Fukuoka Ruby Award 2012
Fukuoka Ruby Award 2012
 
【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう
 
RICOH THETA プラグイン開発 ワークショップ #1
RICOH THETA プラグイン開発 ワークショップ #1RICOH THETA プラグイン開発 ワークショップ #1
RICOH THETA プラグイン開発 ワークショップ #1
 
Red Hat Forum Tokyo 2019 - Red Hat on Azure
Red Hat Forum Tokyo 2019 - Red Hat on AzureRed Hat Forum Tokyo 2019 - Red Hat on Azure
Red Hat Forum Tokyo 2019 - Red Hat on Azure
 
Windows ChatGPT Bing AI
Windows ChatGPT Bing AIWindows ChatGPT Bing AI
Windows ChatGPT Bing AI
 
OSC Tokyo/Fall NETMF 161105
OSC Tokyo/Fall NETMF 161105OSC Tokyo/Fall NETMF 161105
OSC Tokyo/Fall NETMF 161105
 
コンテナホスティングサービス「jaisting」開発に至るまで
コンテナホスティングサービス「jaisting」開発に至るまでコンテナホスティングサービス「jaisting」開発に至るまで
コンテナホスティングサービス「jaisting」開発に至るまで
 
20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜
20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜
20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜
 
20161028 OpenSHift on Azure でASP.NET Coreと戯れよう
20161028 OpenSHift on Azure でASP.NET Coreと戯れよう20161028 OpenSHift on Azure でASP.NET Coreと戯れよう
20161028 OpenSHift on Azure でASP.NET Coreと戯れよう
 
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
 
スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発
 
2015 1025 OSC-Fall Tokyo NETMF
2015 1025 OSC-Fall Tokyo NETMF2015 1025 OSC-Fall Tokyo NETMF
2015 1025 OSC-Fall Tokyo NETMF
 
itnerface 2018年9月号オフ会発表資料
itnerface 2018年9月号オフ会発表資料itnerface 2018年9月号オフ会発表資料
itnerface 2018年9月号オフ会発表資料
 
OSSで支えられるライブドアの巨大ログ集計 #nhntech
OSSで支えられるライブドアの巨大ログ集計 #nhntechOSSで支えられるライブドアの巨大ログ集計 #nhntech
OSSで支えられるライブドアの巨大ログ集計 #nhntech
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
 
AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825
 
Goで作って配布するAzureコマンドラインユーティリティ
Goで作って配布するAzureコマンドラインユーティリティGoで作って配布するAzureコマンドラインユーティリティ
Goで作って配布するAzureコマンドラインユーティリティ
 
Pepperのアプリ開発について - ABC2015 Summer -
Pepperのアプリ開発について - ABC2015 Summer -Pepperのアプリ開発について - ABC2015 Summer -
Pepperのアプリ開発について - ABC2015 Summer -
 
Rancher と GitLab を使う3つの理由
Rancher と GitLab を使う3つの理由Rancher と GitLab を使う3つの理由
Rancher と GitLab を使う3つの理由
 

KokotapでPodのパケットキャプチャ