Slide 1

Slide 1 text

コンピューティング資源を統合した 分散コンテナ基盤の進化 Interop Tokyo 2024 ShowNet NOC チームメンバー 明石 邦夫 織 学

Slide 2

Slide 2 text

ShowNet 2024 DC-Cloudチームのテーマ ➢コンピューティング資源を統合した分散コンテナ基盤の 進化 ✓クラウドネイティブな次世代サービス基盤 ✓多拠点間に分散するコンテナマネージメント ✓複雑化するインフラ基盤のためのオブザーバビリティ 2

Slide 3

Slide 3 text

今年のDC/Serviceセグメント 3

Slide 4

Slide 4 text

4 クラウドネイティブな 次世代サービス基盤 複雑化するインフラ基盤の ためのオブザーバビリティ 多拠点間に分散する コンテナマネージメント

Slide 5

Slide 5 text

今年の仮想化基盤・コンテナ基盤 ➢仮想化基盤 ✓vSphere • CPUコア数: 168 • メモリ: 2.5TB • ストレージ: 2PB • 仮想マシン: 35 ✓Nutanix • CPUコア数: 144 • メモリ: 1.5TB • ストレージ: 15TB • 仮想マシン: 35 5 ➢コンテナ基盤 ✓クラスタ数: 8 • Ocp, ocp2, ntnx, vanilla, sdpf, jk8s, jocp, eks ✓総ノード数: 54 ✓Pod: 990 ✓Deployment+DaemonSet +StatefulSets: 346 ✓Azure Stack HCI • CPUコア数: 72 • メモリ: 512GB • ストレージ: 7.5TB

Slide 6

Slide 6 text

➢Apstra によるネットワークの統合管理 ➢ECMP でのコンテナアプリのスケールアウト 6 Exos-corvault ucs-c240m7 qfx5120 qfx5120 nexus93180yc nexus93180yc nexus9332c nexus9332c NSX apstra nexus9300v panoptica zabbix openshift ➢仮想化基盤向けの EVPN VXLAN ➢コンテナ基盤向けの eBGP によるL3 接続 ucs-c240m7 今年の仮想化基盤・コンテナ基盤

Slide 7

Slide 7 text

➢仮想マシン、ストレージ用に EVPN/VXLAN ✓ゲートウェイは anycast gateway ✓Switch-Server 間は 10/25G 接続、ストレージは 100G iSCSI ✓Apstra による管理 仮想マシン向け L2 ネットワーク 7 nexus9332c nexus9332c Exos-corvault ucs-c240m7 esxi qfx5120 dl380-gen11 nexus93180yc

Slide 8

Slide 8 text

ネットワークの統合管理 ➢Apstra によるインテントネットワーク 8 ➢テレメトリによる監視 ➢IP アドレス、AS番号などの リソース管理 ➢EVPN VXLAN での L2 延伸 ➢VXLAN Stiching による DC Interconnect ➢コンテナ基盤向けの eBGP 接続 ➢ECMP によるコンテナアプリの スケールアウト

Slide 9

Slide 9 text

Nutanix IaaS 基盤 ➢Nutanix 仮想化基盤 ✓Cisco UCS C240M7 3 台でのクラスタ構成 ✓Kubernetes も多数動作 ➢Cisco Intersight と連携も可能 ✓イメージデプロイ ✓ハードウェア管理など 9

Slide 10

Slide 10 text

vSphere IaaS 基盤 ➢仮想アプライアンスが多数動作 ✓OpenShift、Tanzu なども ➢NSX による分散Firewall ✓仮想アプライアンスの防御 ➢ストレージに Exos CORVAULT ✓4U サイズで 2PB の高密度ストレージ 10

Slide 11

Slide 11 text

コンテナ基盤 ➢複数の Kubernetes を展開 ✓VMware Tanzu ✓Nutanix Kubernetes Engine ✓AKS on AzureStack HCI ✓Vanilla Kubernetes ➢今年のチャレンジ ✓Multi-Cluster K8s ✓DoH/DoT 11

Slide 12

Slide 12 text

コンテナ基盤の基本構成 ➢k8s 上のコンテナ、仮想ルータで BGP ✓サービスが定義されるとそのアドレスを広告 ➢ストレージは IaaS 上のストレージと Exos を iSCSI で 12 12 nexus9332c nexus9332c Exos-corvault ucs-c240m7 esxi qfx5120 dl380-gen11 nexus93180yc nke vanilla openshift tanzu avi jcnr サービス定義から /32、/128 でアドレ スを広告

Slide 13

Slide 13 text

コンテナネットワーク ➢マルチクラスタを構成するため calico ✓jcnr を動作させるところのみ JCNR-CNI ✓worker node 間は VXLAN で接続 ✓Kube-proxy には ipvs • サービストラフィックは基本的に ExternalTrafficPolicy: Local ➢サービスの冗長構成は ✓BGP の ECMP ✓k8s 内の Pod Network で分散 などで構成 13 unbound memcached cluster dnstapcollector dhcp2 metallb ns unbound memcached cluster dnstapcollector metallb ns unbound memcached cluster dnstapcollector dhcp1 metallb ns

