ダイキンの空気清浄機MCK70VBKを買った

花粉シーズンも近づいているのでいい加減空気清浄機買おうと思って買った。壊れなければ5年くらいは使うだろうと思い、結構性能のよいものにした。でかいが、今後引っ越して部屋が広くなっても安心。ビックカメラオリジナルの型番らしいが、何が違うのかはよくわからない…

新年カレー会でサンバル

恒例のカレー会が開催されたので、今回はサンバルに挑戦した。ムングダルとサンバルマサラを通販で購入し、残りはスーパーなど。冷凍カレーリーフではなく乾燥カレーリーフを使った。

ムングダルを煮ているところ。40分でドロドロになるので、その間に野菜やスパイスの仕込みをしていく。

40分経過したところ。ヘラでかき混ぜないと鍋の底が焦げ付くということがわかった。

別途調理した野菜と合わせて完成。塩は気持ち多目にいれるといい感じになる。タマリンドペーストももうちょっと多くてもよかったかも?しかし、これ、豆を事前に戻さなくていいのですごく楽。野菜も季節のものを使えばいいし。カレーリーフの入手が難しいのがネックだが、通販で探してまとめ買いしておけばいいかなあ。1人前でも手軽に作れそう。

これは事前に作って持っていったレッドオニオンのアチャール。これも手軽に作れるので、常備してもいいなあ。

他はグリーンカレーや海鮮美味いもので、新年会という感じだった。日本酒飲みすぎて撃沈したので今年は控えていきたい…

CustomControllerでinformerを使ってリソースの追加や更新といったイベント毎に処理を行う

Hello Custom Controller!ではカスタムリソースの取得を素朴にループで実装している。しかし、code-generatorにはinformer-genというコマンドがあり、これを使うとリソースの追加や更新、削除といったイベントに対応して任意の処理を実行することが出来る。コードの見通しもよくなるので、informerを使った形に書き換えてみよう。

準備

kubernetes v1.12.3を使う。minikubeで環境を作成:

  • go: v1.11.2

informer用のコードを生成する

code-generatorのinformer-genを使う。

コントローラーの実装

informerを素朴に使った実装は以下の通り。リソースの追加、更新、削除に対応して任意の処理を実行できる。

後はビルドしてデプロイするだけ。注意点として、使用するサービスアカウントがリソースをwatchできる必要があるのでRoleの更新が必要。

カスタムリソースを追加するとaddFunc関数が呼び出されることが確認できる。

informerを使えばイベントに応じて任意の処理を書くことが出来る、ということを確認出来た。code-generatorでコードを生成できるので、基本的にはinformerを使っていくのがよさそうだなあ。