😎

Kubernetes Operatorの不具合を分析した論文の紹介など: Neco Weekly (2024-10-04号)

2024/10/10に公開

Neco Weekly (2024-10-04号)

サイボウズ Neco チームでは、 Neco Weekly という「最近気になる Kubernetes や Cloud Native 関連のネタを共有する会」を社内で開催しています。
本記事は共有会の中で紹介したネタをまとめたものです。

今回は第63回目の記事となります。

👀 Notable Articles

An Empirical Study on Kubernetes Operator Bugs

https://dl.acm.org/doi/10.1145/3650212.3680396

著名な36個のKubernetes Operatorの不具合を分析した論文の紹介です。

Operatorのバグのパターンとして、RBACの設定ミス、不正なCRD(required/optionalの設定ミスや、フィールドの型間違い)、リソースの変更監視のミス、Reconciliationの実装ミスという4つが挙げられていました。
Operatorを実装したことがある人には、あるあるな内容だと思います。
他にもバグの発生原因や発生時の影響、バグの修正方法についても分析されていました。

また、論文内でactoというOperatorのテストツールが紹介されていました。
https://github.com/xlab-uiuc/acto

これは、さまざまなパターンのカスタムリソースを入力として与えてOperatorの振る舞いをテストするツールとのことで、自分たちで開発しているOperatorにも使えそうなので、試してみたいなと思いました。

ConfigMap/Secret の修正が Pod に反映されるまでには 1 分以上かかる

https://zenn.dev/kariya_mitsuru/articles/2a06987a003c54

ConfigMapやSecretリソースの内容を書き換えた後に、Podがその変更を読み込めるようになるまで時間がかかる理由を詳細に解説している記事です。

このあたりの詳しい挙動は知らなかったので、とても面白く読むことができました。

Common Expression Language(CEL)でKubernetesのマニフェストのValidationを行う

https://zenn.dev/yashirow/articles/034eece387a354

CELによるValidatingAdmissionPolicyの解説記事です。

基本的な使い方だけにとどまらず、ValidatingAdmissionPolicyの挙動の解説やメトリクスの使い方まで紹介されていて、とても参考になりました。

Write Your Next Kubernetes Controller in Rust

https://kty.dev/blog/2024-09-30-use-kube-rs

ktyというKubernetes向けツールの開発者が、RustによるKubernetesのコントローラーの実装方法を紹介している記事です。

Kubernetesのリソースの取得でResult<>型を返してくれる、traitを使ってPodのログを取得するような機能を簡単に拡張できる、取得するリソースの型が分からない動的な型も扱える、reflectorという仕組みによりイベントを扱える、マクロ機能によりCRDを自動生成できる、などの特徴が紹介されていました。

🤝 Events

CNDW2024 CFP

https://event.cloudnativedays.jp/cndw2024/speakers/guidance

11月28日~29日に、CloudNative Days Winter 2024が開催されるそうです。
プロポーザルのエントリー締め切りは10月14日までとのことなので急ぎましょう!

サイボウズ Necoチーム 😺

Discussion