Slide 14

Slide 14 text

コンテナルータ JCNR ➢クラウドネイティブルータを kubernetes へ ✓Service アドレスは BGP でアドバタイズ ✓コンテナネットワークを VRF で作成 ✓Worker Node 間は SR-MPLS で構成 14

Slide 15

Slide 15 text

➢k8s API と連携して動作する仮想マシンベースの LB ✓avi kubernetes operator (AKO) が virtual service オブジェクトを管理 • k8s にサービス定義→ AKO が vSphere 経由で avi-1,2 へ avi-2 NSX Advanced Load Balancer (Avi) 15 avi-1 avi controller tanzu worker nodes AKO AKO AKO

Slide 16

Slide 16 text

ShowNet 2024 DNS cache ➢ShowNet 2024 では少し違う構成 ➢DNS cache には unbound ✓unbound の backend に memcached ✓Pod が増えても memcached がキャッシュしている ✓unbound 内のキャッシュに見つからない場合 memcached に問い合わせ ✓memcached にもない場合だけ外部に問い合わせ ➢DNS のクエリログは dnstap で転送 16 unbound memcached cluster metallb unbound memcached cluster metallb unbound memcached cluster metallb memcached service

Slide 17

Slide 17 text

DoH/DoT ➢今年の ShowNet は DNS cache サーバで DoH/DoT を有効に ✓証明書は kubernetes で管理 ✓Bootstrap アドレスは Discovery of Designated Resolvers (DDR) で通知 17 nexus93180yc nexus93180yc unbound unbound unbound ShowNet Backbone サーバへは ECMP で分散 unbound.conf 証明書 k8s の etcd から VolumeMount

Slide 18

Slide 18 text

DoH/DoT の割合 18 ➢DoH は 3~4 割、DoT は 1 割程度 ✓macOS、iPhone などが DoH ✓Android は DoT 多め

Slide 19

Slide 19 text

➢RoCEファブリックの相互接続、ECN/PFCのテスト ➢HCIとAKSのAzure連携、コンテナ脆弱性の可視化 DC 全体設計 19 nexus-dashboard qfx5120 nexus93180yc nexus9332d nexus9408 dl380-gen11 Azure Kubernetes Service Prisma-cloud

Slide 20

Slide 20 text

➢TestCenter A1 から 100Gbps のトラフィックを送信 ✓RoCEv2 エミュレーション ✓各スイッチが DCQCN によって トラフィックを抑制できるかの検証 ➢輻輳制御によって送信レートが 22Gbps まで調整されることを確認 ロスレスネットワーク検証 20

Slide 21

Slide 21 text

コンテナセキュリティ ➢コンテナ基盤上で動くアプリのトラフィックやイメージの 脆弱性検査 21

Slide 22

Slide 22 text

コンテナセキュリティ ➢コンテナ基盤上で動くアプリのトラフィックやイメージの 脆弱性検査 22

Slide 23

Slide 23 text

Kubernetesマルチクラスタ ➢構成/用途に応じてSubmariner(L3)とSkupper(L7)を使い分けてクラスター間接続 ➢Advanced Cluster Management for Kubernetesでマルチクラスタを一元管理 23 submariner-gw skupper-router submariner-gw submariner-gw skupper-router skupper-router open-cluster- mgmt-hub DL380 Gen11 prisma-cloud Azure Kubernetes Service

Slide 24

Slide 24 text

2種類のインターコネクト ➢Submariner ✓IPSecで接続 • Linuxカーネルで処理 ✓フルメッシュのみ 24 node1 LightHouse DNS Route Agent gw Gate way Global Net Route Agent Cluster X hello Pod Cluster Y Cluster X namespace B namespace A Service skupper- router skupper- service- controller Service skupper- router skupper- service- controller AMQP Link connector listener connector client ➢Skupper ✓AMQPで接続 • 全てユーザーランド で処理 ✓柔軟なトポロジー node2 LightHouse DNS Route Agent node1 LightHouse DNS Route Agent Cluster Y node2 LightHouse DNS Route Agent gw Gate way Global Net Route Agent IPSec tunnel

Slide 25

Slide 25 text

ShowNet/Cloud 連携 (1) ➢ShowNet と SDPF クラウドを L2 接続 ✓Kubernetes のマルチクラスタを構築 25 control-plane control-plane control-plane worker worker worker c8000v c8000v c8500 c8500 control-plane worker control-plane worker ShowNet

Slide 26

Slide 26 text

ShowNet/Cloud 連携 (2) ➢Azure Arcでハイパーバイザ、仮想マシン、コンテナを統合 管理 26 ShowNet Azure Stack HCI opsramp-agent twistlock submariner-gw Azure Virtual Desktop HPE Deployment Automation Windows Admin Center Azure Kubernetes Service HPE DL380 Gen11

Slide 27

Slide 27 text

Special Thanks 27