新しいログ基盤VictoriaLogsの紹介など: Neco Weekly (2023-06-30号)
Neco Weekly (2023-06-30号)
サイボウズ Neco チームでは、 Neco Weekly という「最近気になる Kubernetes や Cloud Native 関連のネタを共有する会」を社内で開催しています。
本記事は共有会の中で紹介したネタをまとめたものです。
今回は第36回目の記事となります。
👀 Notable Articles
障害対応プロセスを改善してきた話
10X さんが障害対応プロセス改善として、障害報告書のフォーマットを用意したり、Incident Bot を作成したりした話。
我々も似たような課題を抱えているので、この Incident Bot は真似してみたいなと思いました。
マルチテナント型EKSを活用したプラットフォームエンジニアリングの光と闇
DMM さんによるプラットフォームエンジニアリングに関する話。
Neco チームと同じく1クラスターマルチテナント構成なので、課題も似ているところが多くかなり共感できました。
Verifying Container Image Signatures Within CRI Runtimes
CRI でコンテナイメージの署名を検証する方法についての記事です。
この記事ではコンテナランタイムとして CRI-O を使っていますが、将来的には containerd などでも使えるようになって欲しいですね。
コンテナランタイムの仕組み及び最新の動向
https://twitter.com/AkihiroSuda/status/1671625251820802049
NTT の須田さんが京都大学で講義された際の資料。
コンテナの歴史や基本的な仕組みの話から、Lazy-pulling, Rootless container, WASM などの最新の動向まで幅広くカバーされていて、とても勉強になりました。
Build better PromQL queries with Grafana's metrics explorer
Grafana 10.1 から metrics explorer という機能が追加され、メトリクスのあいまい検索や、Type や Help での検索ができるようになるようです。
PromLens に似た機能があるのですが、それが Grafana でも使えるようになるのは嬉しいですね。
https://piotrminkowski.com/2023/06/29/testing-gitops-on-virtual-kubernetes-clusters-with-argocd/
vcluster で Kubernetes クラスタ上に仮想クラスタを構築し、その環境に Argo CD でマニフェストを適用し GitOps のテストをする方法についての記事です。
vcluster と Argo CD の詳細な設定方法まで解説されているので、実際に試してみたいときに参考になりそうです。
Go1.22からfor loopの挙動が変わるかも!?~Goの仕様を考える~
Go 1.22から「:=
を使っているfor loopでは、ループ変数は異なるインスタンスとして宣言される」という変更が入る可能性があるそうです。
多少のオーバーヘッドがあるかもしれませんが、for loop の中で goroutine を使って並列処理を書くときにやりがちなバグを防げるので、この変更が入るのは嬉しいですね。
Leveraging OpenTelemetry to Fix Flaky Integration Tests
OpenTelemetry でテストのトレースデータを集めることで flaky test が見つけられるようになったという話。
ElasticsearchをCPU利用率でオートスケールさせる
ECK (Elastic Cloud on Kubernetes) では HPA (Horizontal Pod Autoscaler) によるオートスケーリングに対応していないため、カスタムコントローラーを作って対応したという話。
Kubernetes は、カスタムコントローラーを作成することで必要な機能追加できるのがいいところですよね。
とはいえ ECK には HPA の対応を正式にサポートして欲しくあります。
🛠️ Tools, Frameworks, Libraries
VictoriaLogs
VictoriaMetrics 社による新しいログ基盤 VictoriaLogs が発表されました。
現在はまだプレビュー段階ですが、既存のプロダクトと比べて設定が簡単で、CPUやメモリやディスクの使用量が少ないのが特徴のようです。
また、LogsQL というクエリ言語でログの検索がおこなえるようです。
Neco チームではメトリクスの管理に VictoriaMetrics を、ログの管理に Grafana Loki を利用しているので、非常に気になるところです。
上記の記事では Elasticsearch と VictoriaLogs のパフォーマンスを比較していますが、Grafana Loki との比較もみてみたいですね。
📘 Books
Kubernetesの知識地図 ——現場での基礎から本番運用まで
サイバーエージェントの方々が執筆した Kubernetes の運用に関するムック本です。
Kubernetes のバージョンアップやクラスタの分離戦略など、かなり実践的な内容が含まれているのでとても気になります。
あとがき
最近Necoチームからの情報発信があまりできていないので、下期はもう少しブログを書けるように頑張りたいです。
Discussion