ラズパイk3sでwordpress構築
電気代が辛いので省電力化するぞい。
調べたら意外とまとまった情報出てこなかったので自分用にメモ。
k3sインストール準備
まずRaspberry Pi ImagerでUbuntu Server 20.04をインストールします。
(22.04はうまくいかなかった)
GKEのワークロード指標からマネージドPrometheusに移行する
Cloud MonitoringでGKE上のPayara JMX Mbeansメトリクスを取得する
訳あってマネージドPrometheusなしでPayaraのJMX Mbeansのメトリクス取得を実装するハメになったので
ワークロード指標
でのやり方を試してみました。
ここで紹介しているやり方はGKE1.24以降は使えないと書いてあるのでマネージドPrometheusを使った方がいいです。
Rancherでラズパイk8sクラスタ構築
前回ラズパイで構築したRancher
で
ラズパイKubernetesクラスターを構築してみました。
構築はうまくいったのですが、
ARM64は正式サポートされていない
ようなのでご注意ください。

ラズパイにk3sでRancher構築
GitlabとRedmineをKubernetesで構築する
Kubernetesの勉強のために、昔
docker-composeで構築したGitlabとRedmine
を
今度はKubernetesで構築してみました。
具体的にはIngressを使ってみたかった感じです。

ラズパイkubernetesに構築したRook/Cephクラスターを自宅ファイルサーバーにしてみた
結論:遅い!
では構築手順を書いていきます。
Rook/Cephクラスターを構築した
前回
の続きから始めます。

ラズパイkubernetesでRook/Cephクラスターを構築する
最近転職したりして忙しかったので久しぶりに書きます。
以前
hostPathで永続ボリュームを利用する手順
を書きましたが、
ちゃんとしたストレージが欲しいなと思ったのでRookのCephクラスターを構築してみることにしました。
なかなかうまくいかなかったのですが、とりあえず構築するところまではいけました。
インターネットに繋がらなくなった時の対処法の一例
8月中旬、割とスムーズに2回目のワクチン接種を終えた翌朝、
目が覚めると自宅のネットがインターネットに繋がらなくなっていた!
なんでや!むしろ繋がっちゃうんじゃなかったの!?
オンプレGitLab Pagesでアクセス制御する
以前
、
sameersbn/gitlab
を利用して
GitLab Pagesを構築する手順を書きましたが、
アクセス制御なしで誰でも閲覧できる状態でした。

Gitpod Self-HostedをオンプレKubernetesにインストールする
GitpodとはWeb IDEのことです。
注目したのはGitLabと連携できて開発環境を自動構築できるところです。
これをオンプレミスで構築すれば、セキュリティ要件でクラウドにデータを保存できない
プロジェクトでも、443ポートだけ通せばテレワークで作業できるのでは?
安価なchromebookだけ渡しておけばどこでも仕事できるのでは?
と思いましたのでSelf-Hosted版を構築してみました。
KubernetesのhostPathを使ったDynamic Volume Provisioningテスト
経緯
Helmを使ってインストールしようとしたらpodが以下のメッセージでPendingになりました。
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 21s default-scheduler 0/1 nodes are available: 1 pod has unbound immediate PersistentVolumeClaims.
Kubernetesで永続化したボリュームを使うにはPersistentVolumeが必要なのですが、
自分で構築したKubernetesの場合、別途事前に作成する必要があります。
実際確認すると存在していませんでした。

外部公開していないオンプレのGitLabとRedmineをLet's Encryptの証明書で暗号化する
このサイトでよくGitLabやRedmine関連の構築を書いていますが、
関連するツールはどれもHTTPSの暗号化通信前提の作りになっているんですよね。
そこで自己証明書でHTTPS化しているのですが、以下のエラーに毎度悩まされます。

オンプレでGitLabとKubernetesの統合
オンプレで構築したGitLabとKubernetesを統合してCI/CDできる環境を構築してみます。
こちら
の手順を進めます。
ドキュメントに書いてあるとおり
arm64はサポートされていないので
ラズパイKubernetes
は使えません。
RaidZのファイルサーバーを再構築した。
経緯
最近RaidZで構築したファイルサーバーで、読み込みがとても遅くなるようになりました。
35,000弱のファイルがあるフォルダをWindowsのエクスプローラーで開いたら、
5分くらいフリーズしちゃう状況です。

ラズパイkubernetesにZabbix構築
以前docker-composeでZabbixを構築
したので
今度はkubernetesで構築してみました。
ちょっと入門編みたいな感じになっているんじゃないかと思います。
ラズパイkubernetesにBuildkitインストール
2024/12/21 追記
k3sで再構築しました
前回構築したラズパイkubernetes をいじってたら早速以下のエラーに遭遇しました。
ubuntu@k8s1:~$ kubectl get pods
NAME READY STATUS RESTARTS AGE
postgresql-25fx6 0/1 CrashLoopBackOff 105 8h
ubuntu@k8s1:~$ kubectl logs postgresql-25fx6
standard_init_linux.go:211: exec user process caused "exec format error"
どうやらCPUアーキテクチャが異なることが原因らしいです。
Raspberry Pi上でイメージをビルドしようと思いましたが、
このラズパイkubernetesはdockerなしで構築したのでdocker buildが使えません。
調べてみるとBuildkitというのが使えそうなのでインストールしてみました。

ラズパイkubernetes構築メモ
構築手順はたくさん紹介されていますが、
やってみるといろいろ調べながら進める必要があったのでまとめようと思います。
CentOS8のクラウドイメージ(qcow2)をESXiで起動する
クラウドに慣れるとOSインストールがめんどくさいですよね。
というわけで公式で配布されているCentOSクラウドイメージをESXiで起動できるようにします。