Tech

PyTorch with Intel Arc in Docker

背景

Stable DiffusionをUbuntu 22.04, Radeon RX 6600 XTで動かすという記事がもう3年も前なんですが、今になってちょっとまともに今のサーバー機でもなんか動かすか……と思って色々弄ったので、その備忘録を残しておきます。

前提

サーバー機の詳しい構成は新しいサーバーを組んだを見てもらうとして、ソフトウェア的にはmicrok8sで構築されたk8sクラスタが動いています。

今このクラスタではメディアサーバー(Jellyfin)が動いていて、こいつでハードウェアアクセラレーションを使うため、ホストにIntelのGPUドライバ、k8sクラスタにはIntel GPU device plugin for Kubernetesを導入しています。shared-dev-numは2以上に設定して、複数のpodがGPUを使えるようにしてあります。この設定が1のままだと1つのpodがGPUを占有するので、GPUを利用したい他のpodがリソースを確保できず起動不能になります。

Raspberry Pi Zero 2 WでPiKVMを作る

背景

新しいサーバーを組んだで組んだサーバーは基本的にはヘッドレス運用しているわけですが、たまにUEFIセットアップを触りたいときとかにいちいちメインモニターのケーブルを引き回してこないといけないのが地味に不便でした。

(※なぜかUEFIの設定が飛んでマザーボードが†1677万色†で光り始めた場合などに「お前は光らなくてもいいんだぞ」と教え込む必要があります。あちらの記事に記載の通り、どういうわけかモバイルモニターだと表示できないんですよねぇ……)

そこでお手頃にリモートKVMを実現できるPiKVMを試してみました。

材料

Raspberry Pi 4を使う場合と異なり電源を分離する必要はないので、Type-CのY字ケーブルとか"Power Splitter"なる謎基板は必要ありません。microUSBケーブルとHDMIケーブルだけは元々家に転がっていたものを使っていて、microSDXCはあきばお〜の並行輸入品、それ以外はすべて秋葉原の千石電商で揃えています。

Raspberry PiでKubernetesクラスタを組む(その3: k8sクラスタ構築編)

その2が2022年の夏なのでもう3年近く放置していたRaspberryPiでk8s、なんとなくそろそろ手を付けるかと思ったので再開することにした。

なんで放置したかというと、kubeadm initは正常に終了するもののapiserverが無限再起動編に突入して正常に稼働しなくて心が折れたというのがある。

新しいサーバーを組んだ

経緯

ただurandomの面々と飯を食った後にフラッと秋葉原のヨドバシに寄ったところ、そこにRyzen 7 9800X3Dが置いてあったのが全ての発端でした。

どこにもないと言われつつなんか普通にポンと置かれていて、うわ、どうしよ、いやでも椅子が欲しいしな……などと悩んでその場は買わずに帰ったんですが、翌日「いややっぱ欲しいな」と思い、あともうそこで行ってなければ諦めがつくと思って行ってみたらまだあったんですね。即座に店員さんに声を掛けて購入しました。その後秋葉原のパーツショップを一巡りしてマザーやメモリを調達して帰宅しました(ちなみに後日やっぱSSDも折角だしアップグレードしよ、と思ってSN850XとSN7100を購入)。

Raspberry Pi 5 w/ Argon ONE V3 & NVMe SSD

概要

Raspberry Pi 5が(3月くらいに)届いてたので適当にセットアップした記録。——を書いて力尽きていたのを7月に入って続きを書き始めた記事です。

同じような記事は山ほどあるだろうけど……。

買ったもの

  • Raspberry Pi 5 8GB: KSYで購入
  • Raspberry Pi 5用公式ケース(黒): 同上
  • SanDisk Ultra 128GB (microSD): 秋葉原のあきばお〜で購入
  • Argon ONE V3 M.2 NVME PCIE Case: ほったらかしてる間に千石電商で取り扱いが始まってたので買ってみた
  • Western Digital WD Blue SN580 1TB: いつだかの東京都のQRコード決済キャンペーンの時に駆け込みで買ったSSD

今回買ったものではありませんが、電源は5V4Aを供給できるTSI-PI046-5V4Aを(Raspberry Pi 4から使い回して)使用しています。

Stable DiffusionをUbuntu 22.04, Radeon RX 6600 XTで動かす

背景

ミドルレンジとはいえせっかくディスクリートのGPU積んでるのに何もしてない(ゲームはしてる)のはもったいない、ということでひとつ試しにStable Diffusionを動かしてみることにした。

環境

CPU Intel Core i5-12600KF (6+4C/16T)
メモリ crucial DDR4-3200 32GB (16GBx2)
GPU Radeon RX 6600 XT (ASRock AMD Radeon RX 6600 XT Challenger D 8GB OC)
SSD WD My Passport 1TB

ソフトウェア類は以下の通り。

Raspberry PiでKubernetesクラスタを組む(その2: サーバー監視編)

監視体制の準備

サーバー運用といえばまず監視である(?)。Kubernetesクラスタを立ち上げる前に、まずRaspberry Piの監視体制を組んでみることにした。

構成については『ラズパイk8s用の監視システム(Node Exporter + Prometheus + InfluxDB + Grafana)』を参考にした。ダッシュボードはインターネットからアクセスしたいが、インターネットからLANへのアクセスは可能な限りしたくないということで、InfluxDBとGrafanaは元から契約していたVPS上に構築することにした。

Raspberry PiでKubernetesクラスタを組む(その1: 物理・OS編)

背景

Kubernetesがイケイケの技術と言われてから早数年が経ち、とりあえずコンテナ乗っけとけみたいな感覚でアプリが船の上に乗せられる時代になったが、業務では社内で提供されるPaaSか、諸々の要件の問題で昔ながらの仮想マシンを使うことがほとんどだった。このままではk8sのkの字も分からないまま死んでしまうという危惧を抱き、自前で組んでみることにした。

Octopress -> Hugoお引っ越し記録

前の記事で引っ越し記録を書くと言って結局4ヶ月ほど放置してしまったけど一応記録。

背景

元々 tech.aquarite.info はOctopressで生成したものをGitHub Pagesに乗っけていて、 aquarite.info は手書きのHTMLを契約しているVPSでホストしていた。まず手書きで全部管理するのが超絶しんどい、ぶっちゃけ分ける理由があんまりない、などの理由でこれらを統合することにした。 これと同時に、Octopressはとうに更新が止まっていること、Octopressのリポジトリをcloneしてきてそこに手を加えるスタイルがやっぱり気持ち悪いといった理由でOctopressから別のstatic site generatorに移ろうと考えていた。で、色々と調べてみたがHugoにした。

SpresenseとBP35A1でスマートメーターと通信する

背景

結構前にスマートメーターに切り替わり、このタイミングで電力消費量なんかを取れないかと調べてみてBルートサービスなるものがあることを知った。

スマートメーターとWi-SUNなる規格で通信して情報を取得できるが、このモジュールがなかなか高価で尻込みしていた。しかし、最近どうもブレーカーが落ちる頻度が上がってきた感じがあったので、電力使用量をモニタリングしてみようと思ったものである。