Geeko Magazine 2022 夏
今年の夏も Geeko Magazine を発行します。最初の頒布はコミックマーケット C100 1日目 8月13日(土)西2ホール す19b です。事前に入場券の購入が必要になりますので、ご注意ください。

今年の夏も Geeko Magazine を発行します。最初の頒布はコミックマーケット C100 1日目 8月13日(土)西2ホール す19b です。事前に入場券の購入が必要になりますので、ご注意ください。

Rancher Desktop はデスクトップ環境上に開発用の Kubernetes 環境や Docker 環境を構築できるアプリケーションです。Rancher は現在は SUSE の傘下にあり、Rancher Desktop も SUSE の Rancher チームを中心に開発されています。
先日、Docker Desktop が個人用途を除いて有償化されたため、代替として注目されています。
Rancher Desktop の公式ページにも案内がありますが、RPM パッケージは以下の OBS リポジトリで配布されています。
https://download.opensuse.org/repositories/isv:/Rancher:/stable/rpm/
インストールはいつもの通りです。
sudo zypper ar -c https://download.opensuse.org/repositories/isv:/Rancher:/stable/rpm/isv:Rancher:stable.repo sudo zypper ref sudo zypper in rancher-desktop
あとは、メニューから Rancher Desktop を選べば起動できます。
起動すると、何をセットアップするか聞かれます。ここで、containerd を選ぶと nerdctl が使えるようになります。docker を選ぶと、docker コマンドや API が使えるようになるはずです。

しかし、何やらエラーが。

「Reset Kubernetes」でリセットしてみたところ、今度は何も出ませんでした。

クライアントコマンドは ~/.local/bin/ にインストールされるので、パスを通しておきます:
% ls ~/.local/bin docker@ helm@ kubectl@ nerdctl@
~/.kube/config は勝手に設定してくれるので、らくらくですね。
完了すると Kubernetes などが動いている VM (Lima) が走っていることが分かります。
% pgrep -a qemu 984 /usr/bin/qemu-system-x86_64 -cpu host -machine q35,accel=kvm -smp 2,sockets=1,cores=2,threads=1 -m 6144 -boot order=d,splash-time=0,menu=on -drive file=/home/geeko/.local/share/rancher-desktop/lima/0/basedisk,media=cdrom,readonly=on -drive file=/home/geeko/.local/share/rancher-desktop/lima/0/diffdisk,if=virtio -cdrom /home/geeko/.local/share/rancher-desktop/lima/0/cidata.iso -netdev user,id=net0,net=192.168.5.0/24,dhcpstart=192.168.5.15,hostfwd=tcp:127.0.0.1:45009-:22 -device virtio-net-pci,netdev=net0,mac=52:55:55:f4:b7:19 -device virtio-rng-pci -display none -device virtio-vga -device virtio-keyboard-pci -device virtio-mouse-pci -parallel none -chardev socket,id=char-serial,path=/home/geeko/.local/share/rancher-desktop/lima/0/serial.sock,server=on,wait=off,logfile=/home/geeko/.local/share/rancher-desktop/lima/0/serial.log -serial chardev:char-serial -chardev socket,id=char-qmp,path=/home/geeko/.local/share/rancher-desktop/lima/0/qmp.sock,server=on,wait=off -qmp chardev:char-qmp -name lima-0 -pidfile /home/geeko/.local/share/rancher-desktop/lima/0/qemu.pid
簡単に何かを動かしてみましょう。
kubectl run redmine-test --image=redmine --port=3000 kubectl port-forward redmine-test 8080:3000
あとはブラウザで http://localhost:8080 にアクセス

