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

【shownet.conf_2023】クラウドネイティブな次世代サービス基盤を支える光データセンターネットワークへの挑戦

ShowNet
October 02, 2023
1.2k

 【shownet.conf_2023】クラウドネイティブな次世代サービス基盤を支える光データセンターネットワークへの挑戦

shownet.conf_ での講演資料(DC・クラウド)

ShowNet

October 02, 2023
Tweet

More Decks by ShowNet

Transcript

  1. ShowNet 2023 DC/Cloud のテーマ ➢クラウドネイティブな次世代サービス基盤を支える 光データセンターネットワークへの挑戦 ✓クラウドネイティブなルータを活用した Container as a

    Service ✓コンテナアプリケーションによるスケーラブルなサービス管理 ✓(オープン)光伝送技術を用いたデータセンターネットワークの ネクストステージ 2
  2. ShowNet 2023 の仮想化基盤とコンテナ基盤 6 Azure Stack HCI Azure Kubernetes Service

    vSphere Tanzu Kubernetes Grid OpenShift ➢総VM数: 104 ➢総コンテナ(Pod)数: 242 ✓コンテナは全てKubernetes上で稼働 ✓DHCP, DNS 等のサービスも全てコンテナで提供
  3. ShowNet 2023 の仮想化基盤 ➢.svc、.dc にて 2 つの仮想化基盤を構築 ✓VMware vSphere ✓Azure

    Stack HCI ➢様々な仮想アプライアンスの展開 ✓セキュリティやモニタリング ✓Kubernetes 基盤など 7 hx-c220c-m5sx dl380 fusionpod
  4. クラウドと連携したオンプレ環境の管理 (1) 10 hx-c220c-m5sx ShowNet インベントリ 情報 mgmt ネットワークから Intersight

    へ接続 インベントリ情報、ステータスの確認 仮想化基盤の可視化 クラウドからの vKVM、電源管理など ベアメタル、VM、コンテナなどの管理 設定、プロビジョニング、インストール 仮想化基盤のローリングアップデート ストレージシステムの管理
  5. クラウドと連携したオンプレ環境の管理 (2) dl385-gen11 ShowNet HPE Azure Azure Arc HPE GreenLake

    for Compute Ops Management Azure Kubernetes Service ハードウェアの管理 Firmwareバージョン CO2排出量 仮想マシンやコンテナ の一元管理、Azure連携 Azure Stack HCI Windows Admin Center
  6. クラウドと連携したオンプレ環境の管理 (3) 12 ➢ShowNetのmgmtネットワークとパブリックク ラウドSDPFをSD-WANで接続 ➢ShowNetのサービスをクラウドから外形監視 ➢運用管理/監視VMをオンプレ・クラウドで冗 長化 Smart Data

    Platform cisco8500-2 cisco8500-1 cisco8500v-1 system-answer-g3-1..3 Thousandeyes-agent Za-7600-1..2 zabbix6 Paragon-active-assurance-cc Accredian-twapreflector System-answer-g3-1..3 zabbix6 thousandeyes-agent ShowNet
  7. Worker Node Kubernetes概要 14 Worker Node Control Plane Node Pod

    Pod Pod Pod apiserver scheduler controller manager etcd Kubernetes Cluster Control Plane Node apiserver scheduler controller manager etcd Control Plane Node apiserver scheduler controller manager etcd
  8. Worker Node Kubernetes概要 15 Worker Node Control Plane Node apiserver

    scheduler controller manager etcd Control Plane Node apiserver scheduler controller manager etcd Control Plane Node apiserver scheduler controller manager etcd replicas: 3 Deployment Pod Pod Pod
  9. Node Kubernetesのネットワーク 16 Node Node Web Web Web Service Network

    Node Network Pod Network ➢Kubernetesのネットワークは主に3つ ✓ Node Network (underlay) ✓ Pod Network (overlay) ✓ Service Network (overlay) ➢CNI (Container Network Interface) プラグイン として実装 ✓ Antrea ✓ OVN-Kubernetes ✓ Calico ✓ CN2
  10. Node Pod間通信 18 Node DB DB Node AppServer AppServer AppServer

    Web Web Web AppServer Service DB Service ➢クラスター内のPod間通信は、Serviceを 経由する ➢Serviceを経由することによって以下を 実現する ✓ 内部DNSによるサービスディスカバリ ✓ Podレプリカに対するL4ロードバランス ➢Serviceにはいくつかの “Type” がある ✓ ClusterIP ✓ LoadBalancer ✓ NodePort
  11. Node クラスター外部からのPodへのアクセス 19 Node Node AppServer AppServer AppServer Web Web

    Web AppServer Web Ingress Controller metallb speaker frr xrd xrd Ingress NodePort LoadBalancer ➢ Ingress ✓ L7ロードバランサーをIngress Controllerとしてデ プロイし、それ経由でアクセスする ➢ NodePort ✓ Serviceを30000番以降のポート番号で各ノード からアクセスできるようにする ➢ LoadBalancer ✓ クラウドのロードバランサーを自動で設定し、 NodePort経由でアクセスできるようにする ✓ オンプレミス環境の場合、MetalLBのような仕 組みを使う • L2モード • L3モード
  12. これまでのKubernetesチャレンジ Kubernete Containers 2018 Pivotal Container Service OpenShift Zabbix Next

    Stream Virtualization PG/PE 2019 OpenShift (Azure AKS, GCP GKE) www.interop.jp 2021 Vanilla k8s OpenShift Multicloud Management CSI Storage (KumoFS, Nimble) 2022 Vanilla k8s OpenShift Ezmeral (Azure AKS) Multicloud Interconnect Zabbix 21 ➢今年はついにDNS, DHCP等のサービスをKubernetes上に展開!
  13. コンテナルータを活用した VM/Container 基盤 22 C220c-m5sx nexus93180yc-2 nexus93180yc-1 tanzu-worker tanzu-worker tanzu-worker

    C220c-m5sx C220c-m5sx nsx-vswitch rgs6510-3 fusionpod-3 fusionpod-2 fusionpod-1 ocp-worker ocp-worker ocp-worker nexus9336c rgs6930 rgs6510-2 rgs6510-1 ns1,2 cache kea elastic grafana calisti xrd xrd xrd metallb zabbix-agent zabbix-proxy Zabbix-kube- state-metrics crpd dnstap vmware-csi antrea calico クラスタ間は EVPN+ VXLANで L2 延伸 コンテナのアドレスをBGP で広告 lookingglass prometheus cn2 cn-series multus kea-private voicevox nginx dnstap IaaS x 2, k8sクラスタ x 4を構築
  14. コンテナ化した ShowNet の .svc ➢コンテナのアドレスを外部からアクセス可能に ✓ARP の代理応答 or BGP ➢コンテナで

    BGP ✓コンテナのサービスを定義したら /32、/128 でアドレスを広告 ✓複数の worker でコンテナが起動したら ECMP で負荷分散 23 cache cache cache dhcp2 dhcp1 cache のアドレス/32 cache のアドレス/32 dhcp1 のアドレス/32 cache のアドレス/32 dhcp2 のアドレス/32 xrd xrd xrd metallb metallb metallb
  15. コンテナ化した ShowNet の .svc ➢ネットワークは L3 で設計 ✓k8s のサーバで BGP

    するため ✓これまでは • Spine で VRRP • Leaf は MC-LAG ➢L2 延伸は EVPN VXLAN ✓仮想アプライアンス ✓ストレージなど ✓VRRP は使わずに anycast gateway 24
  16. DNS nexus93180yc-2 nexus93180yc-1 dnstap dnstap-receiver filebeat elasticsearch elastic search kibana

    kibana metallb speaker frr xrd xrd unbound unbound x3 x3 x3 ns2 bind service service metallb speaker frr xrd xrd x3 ns1 bind x3 service service service service ➢ UnboundはDNS Tapを使ってログを統合監視と ESに転送 ➢ Unbound, Bindは3つずつレプリカを稼働
  17. DHCP service metallb speaker frr xrd xrd kea1 dhcp4 ctrl-agent

    syslog service metallb speaker frr xrd xrd kea2 dhcp4 ctrl-agent syslog service metallb speaker frr xrd xrd kea3 dhcp4 ctrl-agent syslog nexus93180yc-2 nexus93180yc-1 HA cluster Backup ShowNet Exhibitor DHCP Request ➢ DHCPリクエストはリレーされてユニキャストパ ケットとして届く ➢ DHCPサーバは2台でフェイルオーバークラスター を構成 ➢ 戻りパケットのsrcアドレスをEgressで指定
  18. Looking Glass nexus93180yc-2 nexus93180yc-1 crpd crpd service service metallb speaker

    frr xrd xrd Looking glass lg fortiwebvm ShowNet BGP Peer ➢ 外部からLGへのアクセスはFortiWebVMで守る ➢ LGはcrpd上でのコマンド実行結果を表示する ➢ crpdはShowNetのルータから経路情報をもらう Internet
  19. Kubernetesを使ってみて… ➢大変だったこと ✓Kubernetes特有のネットワークの考え方と、ShowNet独特の運用との調整 • DHCP, DNS, … ➢良かったこと ✓Kubernetesの仕組みに乗っかることでいろいろ楽になった •

    事前の仕込み • イメージや設定更新時のローリングアップデート • サービスのスケールアウト ➢課題 ✓コンテナが大量に生まれると管理が大変 • オブザーバビリティ重要 • 可視化して管理 29
  20. 仮想マシン/コンテナセキュリティ ➢K8s APIアクセスをNSXでフィルタリング ➢外部への Web サービスを WAF で防御 ✓ShowNet Peering

    Portal • ShowNet に接続している AS や受信経路が見れます ✓ShowNet Looking Glass • ShowNet 内の経路が見れます • SRv6 SID も見れます! 31 fortiwebvm Peering Portal with NSO Looking Glass Internet
  21. 光データセンターネットワーク ➢Spine-Leaf の間に L1 スイッチを設置 ✓構成変更やトラフィックに応じたトポロジの変更を容易に! ✓片方の Spine スイッチを 100G

    x 2、 Leaf スイッチ間を接続など 32 nexus9336c rgs6930 s6850 nexus93180 polatis 2 芯を 1 芯にして L1 スイッチのポート数を節約 光 L1 スイッチなので インタフェース速度に依存しない! 100G-LR4 Transceiver tx rx tx+rx 1 2 3 2心ファイバ区間 1心ファイバ区間 サーキュレータの動作 Circulator Circulator Circulator Circulator Circulator Circulator Circulator Circulator