n0stack icon indicating copy to clipboard operation
n0stack copied to clipboard

VirtualRouter リソースの追加

Open h-otter opened this issue 5 years ago • 3 comments

#180 でも話になったが,ネットワークのゲートウェイの設定が現在あやふやになっているためVirtualRouter というリソースをProvisioning層に追加するとよさそうであると考えている

例えば

message VirtualRouter {
  string name = 1;
  map<string, string> annotations = 3;

  // 後で詳しく考える
  bool global = 10;

  enum VirtualRouterState {
    // unknown state because failed to connect for scheduled node after RUNNING.
    UNKNOWN = 0;
    // working API
    PENDING = 1;

    // running vm
    AVAILABLE= 2;
  }
  VirtualRouterState state = 50;

  message VirtualRouterNetworkInterface {
    string network_name = 1;
    string network_interface_name = 2;
    string ipv4...
  }
  repeated VirtualRouterNetworkInterface network_interfaces = 54;
}

のようなものを考えている.これを追加することでFloating IPやファイアウォールのような機能も実現しやすいだろう.

h-otter avatar Apr 03 '19 09:04 h-otter

ipのレンジでグローバルか同課は判断できるため,globalフラグは必要なさそう

h-otter avatar Apr 03 '19 16:04 h-otter

良さそうなので実装することは決定

h-otter avatar Apr 04 '19 07:04 h-otter

NetworkはL2を管理する

VirtualRouterはL3を管理する.その一環としてL3ロードバランサとして利用できるVirtualIPの機能を付けたい.つまり,

message VirtualRouter {
  message VirtualIP {
    string vip_network_name = 1;
    string vip_network_interface_name = 2;

    message VirtualIPTarget {
      string target_network_name = 1;
      string target_network_interface_name = 2;
    }
    repeated VirtualIPTarget targets = 3;
  }
  repeated VirtualIP virtual_ip = 10;
}

というようなフィールドを用意することで実現する.案としてL3 FWの機能も付けておきたい.

また,今後L4ロードバランサとL7ロードバランサのリソースも開発したい

h-otter avatar Apr 04 '19 15:04 h-otter