SIer Retirement Engineer

日記です。

おうちKubernetesを構築しようとしている話

本記事は、Stockmark Advent Calendar 2022 - Adventarの5日目の記事です。


12月と聞いて大抵の人が思い浮かべるのはクリスマスのことだろう。少なくとも私はそうだ。

幼い頃、日曜の朝に放送される戦隊ヒーローが好きだった。個性的な主人公らが変身する5色のヒーロー、世界征服を企む少しドジな怪人たち、幼くても理解できる勧善懲悪なストーリー。すべてが私の心を掴んで離さなかったが、なによりも好きだったのは、巨大化した怪人を倒すために合体する乗り物。そう、俗に言う超合金ロボである。超合金ロボは私の物欲を目覚めさせた。大抵のものを兄のお下がりで満足していた私は、コマーシャルでみた超合金ロボが欲しくて欲しくて堪らなくなり、たぶん初めて母に物を強請った。

「いい子にしてたらサンタさんがプレゼントしてくれるかもね」

私の誕生日が夏なので、多分それを過ぎていたのだろう。超合金ロボはサンタクロースに託すこととなり、いい子とはどういうものかよく分からなかったけど、なんとなく言うことを聞いていればよいのだろうと思った私は我慢を覚えた。本当は起きたくない朝も、本当は行きたくない習い事も、本当は食べたくないナスやシイタケも、超合金ロボのためなら耐えられた。嫌なものに立ち向かうとき、逃げたいという気持ちを超合金ロボは倒してくれた。超合金ロボはまさに私のヒーローであり神であった。

あの日のことはよく覚えている。

就寝前、本当にサンタさんが来てくれるのか不安になって手紙を書いたこと、薄目を開けて寝たふりしているのを何度も見つかり笑われたこと、朝起きて枕元に包装紙に包まれた箱が置かれていたときの泣きそうな気持ち。

震える手で丁寧に包装紙をはがした。

出てきたものは超合金ロボだった。

上半身だけ。

テレビでは見たことのない、全然知らない超合金ロボの上半身だけ。

この世に神はいないと知った。

あの日から私は無神論者だ。


こんなことを思い出したのは、12月になった今でもRaspberry Piが手に入らないからである。おうちKubernetesを作りたくて今年の4月くらいから探しているけど在庫がない。あったとしても転売の影響で割高になっており、転売を良しとしたくないため未だ購入できずにいる。さすがに年内には手に入るだろうと楽観視していたけど、本当に欲しいものは手に入らないと、上述のように経験則で知っている私は6月に計画を変更した。

もう10年は火を入れていないが、自宅サーバーとして使用していたHP Compaqのdx6120 STが2台ある。これでなんとかならないだろうか。

HP Compaq dx6120 ST

調べてもらうとわかるのだが、dx6120のCPUはPentium 4 550であり、仮想化拡張機能も対応していないためこのままでは使えない。しかし、同じPentium 4の662や672であれば仮想化拡張機能に対応しており、換装することで動かせる可能性がでてくる。メモリやハードディスクも自宅で破壊するほど積んであったものを再利用すれば最低限の利用はできるのではないか。

そう考えた私はメルカリやヤフオクPentium 4の662や672を探した。結局eBayで売っているのを見つけて即購入し、CPUとともにメモリやハードディスクも換装して準備を整えた。頼んだCPUが何日たっても届かなかったり、メモリを4GB以上積むのは不可能だと後から気付いたり、色々あったがここまでは順調だった。なんだかんだで一番障害になったのは施設要件(物理的な置き場)である。


リビングの隣にDIYで設けた2畳にも満たないワークスペースに、省スペース型とはいえデスクトップPCを2台も置く余裕はない。今年はソーシャルディスタンスに注意しながら家族でキャンプに行く予定もあったため、ワークスペースを拡張するDIYに時間を大きく割くことは出来ない。しかし、ワークスペースを拡張しなければデスクトップPCを置く場所がないため、おうちKubernetesの構築は中断したままとなってしまう。

ファミリーキャンプの道具はほぼそろっており、おうちKubernetesの構築はワークスペース拡張が終わらないと進められないため、ワークスペースの拡張作業を効率化して時間を捻出する必要がある。これまでのDIY経験から、一番時間のかかる作業を洗い出してみたところ、木材の切り出し作業に時間がかかっていることがわかったので、手始めにこの作業を改善することにした。

同じ長さの木材を作るために、メジャーで測って線を引くなどの繰り返す手順があり、この作業を改善するだけでもかなりの効率化になると考えられる。また、木材を真っ直ぐ切るためにテーブルに固定する作業だったり、飛び散った木屑を集める作業もかなりの時間ロスになっている。

この辺を一気に効率化するためのツールとしてパネルソーと集塵機を作成した。

