Enviar pesquisa
Carregar
Container Networking Deep Dive
•
Transferir como PPTX, PDF
•
17 gostaram
•
11,242 visualizações
Hirofumi Ichihara
Seguir
Japan Container Days v18.04 で発表したスライドです。
Leia menos
Leia mais
Software
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 25
Baixar agora
Recomendados
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
Motonori Shindo
containerdの概要と最近の機能
containerdの概要と最近の機能
Kohei Tokunaga
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
kube-system落としてみました
kube-system落としてみました
Shuntaro Saiba
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
Takashi Kanai
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
Recomendados
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
Motonori Shindo
containerdの概要と最近の機能
containerdの概要と最近の機能
Kohei Tokunaga
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
kube-system落としてみました
kube-system落としてみました
Shuntaro Saiba
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
Takashi Kanai
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
whywaita
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
akira6592
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
貴仁 大和屋
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
NTT DATA Technology & Innovation
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
Yahoo!デベロッパーネットワーク
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
Amazon Web Services Japan
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
Masayuki Kobayashi
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
L2延伸を利用したクラウド移行とクラウド活用術
L2延伸を利用したクラウド移行とクラウド活用術
富士通クラウドテクノロジーズ株式会社
Ingressの概要とLoadBalancerとの比較
Ingressの概要とLoadBalancerとの比較
Mei Nakamura
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
Yahoo!デベロッパーネットワーク
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
Cluster API によるKubernetes環境のライフサイクル管理とマルチクラウド環境での適用
Cluster API によるKubernetes環境のライフサイクル管理とマルチクラウド環境での適用
Motonori Shindo
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
Amazon Web Services Japan
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Platform - Japan
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Tomoya Hibi
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
Mais conteúdo relacionado
Mais procurados
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
whywaita
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
akira6592
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
貴仁 大和屋
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
NTT DATA Technology & Innovation
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
Yahoo!デベロッパーネットワーク
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
Amazon Web Services Japan
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
Masayuki Kobayashi
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
L2延伸を利用したクラウド移行とクラウド活用術
L2延伸を利用したクラウド移行とクラウド活用術
富士通クラウドテクノロジーズ株式会社
Ingressの概要とLoadBalancerとの比較
Ingressの概要とLoadBalancerとの比較
Mei Nakamura
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
Yahoo!デベロッパーネットワーク
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
Cluster API によるKubernetes環境のライフサイクル管理とマルチクラウド環境での適用
Cluster API によるKubernetes環境のライフサイクル管理とマルチクラウド環境での適用
Motonori Shindo
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
Amazon Web Services Japan
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Platform - Japan
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
Mais procurados
(20)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
L2延伸を利用したクラウド移行とクラウド活用術
L2延伸を利用したクラウド移行とクラウド活用術
Ingressの概要とLoadBalancerとの比較
Ingressの概要とLoadBalancerとの比較
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Cluster API によるKubernetes環境のライフサイクル管理とマルチクラウド環境での適用
Cluster API によるKubernetes環境のライフサイクル管理とマルチクラウド環境での適用
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
わかる!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 Online
DockerとPodmanの比較
DockerとPodmanの比較
Semelhante a Container Networking Deep Dive
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Tomoya Hibi
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
20150715 xflow kikuta_final
20150715 xflow kikuta_final
Kazumasa Ikuta
FD.io VPP事始め
FD.io VPP事始め
tetsusat
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
Yoshihiro Nakajima
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
Tomoya Hibi
Lagopus Router v19.07.1
Lagopus Router v19.07.1
Tomoya Hibi
Trema day 1
Trema day 1
ykuga
製品コンフィグレーションガイド
製品コンフィグレーションガイド
エクストリーム ネットワークス / Extreme Networks Japan
KubeCon EU報告(ランタイム関連,イメージ関連)
KubeCon EU報告(ランタイム関連,イメージ関連)
Akihiro Suda
Lagopusで試すFW
Lagopusで試すFW
Tomoya Hibi
ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会
Tomoya Hibi
VPP事始め
VPP事始め
npsg
osoljp 2011.08
osoljp 2011.08
@ otsuka752
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
Tomoya Hibi
loggregator update
loggregator update
Ken Ojiri
Interrupt Affinityについて
Interrupt Affinityについて
Takuya ASADA
openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713
Takehiro Kudou
Osc2012 tokyo fall_home_san_nayamaguti
Osc2012 tokyo fall_home_san_nayamaguti
Noriyuki Yamaguchi
Getting Started with Jetson Nano
Getting Started with Jetson Nano
NVIDIA Japan
Semelhante a Container Networking Deep Dive
(20)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
20150715 xflow kikuta_final
20150715 xflow kikuta_final
FD.io VPP事始め
FD.io VPP事始め
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
Lagopus Router v19.07.1
Lagopus Router v19.07.1
Trema day 1
Trema day 1
製品コンフィグレーションガイド
製品コンフィグレーションガイド
KubeCon EU報告(ランタイム関連,イメージ関連)
KubeCon EU報告(ランタイム関連,イメージ関連)
Lagopusで試すFW
Lagopusで試すFW
ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会
VPP事始め
VPP事始め
osoljp 2011.08
osoljp 2011.08
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
loggregator update
loggregator update
Interrupt Affinityについて
Interrupt Affinityについて
openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713
Osc2012 tokyo fall_home_san_nayamaguti
Osc2012 tokyo fall_home_san_nayamaguti
Getting Started with Jetson Nano
Getting Started with Jetson Nano
Mais de Hirofumi Ichihara
OSS光と闇
OSS光と闇
Hirofumi Ichihara
[RECAP] Blackholes and Wormholes: Understand and Troubleshoot the “Magic” of ...
[RECAP] Blackholes and Wormholes: Understand and Troubleshoot the “Magic” of ...
Hirofumi Ichihara
Openconfigを用いたネットワーク機器操作
Openconfigを用いたネットワーク機器操作
Hirofumi Ichihara
OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性
Hirofumi Ichihara
OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向
OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向
Hirofumi Ichihara
OpenStack Project Update Neutron Update
OpenStack Project Update Neutron Update
Hirofumi Ichihara
Summit前にやることTODO
Summit前にやることTODO
Hirofumi Ichihara
NFV Infrastructure Manager with High Performance Software Switch Lagopus
NFV Infrastructure Manager with High Performance Software Switch Lagopus
Hirofumi Ichihara
Neutron CI Run on Docker
Neutron CI Run on Docker
Hirofumi Ichihara
Report of OpenStack Ops Meetup Palo Alto (in Japanese)
Report of OpenStack Ops Meetup Palo Alto (in Japanese)
Hirofumi Ichihara
Mais de Hirofumi Ichihara
(10)
OSS光と闇
OSS光と闇
[RECAP] Blackholes and Wormholes: Understand and Troubleshoot the “Magic” of ...
[RECAP] Blackholes and Wormholes: Understand and Troubleshoot the “Magic” of ...
Openconfigを用いたネットワーク機器操作
Openconfigを用いたネットワーク機器操作
OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性
OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向
OpenStack Neutron プロジェクトから見たソフトウェアスイッチ動向
OpenStack Project Update Neutron Update
OpenStack Project Update Neutron Update
Summit前にやることTODO
Summit前にやることTODO
NFV Infrastructure Manager with High Performance Software Switch Lagopus
NFV Infrastructure Manager with High Performance Software Switch Lagopus
Neutron CI Run on Docker
Neutron CI Run on Docker
Report of OpenStack Ops Meetup Palo Alto (in Japanese)
Report of OpenStack Ops Meetup Palo Alto (in Japanese)
Container Networking Deep Dive
1.
Copyright©2018 NTT corp.
All Rights Reserved. 1 Container Networking Deep Dive 日本電信電話株式会社 ソフトウェアイノベーションセンタ 市原 裕史
2.
2Copyright©2018 NTT corp.
All Rights Reserved. 自己紹介 市原 裕史 • 所属 • NTT SIC 分散処理基盤技術プロジェクト • OpenStack Developer • Neutron Core Reviewer、その他プロジェクトへの貢献 • 技術: SDN/NFV中心 • パブリッククラウドの開発 • LinuxconでDPDKの性能の発表 • Neutronへの機能提案 • Docker Network Plugin開発
3.
3Copyright©2018 NTT corp.
All Rights Reserved. Container Orchestration Tools
4.
4Copyright©2018 NTT corp.
All Rights Reserved. CNI vs CNM • Container Network Model (CNM) • Container Network Interface (CNI) CNM IPAM プラグイン CNM Network プラグイン Get/Release Pool Create/Delete Network Create/Delete Endpoint Join/Leave Endpoint CNI プラグイン Add/Remove interface Get/Release IP Address
5.
5Copyright©2018 NTT corp.
All Rights Reserved. ベアメタルから仮想ネットワーク ファイアウォール ロードバランサ L2スイッチ サーバ ルータ VM Compute node vSwitch VM vRouter vFW Network node vLB vSwitch VMVM
6.
6Copyright©2018 NTT corp.
All Rights Reserved. コンテナネットワーク Worker Container Container Container Container Container Container Router + FW + LB + Switch
7.
7Copyright©2018 NTT corp.
All Rights Reserved. コンテナネットワーク技術 Router + FW + LB + Switch • Linux bridge, veth, routing • iptables • OpenVSwitch, VPP
8.
8Copyright©2018 NTT corp.
All Rights Reserved. 検証環境 version 1.10.0 by kubeadm version 18.03.0-ce version 0.9.1 calico version 3.0.4 cni version 2.0.3
9.
9Copyright©2018 NTT corp.
All Rights Reserved. flannel • シンプルで簡単な設定でL3ネットワークを利用可能 • k8s APIを使用することで外部DB不要 • Network Policyには未対応
10.
10Copyright©2018 NTT corp.
All Rights Reserved. ホストインターフェース構成 ens7: 192.168.33.11/24 flannel.1: 10.244.3.0/32 cni0: 10.244.3.1/24 Pod A eth0: 10.244.3.x/24 eth0: 192.168.33.12/24 flannel.1: 10.244.2.0/32 cni0: 10.244.2.1/24 Pod B eth0: 10.244.2.y/24 $ ip a 3: ens7: <BROADCAST,MULTICAST,UP,LOWER_UP> inet 192.168.33.11/24 brd 192.168.33.255 scope global ens7 6: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> inet 10.244.3.0/32 scope global flannel.1 7: cni0: <BROADCAST,MULTICAST,UP,LOWER_UP> inet 10.244.3.1/24 scope global cni0
11.
11Copyright©2018 NTT corp.
All Rights Reserved. vxlan インターフェース $ ip -d link show flannel.1 6: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP vxlan id 1 local 192.168.33.11 dev ens7 srcport 0 0 dstport 8472 ens7: 192.168.33.11/24 flannel.1: 10.244.3.0/32 vxlan id 1 dev ens7 cni0: 10.244.3.1/24 Pod A eth0: 10.244.3.x/24 eth0: 192.168.33.12/24 flannel.1: 10.244.2.0/32 vxlan id 1 dev ens7 cni0: 10.244.2.1/24 Pod B eth0: 10.244.2.y/24
12.
12Copyright©2018 NTT corp.
All Rights Reserved. ルーティング構成 (1 route) $ ip r 10.244.2.0/24 via 10.244.2.0 dev flannel.1 onlink ens7: 192.168.33.11/24 flannel.1: 10.244.3.0/32 cni0: 10.244.3.1/24 Pod A eth0: 10.244.3.x/24 eth0: 192.168.33.12/24 flannel.1: 10.244.2.0/32 cni0: 10.244.2.1/24 Pod B eth0: 10.244.2.y/24 to: Pod B to: Pod A
13.
13Copyright©2018 NTT corp.
All Rights Reserved. パケット処理 (1arp, 1FDB entry) ens7: 192.168.33.11/24 flannel.1: 10.244.3.0/32 vxlan id 1 dev ens7 cni0: 10.244.3.1/24 Pod A eth0: 10.244.3.x/24 eth0: 192.168.33.12/24 flannel.1: 10.244.2.0/32 vxlan id 1 dev ens7 mac: 22:f7:97:a0:9c:55 cni0: 10.244.2.1/24 Pod B eth0: 10.244.2.y/24 $ ip n 10.244.2.0 dev flannel.1 lladdr 22:f7:97:a0:9c:55 PERMANENT $ bridge fdb show dev flannel.1 22:f7:97:a0:9c:55 dst 192.168.33.12 self permanent to: Pod B (to: 22:f7:97:a0:9c:55 ) to: Pod B (to: 22:f7:97:a0:9c:55 )
14.
14Copyright©2018 NTT corp.
All Rights Reserved. vxlan 情報反映契機 // How it works: // Create the vxlan device but don't register for any L2MISS or L3MISS messages // Then, as each remote host is discovered (either on startup or when they are added), do the following // 1) create routing table entry for the remote subnet. It goes via the vxlan device but also specifies a next hop (of the remote flannel host). // 2) Create a static ARP entry for the remote flannel host IP address (and the VTEP MAC) // 3) Create an FDB entry with the VTEP MAC and the public IP of the remote flannel daemon. // // In this scheme the scaling of table entries is linear to the number of remote hosts - 1 route, 1 arp entry and 1 FDB entry per host https://github.com/coreos/flannel/blob/master/backend/vxlan/vxlan.go#L43-L50 • 10.244.2.0/24 via 10.244.2.0 dev flannel.1 onlink • 10.244.2.0 dev flannel.1 lladdr 22:f7:97:a0:9c:55 PERMANENT • 22:f7:97:a0:9c:55 dst 192.168.33.12 self permanent
15.
15Copyright©2018 NTT corp.
All Rights Reserved. flannel CNI 適用後の iptables filter 差分 -A FORWARD -s 10.244.0.0/16 -j ACCEPT -A FORWARD -d 10.244.0.0/16 -j ACCEPT ens7: 192.168.33.11/24 flannel.1: 10.244.3.0/32 cni0: 10.244.3.1/24 Pod A eth0: 10.244.3.x/24 eth0: 192.168.33.12/24 flannel.1: 10.244.2.0/32 cni0: 10.244.2.1/24 Pod B eth0: 10.244.2.y/24 to: Pod B to: Pod A
16.
16Copyright©2018 NTT corp.
All Rights Reserved. Calico • シンプルなL3ルーティングを利用 • BGPを用いてルーティング情報を伝搬可能 • IPIPによるトンネリングにも対応 • Network Policyに対応
17.
17Copyright©2018 NTT corp.
All Rights Reserved. ホストインタフェース ens7: 192.168.33.11/24 tunl0: 192.168.79.192/32 Pod A eth0: 192.168.79.x/32 eth0: 192.168.33.12/24 tunl0 Pod B $ ip a 5: tunl0@NONE: <NOARP,UP,LOWER_UP> link/ipip 0.0.0.0 brd 0.0.0.0 inet 192.168.79.192/32 brd 192.168.79.192 scope global tunl0 9: calic4324f5b021@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 0 calic4324f5b021 eth0: 192.168.179.y/32 caliYYYY
18.
18Copyright©2018 NTT corp.
All Rights Reserved. ルーティング構成 $ ip r 192.168.179.0/26 via 192.168.33.12 dev tunl0 proto bird onlink 192.168.79.194 dev calic4324f5b021 scope link ens7: 192.168.33.11/24 tunl0: 192.168.79.192/32 Pod A eth0: 192.168.79.194/32 eth0: 192.168.33.12/24 tunl0 Pod B calic4324f5b021 eth0: 192.168.179.y/32 caliYYYY to: Pod B to: Pod A
19.
19Copyright©2018 NTT corp.
All Rights Reserved. PodA から PodB への iptables filter -A FORWARD -m comment --comment "cali:wUHhoiAYhphO9Mso" -j cali-FORWARD -A cali-FORWARD -m comment --comment "cali:JV9-BRWxjz8He5Ib" -j MARK --set-xmark 0x0/0xe000000 -A cali-FORWARD -o cali+ -m comment --comment "cali:B81FOaQNZymbX9H8" -j cali-to-wl- dispatch -A cali-to-wl-dispatch -o calic4324f5b021 -m comment --comment "cali:VlIiuQZf0oRkWoyL" - g cali-tw-calic4324f5b021 -A cali-tw-calic4324f5b021 -m comment --comment "cali:zjyrnaWCVNz-MaWt" -j MARK --set- xmark 0x0/0x1000000 -A cali-tw-calic4324f5b021 -m comment --comment "cali:uTf5kcRs6DeXSj7Z" -j cali-pri- kns.default -A cali-pri-kns.default -m comment --comment "cali:5yVkkQ7pBcxxkSaE" -j MARK --set- xmark 0x1000000/0x1000000 -A cali-pri-kns.default -m comment --comment "cali:pZi5w5MrTl3DghSD" -m mark --mark 0x1000000/0x1000000 -j RETURN -A cali-tw-calic4324f5b021 -m comment --comment "cali:Z5z02E5-p7S1WwQF" -m comment - -comment "Return if profile accepted" -m mark --mark 0x1000000/0x1000000 -j RETURN -A cali-FORWARD -m comment --comment "cali:I1Ki7aNgQsJFzEpG" -m comment --comment "Policy explicitly accepted packet." -m mark --mark 0x1000000/0x1000000 -j ACCEPT
20.
20Copyright©2018 NTT corp.
All Rights Reserved. 膨大な iptables ルール $ sudo iptables-save | wc -l 235 PodA起動後のルール数 calico の場合 $ sudo iptables-save | wc -l 85 PodA起動後のルール数 flannel の場合 calico の場合 1 Pod 起動毎16ルール増加する
21.
21Copyright©2018 NTT corp.
All Rights Reserved. IPIP パケット ens7: 192.168.33.11/24 tunl0: 192.168.79.192/32 Pod A eth0: 192.168.79.194/32 eth0: 192.168.33.12/24 tunl0 Pod B calic4324f5b021 eth0: 192.168.179.y/32 caliYYYY to: Pod B to: Pod A IP 192.168.33.11 > 192.168.33.12: IP 192.168.79.194 > 192.168.179.2: ICMP echo request, id 53, seq 1, length 64 (ipip-proto-4) IP 192.168.33.12 > 192.168.33.11: IP 192.168.179.2 > 192.168.79.194: ICMP echo reply, id 53, seq 1, length 64 (ipip-proto-4)
22.
22Copyright©2018 NTT corp.
All Rights Reserved. トンネリングプロトコル Pod A eth0: 192.168.1.10 Pod B eth0: 192.168.2.10 eth0: 10.0.1.100 eth0: 10.0.2.200 192.168.1.10 192.168.2.20 知らない to: 10.0.2.200 to: 192.168.2.10 to: 192.168.2.10 to: 192.168.2.10 パフォーマンスボトルネック
23.
23Copyright©2018 NTT corp.
All Rights Reserved. パフォーマンス改善 • オフロード機能を適切に設定する • VXLANハードウェアオフロード • トンネリングプロトコルを用いない • Flannel: host-gw モード • Calico: ルータへのBGP伝搬 • DPDKやXDPなどのパケット処理高速化技術を用いる
24.
24Copyright©2018 NTT corp.
All Rights Reserved. Network Policy all deny ポリシー設定後に特定のラベルを持つ Pod のア クセス許可ポリシー作成し Pod(192.168.79.203) 起動 -A cali-pi-_PfqSzIS1AirpjL0oXbg -m comment --comment "cali:8wIHtkclEDHwaHZ2" -m set --match-set cali4- s:AMAB7BNa5u3MmIiwZrblkWt src -j MARK --set-xmark 0x1000000/0x1000000 $ sudo ipset list cali4-s:AMAB7BNa5u3MmIiwZrblkWt Name: cali4-s:AMAB7BNa5u3MmIiwZrblkWt Type: hash:ip Revision: 4 Header: family inet hashsize 1024 maxelem 1048576 Size in memory: 176 References: 3 Members: 192.168.79.203
25.
25Copyright©2018 NTT corp.
All Rights Reserved. ネットワークと向き合う • tcpdumpしながら膨大なiptablesルールとlinux network設定を読み解く • 実際にハマった問題→ https://github.com/coreos/flannel/commit/5df82dcbcb102 05c419f2a9829c9a50e1e566352 • 実環境、サービス要件から適切なプラグイン、ネットワー ク構成を選択する
Baixar agora