kubectl によるトンネリングだけではなく、Rancher Desktop 側にもポートフォワーディング機能があるようですが、私の環境では出てきませんので、もう少し探してみます。
この記事は openSUSE Advent Calendar の25日目です。
今年も openSUSE Advent Calendar にご参加頂きありがとうございました。みなさん忙しかったからか、今年は13日目で力尽きてしまいました。
最終日は openSUSE 関連の活動を振り返ってみようと思います。
うーん。何かを行った記録がありません。15.3 向けの開発をしていたかもしれません。
openSUSE Leap 15.3 がリリースされました。今年はリリースパーティーも mini Summit もできなかったので、来年はしたいですね。
openSUSE.Asia Summit をオンラインで開催しました。もともとは昨年にインドで開催する予定でしたが、インドチームによるオンライン開催になりました。
https://events.opensuse.org/conferences/oSAS21
8月末に開催された Open Developers Conference (ODC) では、Cross Distro Developers Camp の枠で Leap 15.3 とリリースモデルの話をしました。
https://speakerdeck.com/ftake/opensuse-leap-15-dot-3-toririsumoderufalsehua
同じく活動の記録が…。
今年も Advent Calendar を作成しました。序盤は勢い良くスタートしましたが…途中でばったり力尽きてしまった感じになってしまいました。
大晦日には Geeko Magazine Special Edition を久しぶり発行します。2年ぶりとは思えないページ数になっています。オンラインイベントが続くため、頒布機会がなかなか確保できなさそうですが、機会があればお手にとって見たください。
今年は仕事が忙しく、Mozc の最新バージョンへのアップデートなど、いろいろやりかけになってしまいました。なんとか時間を取れるようにしたいなと思います。
openSUSE Advent Calendar の 19日目です。今年はすっかり力尽きてしまいました。クリスマス前にはもう少し投稿できるようにしたいと思います。
2年ぶりの Geeko Magazine Special Edition を発行します。最初の頒布はコミックマーケット C99 で、スペースは 2日目 東テ14b です。今年のコミックマーケットは事前チケットや、ワクチン接種証明書または PCR 検査結果が必要ですので、参加される方はご注意下さい。
今回の記事は次の通りです。久しぶりにも関わらず、例年通り集まりました。

コミックマーケット以降の頒布機会は未定です。当面 OSC はオンラインの予定ですので、どうするか検討します。
みなさんは KDE のグローバルメニューを使ってますか? グローバルメニューは KDE Plasma のアップレットで、アクティブなウインドウのメニューが表示されます。画面上端にパネルを置いて、そこにこれを配置することで、macOS 風の UI を実現できます。
しかし、このグローバルメニューですが、時々不安定になり、アプリケーションによっては表示されなくなったりすることがあります。
同じようにアクティブウインドウのメニューを表示できるアップレットに Window AppMenu というものがあり、こちらであれば問題が起きないことがあります。困ったときは試してみてください。
https://github.com/psifidotos/applet-window-appmenu
インストール方法はそんなに難しくはなく、Installation.md に書かれている以下のパッケージと
sudo zypper in -y xrandr cmake make gcc gcc-c++ extra-cmake-modules libqt5-qtbase-devel libqt5-qtdeclarative-devel libKF5WindowSystem5 plasma-framework-devel libSM-devel libqt5-qtx11extras-devel libkdecoration2-devel kconfigwidgets-devel kwidgetsaddons-devel kdeclarative-devel
このあたりを追加でインストールしました
sudo zypper in kwayland-devel plasma5-workspace-devel plasma5-addons-devel kitemmodels-devel
あとは install.sh を実行するとインストールされ、パネルに Window AppMenu を追加できるようになります。
openSUSE Advent Calendar 2021 の 4日目です。書き手がまだまだ足りませんので、ぜひ気軽に投稿をお願いします。
今日は新しいPCの話です。これまでは、2012年に組んだ Core i7-3770S のデスクトップ PC を Windows 10 で、Dynabook VZ72 (i7-7500U) で openSUSE Leap を使ってきました。このデスクトップPCのほうが、まもなく10年ということもあり、時々フリーズしたり、性能不足なところもあり、半導体が高騰している微妙なタイミングですが、完全に壊れる前に買い換えることにしました。
新しい PC の構成は次のとおりです。
マザーボードが無駄にX570なのは、実家の DeskMini A300 の PC の調子が悪く、故障箇所の切り分けを行うために旧CPUに対応したX570にしました。ちょっと無駄です。さらに、GPU 内臓の Ryzen 7 5000G は PCIe が Gen 3 になってしまうので、X570 の意味がありません…。残ったメリットは、増設した場合のメモリークロックくらいでしょうか。
今回こそコンパクトな PC にしたいと思っていたのですが、この状況でマザーボードの選択肢が少なく、結局 ATX ケースになってしまいました。Fractal Design の 5インチベイのないコンパクトラインのケースなのですが、今まで使っていた 15年以上前の ATX ケースよりずいぶん大きいです。最近、デスクトップ PC をわざわざ買う人は、ハイエンドのグラッフィックカードを付けるからか仕方がないですね。HDD は NAS に移してしまったので、3.5インチや2.5インチベイも使っておらず、中身はすっからかんです。そのうち簡易水冷でも導入して有効活用することにしましょう。
これまで、デスクトップでは Windows を使っていましたが、最近、Steam で配信されているゲーム(AOCとか)は Linux でも動くので、ホスト OS を openSUSE にしてしまうことにしました。加えて、openSUSE 界隈で流行っているかもしれない、PCI pass-through を使って、物理 GPU を Windows ゲストに直接接続すれば快適な Windows ゲスト環境が作れるはず…と考えていました。結局、Windows ゲストはちょっと試しただけで使っていないのですが、この話はまた今度。
さて、openSUSE Leap のカーネルは、新しいハードウェアに対応できるようにパッチがたくさん入っていますが、ちょっと古いです。そのため、最新のハードウェアでは一部の機能が使えないことがあります。今回、Leap は普通にインストールできましたが、画面の解像度が 4K にならないし、もっさりしていて、少なくともグラフィックドライバまわりが動いてない感じでした。
そんなときは、最新のカーネルを OBS から持ってきます。Leap 向けの最新カーネルは以下の OBS プロジェクトでビルドされています。このリポジトリを登録して、kernel-default や kernel-frimware-* をインストールすれば OK です。
https://build.opensuse.org/project/show/Kernel:stable:Backport
このリポジトリは openSUSE Leap としてメンテされているものではありませんのでご注意ください。
8コア、16スレッドということで、やっぱりパッケージのビルド作業が快適になりました。CPU内蔵のGPUですが、Full HDでゲームをする分には十分で、グラフィックカードを増設するのはだいぶ先になりそうです。
この記事は小江戸らぐ 5月のオフな集まりの発表ネタです。
2回目の夏を迎えるに当たり、自宅ファイルサーバーの熱とファンの音が気になり、モニタリングしてみることにしてみました。今回は他の用途でも興味があった Grafana を使ってみました。Grafana は CPU 使用率やメモリ使用量といったハードウェアから、データベースやアプリケーションの性能といった様々なメトリクスを可視化・分析するための Web アプリケーションです。インタラクティブに操作できたり、かっこいい見た目だったりで、最近よく見かけます。
小江戸らぐ向け注記: よくカロスさんの発表に出てきます。K8s のクラスタやラズパイの環境センサーの表示で使っていますね。
今回はちょっと横着して、Grafana の SaaS である Grafana Cloud を使いました。Grafana といえば、多くの場合、メトリクス収集と時系列データベース機能を持つ Prometheus と組み合わせ、これら2つをどこかにインストールして使います。Grafana Cloud では Grafana 本体と Prometheus のデータベース部分は Grafana Cloud で動いているものを使うことができます。データの収集は Prometheus からデータベース部分などを簡略化した Grafana Agent で収集できます。
気になるお値段ですが、Free プランがあります。メトリクスの保持期間は2週間というのがポイントになりますが、ちょっと試して見るには十分です。無料プランの主なスペックはこんな感じです:
アカウントを作るためにクレジットカードなどの情報は特に必要ありません。 Grafana Cloud のページでアカウント作成に進み、GitHub などの SSO でログインすればすぐ準備完了です。