パネルソー

パネルソーを作成したことで、繰り返し行っていた長さを測ってテーブルに固定する作業は木材を揃えて切るだけとなり、木材を切る際に集塵装置で木屑を集めることで時間のロスもほぼなくなった。DIYで発生した端材はキャンプの焚き火で燃やしてきたため薪の節約にも貢献することができ、ファミリーキャンプとワークスペース拡張作業は大成功といえるだろう。

元々欲しかったおうちKubernetesの構築だけが進んでいない状況ではあるが、私は本当に欲しいものはなかなか手に入らないことを経験として知っている。満足度の高い改善が行えたことで冷静になれたとか、よく考えたらdx6120でKubernetesクラスターが構築できたとしてもスペック的に使えないかもとか、ちょっと高くても転売じゃなさそうなRaspberry Piを来年買ってから構築しようかなとか、納得度の高い理由も作れたことなので今年のおうちKubernetes計画はこのへんでおイトマさせていただきます。

Dockerfile放浪記

本記事は、ストックマーク Advent Calendar 2021 - Adventarの8日目の記事です。

青春篇

炊飯器の早炊きが15分の壁を越え、3分の代名詞だったカップラーメンは1分タイプの商品が出回るようになり、花金じゃなくたって秒で退勤するこのご時世に、45分とはいかがなものか。

スプリントという煩悩から解脱して良い週末を迎えようと、リリースを金曜日に置いているAstrategyチームにとって、たまに思い出したようにやってくるあいつは1番のガンかもしれない。

GCPバッチのコンテナビルド。

洋の東西を問わず、自然言語処理で1番を自負する弊社にとって避けては通れない、あんちくしょう。

風雲編

EFSを使ってアプリケーションの変更でビルドが走らないようにしてみたり、速いと聞いたpoetryを導入するため長年連れ添ったrequirements.txtを無慈悲に切り捨ててみたり、そもそもたまにしか来ないのだからそんなにムキになる必要もないんだよと自分自身をごまかしてみたりしてきたけれど。

何をやっても効果が見られず、忘れた頃にやってきて、解脱を阻む煩悩タイムをレイアップシュートよろしく置いていく。あの憎いあんちくしょうに一矢報いてやろうと決心したのは、スプリントの改善チケットを切ったのが自分だからでも、アドベントカレンダーのいいネタが思いつかなかったからでもなく、有史より拙速を尊んできた人類として、先の例にもあるような先人達の足跡をここで絶やす事はできないと、Amazon(Web Service、以下AWS)の奥地に向かう覚悟を決めたからである。

激闘編

GitHubという門をくぐりプラチナチケットの如きDockerfileを開いてみれば、ただツラツラと上から下までヒラで書かれたその様が、出目徳、ドサ健、坊や哲を向こうに回し、上州虎を後ろに置いて、今日はなんだか調子がいいぞと、ヒラで打ってる素人の、自分語りのように見えて泣きたくなった。

その地獄行きの片道切符を3枚におろしてマルチステージ・ビルドにすれば美味しくいただけるようになるのだが、いったい自分は何を書いているのだろうという思いが交錯して手が止まりそうになる。でも書き上げるしかない。だってもう4:00だもの。

ログを編集してコマンドラインの説明をしたり、おしゃれな画像でこのコラムを飾るのはもう諦めた。ただ、結果だけお伝えします。大きな変更もなく連続して実行したので参考程度にしかなりませんが、CircleCIのconfig.ymlでBuildKitやdocker_layer_cacheingを有効にして—cache-fromに中間イメージを指定してみたら、45mが45sになりました。

番外編

久しぶりに串カツ田中で浴びるほど飲んでデロンデロンになり、終電で大幅に寝過ごして高くついたタクシー代とチンチロハイボールが何かうまいこと作用して連想された麻雀放浪記〜Classic〜を家の本棚から引っ張り出しウツラウツラと読み始めたのが2:00ちょっと前。気を取り直して—cache-fromにマルチステージ・ビルドの中間イメージを指定するあたりのログを見ながら、目を覚まそうとお風呂でチャプンチャプンしてたのが3:00過ぎくらい。今現在はコクリコクリと再来した睡魔に屈しようとしています。

同時に改善したはずのCPUバッチはキャッシュがあまり効いてなかったり、BuildKitやdocker_layer_cacheing、—cache-fromの何が1番効いたかを個別に確かめる気もなかったりしますが、AWSの奥地に向かう雰囲気どころか覚悟も既に無くしているのでもう勘弁してください。

こんな内容で良いのかなという漠然とした不安はありますが、清濁併せ呑む新たな覚悟と押し寄せる眠気で気付かなかったことにして、本日はこのへんでおイトマさせていただきます。