Slide 1

Slide 1 text

containerlabで作るIP Closファブリック Kubernetes Meetup Tokyo #61 / Lightning Talk (2023/10/19) Sho Shimizu, Preferred Networks, Inc. @oshothebig

Slide 2

Slide 2 text

2 ⾃⼰紹介 : 清⽔ 翔 (Sho Shimizu / @oshothebig) ● 2019/4 ~ Preferred Networks, Inc. ○ Cluster Servicesチーム ● オンプレのKubernetesクラスタの開発‧運⽤ ● コンテナネットワーキング ○ 内製CNI pluginの開発 ○ CNI pluginの構成変更 & マイグレーション ↑についてのblog →

Slide 3

Slide 3 text

3 Server Server Server Server ● Leaf: サーバの接続 ● Spine: Leafスイッチ間を接続 ● BGPを使い拡張性が⾼い ○ RFC 7938 ● サーバまでBGPを延伸する 👉 Routing on the Host IP Closファブリック (Leaf-Spineネットワーク) Spine Spine Leaf Leaf Leaf Leaf Server Server Server Server

Slide 4

Slide 4 text

4 ● 課題 👉 ⼿軽さ ○ 特にネットワーク機器が⼿軽ではない ■ BGPが動く機器は安くはない ■ 必要な台数が多い ● PC1台で⼿軽に動かすには仮想環境 ○ Kubernetesクラスタ 👉 kind ○ IP Closファブリック 👉 ?? IP Closファブリック + Kubernetesクラスタの構築

Slide 5

Slide 5 text

5 ● https://containerlab.dev/ ● オープンソースのネットワークエミュレータ ○ ノキアの⽅が開発をリードしている(ように⾒える) ○ 商⽤ネットワークOSのサポートが⽐較的充実 → Kinds ■ Nokia, Arista, Juniper, Cisco, Cumulus, Aruba, etc. ● コンテナを活⽤ ○ エミュレーションするネットワーク機器はコンテナとして動作 ○ containerlab内で通常のLinuxコンテナが作成できる ○ 👍 外部で作成したコンテナをエミュレーション環境に接続可能 👉 kindで作成したKubernetesクラスタと接続できる containerlab

Slide 6

Slide 6 text

6 name: example topology: nodes: srl: kind: srl image: ghcr.io/nokia/srlinux ceos: kind: ceos image: ceos:4.25.0F links: - endpoints: ["srl:e1-1", "ceos:eth1"] 使い⽅ srl ceos e1-1 eth1 Topology definition file 作成されるトポロジ トポロジ定義ファイルを作成して containerlab deploy を実⾏

Slide 7

Slide 7 text

7 Server ● Routing on the Host ○ ホストでもBGPを動かす ● CNI Plugin 👉 Cilium ○ Native routingモード ● BGPデーモン 👉 FRR ● BGP Unnumbered ○ IPアドレスの設定の省⼒化 デモコード https://github.com/oshothebig/kubernetes-meetup-tokyo-61-lt Spine 2台, Leaf 4台のIP Closファブリックを作った Spine Spine Leaf Leaf Leaf Leaf Server Server Server containerlabで作成 kindで作成

Slide 8

Slide 8 text

8 結果 👏

Slide 9

Slide 9 text

9 ● Preferred Networksの計算基盤関連チームでは採⽤を実施中です! ○ 機械学習プラットフォームエンジニア (クラスタのサービス化) ○ ストレージエンジニア (ストレージの企画設計管理運⽤) ○ ⼤規模計算基盤エンジニア/リサーチャー (クラスタの物理設計、ファシリティ管理) ● カジュアル⾯談もやってます → We're Hiring!!