Upgrade to Pro — share decks privately, control downloads, hide ads and more …

containerlabで作るIP Closファブリック / Kubernetes Meetup Tokyo 61 Lightning Talk

containerlabで作るIP Closファブリック / Kubernetes Meetup Tokyo 61 Lightning Talk

containerlabとkindを使ってIP Closファブリックに接続するKubernetesクラスタを仮想環境上に作成する方法について紹介します。
イベントサイト: https://k8sjp.connpass.com/event/298147/

Preferred Networks

October 19, 2023
Tweet

More Decks by Preferred Networks

Other Decks in Technology

Transcript

  1. 2 ⾃⼰紹介 : 清⽔ 翔 (Sho Shimizu / @oshothebig) •

    2019/4 ~ Preferred Networks, Inc. ◦ Cluster Servicesチーム • オンプレのKubernetesクラスタの開発‧運⽤ • コンテナネットワーキング ◦ 内製CNI pluginの開発 ◦ CNI pluginの構成変更 & マイグレーション ↑についてのblog →
  2. 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
  3. 4 • 課題 👉 ⼿軽さ ◦ 特にネットワーク機器が⼿軽ではない ▪ BGPが動く機器は安くはない ▪

    必要な台数が多い • PC1台で⼿軽に動かすには仮想環境 ◦ Kubernetesクラスタ 👉 kind ◦ IP Closファブリック 👉 ?? IP Closファブリック + Kubernetesクラスタの構築
  4. 5 • https://containerlab.dev/ • オープンソースのネットワークエミュレータ ◦ ノキアの⽅が開発をリードしている(ように⾒える) ◦ 商⽤ネットワークOSのサポートが⽐較的充実 →

    Kinds ▪ Nokia, Arista, Juniper, Cisco, Cumulus, Aruba, etc. • コンテナを活⽤ ◦ エミュレーションするネットワーク機器はコンテナとして動作 ◦ containerlab内で通常のLinuxコンテナが作成できる ◦ 👍 外部で作成したコンテナをエミュレーション環境に接続可能 👉 kindで作成したKubernetesクラスタと接続できる containerlab
  5. 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 を実⾏
  6. 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で作成
  7. 9 • Preferred Networksの計算基盤関連チームでは採⽤を実施中です! ◦ 機械学習プラットフォームエンジニア (クラスタのサービス化) ◦ ストレージエンジニア (ストレージの企画設計管理運⽤)

    ◦ ⼤規模計算基盤エンジニア/リサーチャー (クラスタの物理設計、ファシリティ管理) • カジュアル⾯談もやってます → We're Hiring!!