渡辺 裕太(KDDI株式会社) 福井 良平(KDDI株式会社) 佐藤 亮平(KDDI株式会社) |14:45|15:30 2024.11.122025.01.22 ### 概要 現状、ネットワーク機器新規導入時のコンフィグやチューニングはオペレーターによる設計・手順書作成・手動コマンド投入といった人手によるオペレーションが大部分を占めており、今後ネットワークを拡張・高度化していく中で大きな課題となっている。 そのため、KDDIでは人手によるオペレーションから脱却すべく、ソフトウェアの世界観をネットワークへ活用していくことを検討している。 今回、コンテナオーケストレーションソフトウェアとして知られているKubernetesを活用し 抽象的な入力から具体的な設定値を自動で設計・適用を行う”Intent-Driven”のアプローチを実現し、評価を行なった。 評価対象としてはトラフィックの偏りを平準化するトラフィックチューニング作業を題材に、KubernetesのAPI拡張機能であるCustom Resource/Custom Controllerを活用することで、抽象的なチューニング指示の入力からデータベースと連携したパラメータアサイン、必要なコンフィグの生成、及び装置へのコンフィグ投入までの自動化をIntent-Drivenにより実現した。 将来的には機器から取得したテレメトリーを元にした自律的なネットワーク制御を実現していくべく、さらなる検討を行なっている。 技術実証内容・評価結果を共有し、自律的なネットワーク制御を行なうネットワークの新たな未来を議論したい。 ### 議論ポイント ・設計・作業自動化の進め方 自動化を進めるにあたり、全体方針としてのシステム的な大きな枠組みによる自動化と 自分達の手先の作業を楽にするような部分的な自動化という進め方とがあると考えている。 それらをうまく統制取りながら進めるうえでの課題や方法論について議論したい。 ・自動化できる部分と手作業が残る部分の兼ね合い 自動化に取り組む中で、技術的課題のほかに心理的・信頼性の問題や社内事情等で 自動化の商用適用を見送る作業もあると思われるが、どのような観点で自動化すべき作業/手作業を残すべき作業を判断するか そしてどのように統合していくべきかについてを議論したい。 ・構成管理 本格的に自動化を進めるうえでは、構成情報をデータ化し一元的に管理することが 前提条件となってくる。必要な情報を構成管理していくために、現状の管理方法の整理やそこからどのように移行していくべきかを議論したい。 ・ソフトウェア活用 ソフトウェアを活用した自動化を行なううえで、ベンダー製品やオープンソースソフトウェアといった選択肢がある。 どういったメリットデメリットがあるか、どのように採用を検討していくべきかを議論したい。 また、自動化の開発・検討体制としてネットワークエンジニアがソフトウェア技術を磨いていくべきか、ソフトウェアエンジニアの体制を新たに組んでいくべきかについても議論したい。 ・Kubernetesを用いたアプローチ Kubernetesを用いたNWコントローラ開発においては、「Custom Resource/Custom Controllerを用いたOperatorとしての実装」と「コンテナアプリケーションとしての実装」があると考えているが、 開発言語(Go,Python等)やSDK(Kubebuilder/Operator SDK等)の観点でどういったメリットデメリットがあるのか、どのようなケースにそれぞれが適しているのか議論したい。 ### 場所 第3展示場A ### 日時 Day2 2025年1月23日(木) 14:45~15:30(45分) ### 発表者 渡辺 裕太 Yuta Watanabe KDDI株式会社 福井 良平 Ryohei Fukui KDDI株式会社 ### 公開資料 [発表資料](https://www.janog.gr.jp/meeting/janog55/wp-content/uploads/2025/01/janog55-k8s-watanabe_fukui_sato.pdf) ## メモ - NW自律化 - Intent-Driven - こうあるべきという意図をベースとした考え方 - Intentを抽象度に応じる - Closed loop - ![[Pasted image 20250123150223.png]] - NWコントローラ経由でNW機器に反映 - CR/Custom Controllerにより、Intent定義内容をNWに反映 - [[gNMI]]を利用 - 設定投入/情報取得部分は、優先してOpenConfigを活用 - kubebuilderで開発。GoがPythonとかと比べると少ない。 - 課題 - k8s管理大変 - ネットワークのモデリング課題 - Q&A - 小谷先生 Desired StateとActual Stateをどう定義したのか? Actual Stateがかわってしまうケースはネットワークではあまりない。課題。 コントローラの抽象度の分け方はまだあまりうまくできていない。 - NTTcom 田嶋さん カスタムリソースの同期が必要になってくる。static & dynamic がある。configとステータスわけたときに同じモデルでいいのか? - リソース数は1000のスイッチとかある。相当のリソース数になってしまう。APIサーバが耐えられない。コントローラも耐えられない。 - 自分たちでReconcile Loopを実装したほうがいいのでは? - 現在の状態をいかに取り入れるか? - 具体的に検討できていない。先にintentが入っている状態で、なにかおかしかったらintentが書き換わっている。 - Operatorの入れ物としてのk8sだとつらい?CNI活用があれば。 -