こんにちは、技術本部研究開発部Architectグループ ML Platform チームの宮地です。 23年度の新卒として入社し半年以上が経過しました。時の流れは早いものです。 普段の業務ではCircuitというkubernetesを利用したアプリケーション基盤を作っています。
社会人になってからは、勉強会やイベントへの参加を全くしていませんでしたが、今回は久々に参加しました。 CNDT2023 Hands-onの「『一日で学ぶクラウドネイティブ技術実践ハンズオン』by CloudNative Days Tokyo 2023 実行委員会」の参加レポートです。
イベント概要
「『一日で学ぶクラウドネイティブ技術実践ハンズオン』by CloudNative Days Tokyo 2023 実行委員会」では、kubernetesエコシステムを取り巻くOSSについて、ハンズオン形式で学ぶことができます。 対象のOSSは以下のとおりです。
- Prometheus
- Grafana
- Open Telemetry
- Cilium
- Argo CD
- Argo Rollouts
- Istio
- Hubble
イベント資料はgithubリポジトリとしてまとめられています。
参加経緯
チームメンバーから面白いイベントがあると聞き、参加を決めました。自身の技術力を高めるためなのはもちろん、Circuitの開発にも活かせると考えたからです。 社会人になってからはなかなか参加する機会がなく久々の参加にワクワクしていました。
ハンズオン
特に興味深かった3つを紹介します。
- Cilium
- Hubble
- OpenTelemetry
それぞれ、マイクロサービスにおけるネットワーキング、可観測性に関わるOSSです。私の所属チームに置いても、改善課題として可観測性があるため、今回のハンズオンでは、特に興味を持って取り組みました。 技術的な詳細は割愛しますが、詳しくはイベント資料を参照ください。
Cilium
Ciliumは、クラウド ネイティブ環境にネットワーキング、セキュリティ、可観測性を提供するOSSです。近年話題のeBPFを利用しているのが特徴的です。ハンズオンでは、ネットワーキングとサービスメッシュの機能を体験しました。 それぞれ、ネットワーキングはCiliumNetworkPolicyを利用しL7レベルの通信制御を、サービスメッシュは、Ingress/Gateway API/Traffic Managementの3種類の方法を利用しました。どの設定においても想定より簡単に操作が可能であると感じたことや、Ciliumの機能が多岐に渡ることを知ることができました。また、先日GAしたばかりのGateway APIの機能を体験できたことも良かったです。
Hubble
HubbleはCiliumのために開発されたネットワークとセキュリティの可観測性を提供するプラットフォームです。ハンズオンでは、Cilium Agent → Hubble Server → Hubble Relayとして提供されるネットワーク情報の観測をHubble CLIとHubble UIを用いて行いました。
Hubbleによって、L3/L4/L7それぞれの通信を簡単に可視化ができました。また、Hubble UIは情報が簡潔で直感的にわかりやすく、詳細に見られる点が非常に使い勝手がいいと感じました。 以下は、Ingress(ingress-nginx)にて公開したHubble UIにアクセスした場合のHubble UIの可視化例です。
OpenTelemetry
OpenTelemetryは、分散トレーシング、メトリクス、ログを収集するためのクラウドネイティブなAPIとSDKのセットです。ハンズオンでは、OpenTelemetry Collectorでメトリクス・ログ・トレースを扱う方法と、OpenTelemetry SDKを用いて分散トレースを行う方法を用いました。 分散トレースにはあまり馴染みがなくサービスをまたぐ可視化は便利だと感じました。また、OpenTelemetry Collectorは、メトリクス・ログ・トレースを一元管理できるため、可観測性を高める上で非常に有用だと感じました。
おわりに
本イベントの参加を通して、クラウドネイティブ技術の進化の速さに驚きました。ハンズオンでは一日で多くの技術にふれることができましたが、まだまだわからない事だらけで実際に利用するには勉強が必要だと感じました。この経験をCircuitの開発にも活かしていきたいと思います。
最後に、本イベントを企画してくださった、CloudNative Days Tokyo 2023 実行委員会の皆様、ありがとうございました。
研究開発部では、MLOps/DevOpsエンジニアを募集しています。