百日半狂乱

Shut the fuck up and write some code!!

builderscon tokyo 2019 に当日スタッフとして参加してきた。 #builderscon

builderscon tokyo 2019に当日スタッフとして参加してきた。

builderscon tokyo 2017は当日スタッフとして、builderscon tokyo 2018はコアスタッフとして参加して、今回で3回目のスタッフとしての参加となった。

全てを準備してきたコアスタッフの皆様、当日スタッフの皆様、お疲れ様でした。

今回も例年通りスタッフ業を通して体験したことや、極々個人的なことを忘れる前につらつらと書き下しておこうと思う。

続きを読む

読了、Goならわかるシステムプログラミング: Linuxシグナル再訪 in Go

Goならわかるシステムプログラミングを読んだ。

「第12章 シグナルによるプロセス間の通信」の冒頭で大昔に書いたブログ記事が引用されていてぶったまげる*1と同時に、ちょうど良い機会なのでGoの素振りも兼ねつつシグナルを再訪してみる。

SIGSTOPで停止したプロセスにSIGKILL以外のシグナルを送ってもSIGCONTを送るまでシグナルがキューイングされる

元記事では、シェルスクリプトで呼び出したsleepコマンドをSIGSTOPで止めてからSIGTERMを送っても、SIGCONTで再開するまで送ったSIGTERMがキューイングされて、sleepを即座に終了できないことを確認した。

ただ、当時は観測する以上の突っ込んだ議論ができなかったので、今回は特にシグナルのキューイングについて、もう少しだけ詳細に実装を見る。

*1:実際には会社の先輩に教えてもらってぶったまげてから1年以上経ってしまった...

続きを読む

builderscon tokyo 2018 にスタッフとして参加してきた。 #builderscon

去年のbuilderscon tokyo 2017は当日スタッフとして参加して、そのClosingでカンファレンスのコンセプト*1に共感して、

youtu.be

それでも結構悩んで色々考えた結果、コアスタッフとして参加することにしたのが去年の11月くらい。

カンファレンスの準備から関わったのが今回が初めてだったけど、そこからなんだかんだ色々やらせてもらって、builderscon tokyo 2018は2018/09/08の本編2日目をもってひとまず終了した。

関わったスタッフの皆様、本当にお疲れ様でした。

ここでは、忘れ去る前に、色々スタッフ業を通して体験したことや、極々個人的なことをつらつらと書き下しておこうと思う。

*1:"This is your opportunity to jump out of your comfort zone."

続きを読む

Nodeのマシンタイプをケチって覚えたdebugging kubernetes

GKE上に立ち上げている自前のkubernetesのClusterは、一番安いという理由だけでg1-small*1を使い続けていた。しかし、いざ複数のPodを追加したりし始めると、Nodeのリソース不足が原因で色々ハマったので、そこで覚えた細かいデバッグ手法を例のごとく逆引き辞書っぽくメモしていく。ついでにリソースとは無関係なkubernetesのネットワーク関連でハマったこともメモ。すでに使い込んでいる人にとって目新しいものはない気がする。

以下、例となっているPodのデプロイは、状況を再現しやすいという理由だけで手前味噌のprometheus実験レポジトリを元に行っているのでprometheusが云々と多少言っているが、基本的にPodの内容がなんであれ、リソースが足りなくなった場合に何が起こって、kubectlで何を確かめれば良さそうか、という点を中心に書き下していく。

*1:値段を改めて調べて気が付いたが、preemptible VMsでGKE上にkubernetesのClusterを立ち上げることができるっぽい。しかもかなり節約になる。くっ...!!

続きを読む