distrolessの中身、Scheduler停止、分散システム半壊──実験で深掘りするクラウド/インフラ/SRE【#も読】のトップ画像

distrolessの中身、Scheduler停止、分散システム半壊──実験で深掘りするクラウド/インフラ/SRE【#も読】

投稿日時:
馬場 俊彰のアイコン

株式会社X-Tech5 / 取締役CTO

馬場 俊彰

Xアカウントリンク
「あの人も読んでる」略して「も読」。さまざまな寄稿者が最近気になった情報や話題をシェアする企画です。他のテックな人たちがどんな情報を追っているのか、ちょっと覗いてみませんか?

こんにちは。馬場(netmarkjp:Bluesky/X)です。

わたしは「#ばばさん通信ダイジェスト」として、BlueskyやThreadsに毎日少しずつ、賛否関わらず話題になった/なりそうなものを共有しています(Bluesky検索)。

これらをベースに、特にクラウド/インフラ/SRE/オブザーバビリティ/運用等のキーワードに関する話題を中心にお届けします。

distrolessの「らしい」を「確かに」にする好奇心とプロフェッショナリズム

distrolessコンテナイメージを「なんか軽くてセキュアらしい」で終わらせず、中身と実用上の意味を具体的に確認したエントリーです。

scratchだと何が困るのか、distroless/staticだと何が足りていて何が足りないのか、コンテナの中身を展開して探索しています。

素晴らしい好奇心だし、素晴らしいプロフェッショナリズムだと感じます。自分自身が納得するというのもあるけれど、プロフェッショナルとして説明責任を果たせるようになるという意味で、とても価値のある姿勢です。

堅いことを言いましたが、エラーは仕組みと制約を知るためのヒントですから、このように探索していくのは純粋に楽しいものでもあります。「わかる」「できるようになる」は楽しいし面白いですよね。

アプリケーションプログラムが動作するためには、アプリケーションプログラム本体とカーネルの他にも色々なものが必要です。dnf / yum / aptなどのパッケージマネージャーでインストールするような、システムライブラリーやCA証明書、tzdata等は普段あまり意識しませんが、「ないとどうなる」が実際に試せるのは貴重な経験です。

マイクロな環境から、実行時に必要なものだけへ絞り込んだ構成を目指す。そんな「何もないところから厳選して足していく」感覚を体験する切っ掛けになるでしょう。

さらっと「コンテナの中身を展開して」と書きましたが、実はdocker exportするとコンテナのファイルシステムをtarアーカイブで取り出せるので、tarコマンドで展開して中身を確認できるのですよね(ただしボリュームはtarアーカイブに含まれません)。これは仕組みと中身を知ろうとしないと遭遇しない知識なので、知らない方も多いかもしれません。Microsoft Officeのファイル(.docxや.xlsx)が実はZIPアーカイブだというのを、知っている人は知っている、というのと似た感覚があります。

Kubernetesの「わかった」レベルを上げる好奇心とプロフェッショナリズム

Kubernetesを学び始めた著者が、著者曰く「AIの指示通りにただコマンド打つマン」の状態から脱却するために、Podが起動するまでの仕組みを実験で追ったエントリーです。

ローカルの検証環境で、Podをどのノードに割り当てるかを決めるSchedulerを止めてみて、予想通りの挙動になるか確認する、という検証まで踏み込んでいます。

仕組みを知る → ハッピーパスで確認する → 意図通りにカスタマイズできるか検証する、という段取りで仮説検証を重ねており、とても丁寧なアプローチです。

前のエントリーと同様、素晴らしい好奇心だし、「わかる」「できるようになる」は楽しいし面白いものです。それに素晴らしいプロフェッショナリズムだと感じます。自分自身が納得するという意味もありますが、プロフェッショナルとして「なぜそうなるか」を説明できるようになるという意味でも、こういう姿勢はとても価値があります。

どんなジャンルでも、意図通りの挙動を引き出せるようになり、カスタマイズの影響が予測できるようになると、ひとやま越えた感じがしますよね。これは情報処理技術に限った話ではなく、スポーツでの体の動かし方なんかでも同じだと思います。

分散システムのリアルに迫る好奇心とプロフェッショナリズム

実験を通じて、分散システムでよく言われる『ノードが完全に死ぬよりも、中途半端に死んでいるほうが厄介』を、実際に手を動かして実験し、検証したエントリーです。

この実験では、3台構成のクラスターのうち1台で、50%のパケットロスを意図的に発生させています。エントリー内ではこのノードを『ゾンビノード』と呼んでいます。

さて、3台中1台で50%のパケットロスが発生したとき、クラスター全体の応答性能はどうなるでしょうか?ぜひ自分なりに予想を立ててから読んでみてください。可能であれば手元で実験してみると、理解がさらに深まると思います。

この記事のつづきを読もう
新規登録/ログインしたらできること
  • すべての記事を制限なく閲覧可能
  • 限定イベントに参加できます
  • GitHub連携でスキルを可視化
ログイン
アカウントをお持ちでない方はこちらから新規登録

あの人も読んでる

「あの人も読んでる」略して「も読」。さまざまな寄稿者が最近気になった情報や話題をシェアする連載企画です。