Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
雰囲気で語るKubernetesネットワーク
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ttakada
April 24, 2019
Technology
720
0
Share
雰囲気で語るKubernetesネットワーク
ttakada
April 24, 2019
More Decks by ttakada
See All by ttakada
SaaSで実現するトラッフィク制御とセキュリティ
ttakada
0
470
クラウドのメタデータサービスとSSRF脆弱性
ttakada
1
650
Kixsのご紹介
ttakada
0
2.5k
クラウド/オンプレのネットワークアーキテクチャ再考
ttakada
0
320
AWS re:Invent2017に行ってきた
ttakada
0
450
誰も知りたくないKixsの軌跡
ttakada
0
1.5k
AWS 認定の概要と勉強法
ttakada
0
1.6k
Oracle Databaseを パブリッククラウド(AWS)で 使うときの注意点
ttakada
0
24k
RADIUSって知ってますか?
ttakada
0
1.4k
Other Decks in Technology
See All in Technology
カオナビに Suspenseを導入するまで / The Road to Suspense at kaonavi
kaonavi
1
450
The 7 pitfalls of AI
ufried
0
210
20260513_生成AIを専属DSに_AI分析結果の検品テクニック_ハンズオン_交通事故データ
doradora09
PRO
0
220
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
200
いつの間にかデータエンジニア以外の業務も増えていたけど、意外と経験が役に立ってる
zozotech
PRO
0
500
How to learn AWS Well-Architected with AWS BuilderCards: Security Edition
coosuke
PRO
0
130
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.6k
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.4k
セキュリティ対策、何からはじめる? CloudNative環境の脅威モデリングと リスク評価実践入門 #cloudnativekaigi
varu3
5
800
20260507-ACL-seminar
satoshi5884
0
110
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8k
「強制アップデート」か「チームの自律」か?エンタープライズが辿り着いたプラットフォームのハイブリッド運用/cloudnative-kaigi-hybrid-platform-operations
mhrtech
0
180
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
550
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
Context Engineering - Making Every Token Count
addyosmani
9
870
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Become a Pro
speakerdeck
PRO
31
5.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
180
A Modern Web Designer's Workflow
chriscoyier
698
190k
How to Talk to Developers About Accessibility
jct
2
190
We Are The Robots
honzajavorek
0
220
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
280
Transcript
None
https://www.slideshare.net/HirokiSakonju/kubernetes-virgin-is-permitted-until-2017
雰囲気で語る Kubernetesネットワーク 髙田 知典
ワークロード処理実行単位の変遷
なぜコンテナ https://www.docker.com/resources/what-container • はやい • オーバーヘッドすくない • 管理が簡単(???)
• コンテナオーケストラエンジン ◦ コンテナのデプロイ ◦ スケーリング • 環境 ◦ ローカル
▪ Minukube ◦ 構築 ▪ Kubeadm ▪ Rancher ◦ マネージド ▪ GKE(Google Kubernetes Engine) ▪ AKS(Azure Kubernetes Service) ▪ EKS(Elastic Container Service for Kubernetes)
Cluster https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro/ • Master ◦ API Server • Node ◦
コンテナが動くホスト(物理ホスト/仮想マシ ン)
Node https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-intro/#pods-overview • 物理/仮想マシン • 一つのNodeに複数のPod
Pod • Kubernetes上のコンテナ管理単位 • 1個以上のコンテナで構成される • (内部)IPアドレスは、Podに割り当てら れる ◦ コンテナ単位には割り当てられない
◦ Pod内では、コンテナはIPアドレス と Port番 号空間を共有する = 一つの Pod内のコン テナは重複するPort番号を使えない https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-intro/#pods-overview
ネットワーク通信の種類 • コンテナ間通信 • Pod間通信 • Service通信 • Ingressによる通信
コンテナ間通信 Node Network (External) Pod Network (Internal) Node Pod Pod
localhost宛 通信 Pod宛通信 NIC NIC lo0
NodeをまたがるPod Network Node Network (External) Pod Network (Internal) Node Pod
Pod Pod Node オーバーレイ ネットワーク NIC NIC NIC
CNI(Container Network Interface) • CNI は コンテナにネットワーク接続を提供することにフォーカスした仕様とライブラ リ (libcni) と参照実装の
CNI プラグインなどから構成 • Flannel ◦ VXVLAN / Host GW(IPルーティング) • Project Calico • Canal • NSX-T Container Plugin https://www.slideshare.net/motonorishindo/cni-124981353
Service • Podをまとめたグループ • Pod宛の通信用にエンドポイントを提供して、Pod、Nodeの存在を抽象化 ◦ PodのIPアドレスを意識する必要性をなくす • 以下の機能を提供 ◦
Pod宛トラフィックのL4ロードバランシング ◦ ラベルを利用したPodのサービスディスカバリ ◦ クラスタ内DNS Service IPとDNS名が付与
Serviceの種類 • LoadBalancer ◦ クラスタ外で提供されている Load Balancerの仮想IPアドレス • ClusterIP ◦
Kubernetes Cluster内でのみ疎通可能な仮想 IPアドレス • ExternalIP • NodePort ◦ 全Nodeのアドレス(0.0.0.0) • Headless • ExternalName • None-Selector
Service Node Network (External) Pod Network (Internal) Node Pod Pod
Pod Node Endpoint (Load Balancer) Endpoint (Cluster IP) NIC NIC NIC
クラスタ内DNSとクラスタ外DNS Node Network (External) Pod Network (Internal) Node Pod Pod
Pod Node Pod クラスタ内DNS Serviceエンドポイ ント名が自動登録さ れる その他の名前は、 外部に再帰問い合 わせ
Ingress • L7ロードバランシング (パスベースルーティング/HTTPS終端等) • IngressリソースとIngress Controllerで構成 • クラスタ外のロードバランサの利用 ◦ GKE
Ingress • クラスタ内にIngress用のPodをデプロイ ◦ Nginx Ingress ▪ kubernetes/ingress-nginx, nginxinc/kubernetes-ingress with NGINX, nginxinc/kubernetes-ingress with NGINX Plus ◦ HA Proxy など
クラスタ外 Ingress Node Network (External) Pod Network (Internal) Node Pod
Pod Pod Node NIC NIC NIC Ingress /path1: Service A /path2: Service B Node Port Service A Node Port Service B
クラスタ内 Ingress Node Network (External) Pod Network (Internal) Node Pod
Pod Pod Node NIC NIC NIC Endpoint (Load Balancer) Pod NIC Ingress Controller Pod /path1: Service A /path2: Service B
まとめ • Kubernetesでは、内部(Pod)ネットワークと外部(Node)ネットワークとで構成される • PodはServiceとしてグループ化されて、Serviceのエンドポイント(DNS名/IPアド レス)宛の通信は、Pod(コンテナ)へ、L4ロードバランスされる • Ingressは、L7ロードバランスを提供 ◦ Kubertesクラスタ外に配置する構成 (※実質
GKE Ingressのみ) ◦ Podとして配置する構成