次に、メトリクスの収集を始めましょう。雷のアイコン(⚡) > Walk through をクリックすると、スクリーンショットのように Grafana Cloud がサポートしているプラットフォームのメトリクス収集を簡単にセットアップできるガイドが用意されています。今回は Linux Server を使用します。Prometheus では Node Exporter と呼ばれているものです。

Linux Server をクリックすると、セットアップするためのスクリプトが表示されます。「Choose your OS」には openSUSE が見当たりませんが、「RedHat – based」で OK です。Go言語で実装されたアプリなので、システムライブラリにほとんど依存していません。

あとは、その下に表示されたスクリプトを実行すれば OK です。Grafana Agent の RPM のインストールと設定ファイルの作成、起動まで一気に行われます。セットアップが終わると、最初から用意されているダッシュボードに収集した情報が表示されます。(datasource で grafanacloud-xxxx-prom を選択)

もちろん、ダッシュボードを自分で組み立てることもできます。ここではパネルを配置し、Visualization を Time Series にして次を追加してみました。収集されているメトリクスの一覧がドロップダウンメニューに表示されるので、ここからそれっぽいものを選んで追加することができます。
各系列のスタイルや、単位、Y軸の設定は、ちょっとわかりにくいですが Overrides タブで系列を選んで個別に設定できます。

このファイルサーバーは普段ほとんどアイドル状態なのですが、CPU クロックが思った以上に落ちていないことが分かりました。ファンコントロールのターゲット温度が45℃設定なのですが、55℃くらいをキープしているようです。
Grafana Cloud を使って自宅ファイルサーバーの監視を簡単にしてみました。そして Grafana Agent が CPU 時間を他と比較して使ってしまっていますので、場合によっては収集する項目を減らすなどを考えたほうが良いかもしれません。