$30 off During Our Annual Pro Sale. View Details »

Tinkerbellから学ぶ、Podで DHCPをリッスンする手法

Tinkerbellから学ぶ、Podで DHCPをリッスンする手法

Kubernetes上でDHCP Serverを扱おうとすると、物理ネットワークセグメントのブロードキャストをどう受けるかといった面倒臭い課題があり、素直に `hostNetwork=true` をするだけでは解決できないこともあります。

このLTでは、TinkerbellのDHCPコンポーネント「Smee」が使っている仕組みを参考に、Pod側にmacvlanインターフェースを渡してDHCPブロードキャストをクリアに受信する経路を用意する方法を紹介します。KubernetesでのPXE Bootやベアメタルのプロビジョニング周りに興味がある方はぜひご覧ください。

Avatar for Tomofumi Kondo

Tomofumi Kondo

December 05, 2025
Tweet

More Decks by Tomofumi Kondo

Other Decks in Programming

Transcript

  1. 自己紹介
 • 近藤 智文(@tomokon_0314)
 • 仕事
 ◦ サイバーエージェント24新卒(2年目)
 ◦ プライベートクラウドのIaaS基盤の開発


    ◦ OpenStack, Kubernetes, ストレージ, 仮想ネットワーク, etc.
 • 趣味
 ◦ 自宅サーバー
 ◦ 最近はベアメタルプロビジョニング/PXEブート周りの構築

  2. “Tinkerbell” の紹介 
 
 • CNCF Sandbox Project
 • ベアメタルサーバーの自動プロビジョニングシステム


    • Smee
 ◦ DHCPとPXEブートの応答を担当するコンポーネント
 ◦ ベアメタルホストに対してDHCPを通じてIPアドレスやブート設定を渡す

  3. DHCPサーバーのデプロイパターン 
 L2直結 
 DHCPサーバーとベアメタルホストを 
 同一L2セグメントに配置し、ブロードキャストがその ままDHCPサーバーに到達 
 →Pod上のプロセスがブロードキャスト

    
  をリッスンする必要がある 
 DHCPリレー経由 
 DHCPリレーがブロードキャストをDHCPサーバー 宛のユニキャストに変換して転送