なんもわからんな

kubebuilderでcrdを作ってみた

経緯

digdagのworkerをkubernetes上で動かしていたが、普通のhpaではタスク実行中のworker podが殺されてスケールインしてしまうことがあったため. タスクを完了せずにスケールインしてしまうと他のworkerでタスクを再実行する挙動になるので時間を浪費してしまう.

つくりかた

digdagのタスク実行に関するところは、postgresqlにクエリ叩いて確認したり、以下の記事を読み込んでみたりした。

digdagのUTからtaskが実際に実行されるまでの流れ · GitHub

kubebuilder周りは、とりあえずこの辺りのコードを読んで雰囲気を感じ取った

github.com

controller-runtimeのAPIを叩けばいい感じにリソースが取れるってことが分かった。 取れるのは分かったけど実装方がわからないときは, kubernetes slackのkubebuilder channelの過去のログを検索して、それっぽいgolangコードを参考にした。

できたやつ

github.com

実質3日くらいで作った。割と簡単だった。

次やりたいこと

この論文を読んで、チャーハンのプロを作りたい 多本腕バンディットチャーハン