-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Description
WHY
- インターネットを介してKubernetesクラスタ同士のネットワークを接続したい
- 暗号化したい
- NATの内側にあっても良いようにしたい
- 既存のCNIの課題
- 暗号化を行うものや、クラスタ同士を接続できるものはある
- 一方で、Full meshのReachabilityが必須となる
WHAT
暗号化したP2PのFull mesh P2P(with NAT traversal) CNIを開発する。
HOW
https://github.com/tailscale/tailscale がOSSとなっており、これがFull mesh P2P(with NAT traversal) CNIを提供してくれているのでいい感じに実装する。
その他要件
- Control Planeを外部に置くことができる(ルート情報の交換や接続の確立のための情報の交換)
- Control PlaneへのAPI経由で経路情報を追加できる(TailscaleにおけるSubnet router機能)
- Podにsubnet単位でroutingできるようにしたい
コンポーネント
- Control Plane: Tailscaleで言うところのipnserver
- 上記で説明した機能を担当する。gRPC等で実装することを想定。
- Controller(DaemonSet/Kubernetes): Wireguardのインターフェースを作成し、Control Planeと接続してインターフェースの更新を行う。
- (CNI): bridge CNI等で事足りるなら不要だが必要に応じて開発
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation