タグ: #kubernetes
GPU・LLM・MLOps・Kubernetes、そしてマインドセット · 247 件
3行の設定ファイルが GPU 4枚を1週間殺した — containerd ドロップイン統合の真実
ノードが GPU を広告しませんでした。設定ファイルには nvidia ランタイムがちゃんと書かれているのに、containerd config dump には存在しませんでした。犯人は1週間前に入れた3行のレジストリ設定で、理由は containerd の imports 統合がフィールド単位ではなくプラグイン単位の丸ごと置き換えだからでした。二度まちがえて診断した過程と、最後に答えをくれた実験をそのまま書きます。
2026-08-26 · 21 分で読めます #kubernetes#containerd#gpu#nvidia#troubleshooting自宅サーバーでハンズオン学習プラットフォームを作る — 特権なしの Pod の中に Kubernetes を入れる方法
受講者がボタンを押すと専用コンテナが立ち上がり、ブラウザ内のターミナルで本物の Linux シェルを触り、ステップごとにサーバーが実際の状態を検査して採点する学習プラットフォームを、自宅にある 7 ノードの Kubernetes クラスタの上に載せた記録です。いちばん難しかったのは機能ではなく隔離でした。ハンズオンなので受講者に root を渡さなければならないのに、その root が自宅ネットワークへ出ていってはいけません。Ciliu
2026-08-20 · 27 分で読めます #kubernetes#cilium#security#homelab#kwokLabHub — ブラウザで本物のサーバーを触りながら学ぶハンズオン学習プラットフォームを公開しました
読むだけでは身につかないものがあります。サーバーにつないでコマンドを打ち、間違え、なぜ間違えたのかを確かめる過程を代替する方法はありません。LabHub は、その過程をブラウザの中に入れた学習プラットフォームです。ラボ開始を押すと専用の Linux コンテナが即座に立ち上がり、ブラウザのターミナルからつないで課題を解き、ステップごとにサーバーが実際の状態を検査して合否を返します。ラーニングパス 12 本にコース 73 本、ラボ 261
2026-08-20 · 13 分で読めます #labhub#kubernetes#devops#education#hands-onLangfuseのセルフホスト — 配備経路、シークレット、そして初回起動で引っかかるもの
Langfuseを自分で運用するには、コンテナ二つとデータストア四つを同時に立てる必要があります。本記事は公式ドキュメントを基準に、docker compose の経路とHelmチャートの経路をそれぞれ整理し、必ず自分で作って入れるシークレットは何か、PostgresとClickHouseの接続文字列がなぜ二つずつ必要か、オブジェクトストレージの設定でMinIOが要求するオプションは何かを押さえます。マイグレーションが自動で走る仕組みと
2026-08-14 · 15 分で読めます #observability#langfuse#self-hosting#docker-compose#kubernetesコンテナインフラの世代交代 — 場所を譲った11プロジェクトが残したもの
かつてコンテナインフラの基本構成であり、いまは別のものに置き換わった11のプロジェクトを、公式告知とリポジトリのアーカイブ状態だけを根拠に整理します。rkt、dockershim、Classic Swarm、Docker Machine、Compose V1、Heapster、Apache Mesos、PodSecurityPolicy、CoreOS Container Linux、ingress-nginx、そしてHashiCorpの
2026-08-12 · 18 分で読めます #open-source#kubernetes#container#docker#infrastructureいま注目のオープンソース (3) インフラとデータベース
データベースとインフラの領域は、ライセンス変更とフォークが勢力図を描き直した分野です。分析エンジン、組み込みデータベース、Postgres拡張、Kubernetesオペレーター、IaCまで、実際に定着したオープンソース11個を、スター数の順位ではなく解決する問題ごとにまとめて紹介します。何を代替するのか、どの程度成熟しているのか、いつ使ってはいけないのかも一緒に書きました。リポジトリのパスとライセンス、スター数、最近のプッシュは2026
2026-08-12 · 8 分で読めます #open-source#database#infrastructure#postgresql#kubernetesGPU障害診断プレイブック — 層を決めてから降りる
KubernetesでGPUの問題を診断するとき最大の無駄は、順序なくあちこち突くことです。Podがスケジュールされない、Podは起動したのにGPUが見えない、ドライバとツールキットのバージョンがずれている、メモリが足りない、ノードからGPUが消える、これらは別の層の問題であり確認順序が異なります。本記事ではNVIDIA GPU Operatorの公式トラブルシューティングドキュメントとdcgm-exporterリポジトリを根拠に、五つ
2026-08-12 · 13 分で読めます #gpu#kubernetes#troubleshooting#nvidia#gpu-operatorNVIDIA GPU Operator入門 — もともと手で入れていた六つの部品
KubernetesでGPUを使うには、ドライバ、NVIDIA Container Toolkit、デバイスプラグイン、DCGM、GPU Feature Discovery、Node Feature Discoveryをノードごとに手で揃える必要がありました。NVIDIA GPU Operatorはそれらを一つのオペレータにまとめ、ClusterPolicy一つで望ましい状態を管理します。各コンポーネントが実際に何をするのか、Helmチ
2026-08-12 · 10 分で読めます #gpu#kubernetes#gpu-operator#nvidia#dcgmvLLMメトリクス — 何をダッシュボードに載せ何でアラートを張るか
vLLMが公開する時系列は、GPUメトリクスが答えられない問いに答えます。今いくつ実行中でいくつ待機中か、KVキャッシュがどれだけ埋まっているか、最初のトークンまで何秒かかるか、といったことです。本記事ではvLLM公式ドキュメントとリポジトリのメトリクスロガーのソースを直接読み、スケジューラ状態のゲージ、キャッシュ系カウンタ、遅延ヒストグラムの正確な名前と意味を整理し、カウンタ名の接尾辞の違いのようにバージョン間で人をつまずかせる箇所を
2026-08-12 · 12 分で読めます #gpu#kubernetes#vllm#prometheus#observabilityMIGとtime-slicing — GPU一枚を複数で使う二つの方法
GPU一枚に複数のワークロードを載せる方法は大きく二つあります。時間を分けるtime-slicingとハードウェアを分けるMIGですが、名前が似て見えるのとは裏腹に隔離の水準がまったく異なります。本記事ではNVIDIA GPU Operatorの公式ドキュメントを基準に、両方式の設定ファイル構造とノードラベル、広告されるリソース名、対応ハードウェア条件を整理し、time-slicingのレプリカ間にメモリ隔離も障害隔離も無いという事実が
2026-08-12 · 11 分で読めます #gpu#kubernetes#mig#time-slicing#nvidiaDCGM Exporter — GPU利用率はあなたが思っているものではない
DCGM ExporterはGPUテレメトリをPrometheus形式で公開する標準経路ですが、最も多くダッシュボードに載るGPU利用率系のメトリクスは、人々が期待するものを測っていません。本記事ではdcgm-exporterリポジトリの既定カウンタCSV、DCGM公式ドキュメント、NVML APIドキュメントを直接読み、既定で有効なメトリクス一覧、利用率メトリクスが実際に何を意味するのか、併せて見るべきプロファイリングメトリクスは何か
2026-08-12 · 16 分で読めます #gpu#kubernetes#dcgm#prometheus#observabilityGPUサービングのSLOとアラート設計 — 何を約束し何で人を起こすか
GPU推論サービスにSLOを掛けるには、まずどの指標が利用者体験を代弁するかを決める必要があります。最初のトークンまでの遅延とスループットは互いを食い合う関係にあり、片方だけを見て目標を立てると必ずもう一方が崩れます。本記事ではvLLMとDCGM Exporterが実際に公開する時系列だけを使ってSLIを定義する方法、ヒストグラムのバケット境界を閾値にすべき理由、飽和シグナルを読む順序、症状ベースのアラート設計、そしてGPUサービングで
2026-08-12 · 13 分で読めます #gpu#kubernetes#slo#alerting#prometheusデバイスプラグインとGPUスケジューリング — nvidia.com/gpuはどこから来るのか
KubernetesはGPUを知りません。ノードにGPUをリソースとして広告させるのはkubeletに登録されたデバイスプラグインであり、その結果生まれる名前が拡張リソースnvidia.com/gpuです。本記事では、デバイスプラグインが実装すべきgRPCインターフェースと登録ソケットのパス、拡張リソースでrequestsとlimitsが必ず一致しなければならない理由、GPUをCPUのようにミリコアへ分割できない根本的な理由、そしてGP
2026-08-12 · 10 分で読めます #gpu#kubernetes#device-plugin#scheduling#nvidiaオンプレミス軽量Kubernetes選定基準 — k3s、k0s、RKE2をデータストアと規制で分ける
機能一覧を並べる代わりに、実際に選択を決定づける軸だけを置いてk3s、k0s、RKE2を比較します。第一の軸はデータストアです。SQLiteで始めるとサーバーノードを増やせず、内蔵etcdは奇数ノードを要求し、外部データストアは運用対象が一つ増えます。第二は何を基本バンドルに入れるかとそれを取り除くときのコスト、第三は単一バイナリとスタティックポッド配置の違い、第四はRKE2が存在する理由であるCISプロファイルとFIPS対応が実際に誰
2026-07-31 · 26 分で読めます #kubernetes#k3s#k0s#rke2#on-premisek0s閉域網インストールとk0sctl自動化 — イメージバンドル作成から複数ノードアップグレードまで
インターネット経路のない閉域網でk0sクラスターを立てて運用する手順をコマンド単位で整理します。k0s airgap list-imagesとbundle-artifactsでイメージバンドルを作る三つの方法、自前のワークロードイメージを同じバンドルに合わせる要領、k0sがバンドルを自動インポートするディレクトリ規則、そしてdefaultpullpolicyをNeverに固定して外部pull試行を完全に阻止する設定を扱います。続いてk0
2026-07-31 · 22 分で読めます #kubernetes#k0s#k0sctl#air-gap#on-premise閉域網イメージ搬入パイプライン設計 — skopeo、Harbor、そして腐らない再搬入ランブック
閉域網のKubernetesでほとんど誰もきちんと扱っていない問題、すなわちコンテナイメージを繰り返し安全に持ち込むパイプラインを設計します。搬入リストをコードとして管理する方法から、skopeo syncで外部レジストリをディレクトリとOCIレイアウトとして取り出すコマンド、orasで任意のアーティファクトを運ぶ方法、Harborを内部配布レジストリとして置く二重レジストリパターンまでを扱います。Harborのプロキシキャッシュは上流
2026-07-31 · 26 分で読めます #kubernetes#air-gap#harbor#skopeo#supply-chaink3s 閉域網インストール完全ガイド — イメージ tarball の持ち込みからプライベートレジストリ、エージェント参加まで
インターネット経路がまったくない閉域網に k3s クラスターを立てる全工程を、コマンド単位で整理します。接続網の機材で airgap イメージ tarball と k3s バイナリをダウンロードしてチェックサムマニフェストを作り、持ち込み媒体に何を入れるかを決め、イメージをコンテナランタイムのディレクトリに配置したうえで INSTALLK3SSKIPDOWNLOAD でインストールスクリプトを実行する流れを扱います。続いて regist
2026-07-31 · 30 分で読めます #kubernetes#k3s#air-gap#on-premise#containerd閉域網 Kubernetes の Day 2 運用 — 証明書の期限切れで死ぬクラスターを防ぐ方法
閉域網クラスターが実際に死ぬ原因は、たいてい派手な障害ではなく証明書の期限切れです。誰も触らないまま 1 年が過ぎると API サーバーが静かに止まり、インターネットがないので検索で解決することもできません。この記事はインストール以降を扱います。死ぬ前に期限切れを検知する方法、kubeadm と k3s の証明書更新および CA ローテーションの手順、NTP のドリフトが TLS と etcd を同時に崩す経路、スケジュールスナップショ
2026-07-31 · 31 分で読めます #kubernetes#air-gap#day2-operations#etcd#certificatedig は通るのにアプリケーションは失敗する — DNS 解決順序から確認する方法
dig では正常に答えが返るのにアプリケーションだけが名前を見つけられない状況は、バグではなく構造です。dig と nslookup は /etc/hosts も nsswitch.conf もまったく経由せず、リゾルバに直接問い合わせるからです。アプリケーションが実際にたどる経路を nsswitch.conf から systemd-resolved のスタブリゾルバまで追いかけ、getent と resolvectl で同じ経路を再現
2026-07-26 · 21 分で読めます #network#dns#linux#kubernetes#troubleshootingシークレット管理、.env ファイルだけでは足りない理由 — 環境変数が漏れる経路とローテーション設計
.env ファイルを .gitignore に入れただけでシークレットが安全になるわけではありません。プロセス環境は同じホストから /proc/PID/environ でそのまま読み取られ、クラッシュレポートやデバッグページや CI ログに乗って流出し、コンテナイメージのレイヤーに永久に残ります。この記事では環境変数が漏れていく実際の経路を一つずつ示し、シークレットがすでにコミットされている場合の対応順序がなぜ履歴の書き換えではなく鍵の
2026-07-26 · 26 分で読めます #security#secrets#devops#vault#kubernetes