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
GKE -IP体系のはなし-
Search
Yasuhiro Murata
November 27, 2019
Technology
0
130
GKE -IP体系のはなし-
朝のLT向けに作った、GKEのIP体系設計の話
Yasuhiro Murata
November 27, 2019
Tweet
Share
More Decks by Yasuhiro Murata
See All by Yasuhiro Murata
N:Nツリー構造データにおけるグラフDB活用
mura123yasu
0
950
JSON関数と共に歩む、BigQueryを使った超汎化型データ活用基盤
mura123yasu
0
390
引きこもって作ってみた!おうちKubernetes
mura123yasu
0
3.9k
Harbor
mura123yasu
0
86
ゼロから始めるFlutter生活 - Prologue
mura123yasu
0
380
CloudEvents
mura123yasu
0
370
envoy - Resilience -
mura123yasu
0
61
containerd
mura123yasu
0
94
etcd
mura123yasu
0
120
Other Decks in Technology
See All in Technology
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
900
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
【インシデント入門】サイバー攻撃を受けた現場って何してるの?
shumei_ito
0
1.4k
あたらしい上流工程の形。 0日導入からはじめるAI駆動PM
kumaiu
5
720
データ民主化のための LLM 活用状況と課題紹介(IVRy の場合)
wxyzzz
2
630
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
170
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
0
200
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
110
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
73k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
20260129_CB_Kansai
takuyay0ne
1
260
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
760
4 Signs Your Business is Dying
shpigford
187
22k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
920
Leo the Paperboy
mayatellez
4
1.4k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
440
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
We Are The Robots
honzajavorek
0
160
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
100k
Transcript
GKE – IP体系のはなし - morn ng alk Yasuhiro Murata 2019.11.27
GKEのIP体系設計 ミスっちゃいました
GKEのIP体系設計ミスっちゃいました u Shared VPC下でVPC-nativeなPrivateクラスタを構築しました Host Project Sub Project VPC Peering
GCP Managed-Project my-subnet VPC Managed VPC GKE-master GKE-node-pool GKE-pod GKE-service
GKEのIP体系設計ミスっちゃいました u 今回IP設計を行ったのは4箇所 Host Project Sub Project VPC Peering GCP
Managed-Project my-subnet VPC Managed VPC GKE-master GKE-node-pool GKE-pod GKE-service ①IP address range ②Master address range ③Pod address range ④Service address range
GKEのIP体系設計ミスっちゃいました u どんな設計にしたかというと... ① IP address range → 利用できるIP範囲に制限もあり「/21」 ②
Master address range → ドキュメント合わせる形で「/28」 ③ Pod address range → Pod数に余裕をみて「/20」 ④ Service address range → Service数に余裕をみて「/20」
どこをミスったの?
どこをミスったの? u PodのIP設計がNGでした ① IP address range → 利用できるIP範囲に制限もあり「/21」 ②
Master address range → ドキュメント合わせる形で「/28」 ③ Pod address range → Pod数に余裕をみて「/20」 ④ Service address range → Service数に余裕をみて「/20」
どこをミスったの? u こんな感じになると思っていました Sub Project GKE-node GKE-pod GKE-service GKE-node GKE-pod
GKE-service GKE-node GKE-pod GKE-service GKE-node GKE-pod GKE-service GKE-node GKE-pod GKE-service GKE-node GKE-pod GKE-service Podのアドレスは必要に応じて 各ノードに割り当てられる(嘘⼄) node-pool node-pool
違いました...
違いました... https://cloud.google.com/kubernetes-engine/docs/how-to/alias-ips?hl=ja#cluster_sizing
つまり...
つまり... u こういうこと Sub Project GKE-node GKE-pod GKE-service GKE-node GKE-pod
GKE-service GKE-node GKE-pod GKE-service GKE-node GKE-pod GKE-service GKE-node GKE-pod GKE-service GKE-node GKE-pod GKE-service node-pool node-pool /24 /24 /24 /24 /24 /24 「/24」ごとにNodeへ割り当て
つまり... u 必要なIP数は「Node数 * 256」で計算しなければなりませんでした l Pod address range l
Pod数に余裕をみて(みたつもりで)「/20」と定義していた l 利用可能なIP数は「4096」個 l 作成可能なNode数はたったの「 16」個
This is 知見
This is 知見 u GKEのIP体系設計で気をつけなければいけないこと l Pod address rangeは「/24」で各Nodeに割り振られる l
必要なPodのIPは「Node数 * 256」で計算すること
そもそも
業務内容ごとに Node-poolを分割したのが Node数増大の根源
やっぱアプリとインフラは 切り離して考えるべきだったよね
いったん Fin. 後日談へ続く...
さっそくの 後日談
後日談 https://cloud.google.com/kubernetes-engine/docs/how-to/flexible-pod-cidr?hl=ja u 最大Pod数を減らすことで割り当てCIDR範囲を小さくすることが可能
Fin.