ギャバンITサービス
お菓子の家が作れるシステムエンジニアです

macでmicrok8sを利用1-さらばminikube

hyperkitがdeprecateになったから qemuにしてみた ら、どっかんどっかん落ちる。 クラスタは動くけど、minikube cpとかdocker loadとかディスクの読み書きを重めにしたときによく落ちる。 なんやねん、使いものにならんなぁ。やり方悪いんかなぁ。 しゃあないからqemuやめてmicrok8sやってみる。 MicroK8s - Zero-ops Kubernetes for developers, edge and IoT microk8s.io ubuntuを提供してるcanonicalのプロダクトなんやな。 稼働のイメージ GWすぎてlocalとGCEのlinuxはubuntu22から24に切り替えた。xrdpのコンテナもおんなじ。 今回はminikube動いてた⭐️印の箇所をmicrok8sに変えて、hyperkitがmultipassに換わる。 もちろんクラスタとPod類は作り直して、永続化領域はバックアップ取ったものを展開しなおす。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 +-mac--------------------------+ | +-microk8s-------+ | | | ⭐️ | | | +----------------+ | | +-multipass-containerd-----+ | | | +-container-+ ⭐️| | | | | kubernetes| | | +-local ubuntu24 linux--------+ +-GCE ubuntu24 linux----------+ | | +-----------+ +-/data-+ | | | +-docker---------+ +-vmdk-+ | | +-docker---------+ +--pv--+ | | | +-container-+ | | | | | | +-container-+ | | data | | | | +-container-+ | | data | | | | | Django | | d1 | | | | | | Django | | | d1 | | | | | Django | | | d1 | | | | +-----------+ +-------+ | | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | +-container-+ | | | | | | +-container-+ | | | | | | +-container-+ | | | | | | | mariadb | | d2 | | | | | | mariadb | | | d2 | | | | | mariadb | | | d2 | | | | +-----------+ +-------+ | | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | +-container-+ | | | | | | +-container-+ | | | | | | +-container-+ | | | | | | | xrdp-ubu24| | d3 | | | <- | | | xrdp-ubu24| | | d3 | | <- | | | xrdp-ubu24| | | d3 | | | | +-----------+ +-------+ | | <- | | +-----------+ | +------+ | <- | | +-----------+ | +------+ | | | | | <- | | | | <- | | +-container-+ | | | | +-------+ | | | | | | | | | gitlab | | | | | | micro | | | | | | | | | +-----------+ | | | | +-container-+ | k8s | | | | | +-container-+ | | | | +-container-+ | | | | | https | | Ubuntu| | | | | | https | | | | | | https | | | | | +-----------+ +-------+ | | | | +-----------+ | | | | +-----------+ | | | +--------------------------+ | | +----------------+ | | +----------------+ | +------------------------------+ +-----------------------------+ +-----------------------------+ 途中で気づいたけど、multipassの内部にはdockerがなくなっててcontainerd/ctrになってた。 ...

macでmicrok8sを利用2-mariadb起動に失敗しても回避

microk8sめっちゃもっさり動く。 先月はubuntu24対応して月末にnoble numbatベースの mariadbも11.4に切り替えた。 今回はmicrok8sの中で動くmariadbを切り替える。 最初はうまく行かんかったけど、なんとかできた。 稼働のイメージ 今回は⭐️印の箇所の話。 データベースをkubernetesで動かすときに勘違いもあってハマった。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 +-mac--------------------------+ | +-microk8s-------+ | | | | | | +----------------+ | | +-multipass-containerd-----+ | | | +-container-+ | | | | | kubernetes| | | +-local ubuntu24 linux--------+ +-GCE ubuntu24 linux----------+ | | +-----------+ +-/data-+ | | | +-docker---------+ +-vmdk-+ | | +-docker---------+ +--pv--+ | | | +-container-+ | | | | | | +-container-+ | | data | | | | +-container-+ | | data | | | | | Django | | d1 | | | | | | Django | | | d1 | | | | | Django | | | d1 | | | | +-----------+ +-------+ | | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | +-container-+ | | | | | | +-container-+ | | | | | | +-container-+ | | | | | | | mariadb⭐️| | d2 | | | | | | mariadb | | | d2 | | | | | mariadb | | | d2 | | | | +-----------+ +-------+ | | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | +-container-+ | | | | | | +-container-+ | | | | | | +-container-+ | | | | | | | xrdp-ubu24| | d3 | | | | | | xrdp-ubu24| | | d3 | | | | | xrdp-ubu24| | | d3 | | | | +-----------+ +-------+ | | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | | | | | | | | | +-container-+ | | | | +-------+ | | | | | | | | | gitlab | | | | | | micro | | | | | | | | | +-----------+ | | | | +-container-+ | k8s | | | | | +-container-+ | | | | +-container-+ | | | | | https | | Ubuntu| | | | | | https | | | | | | https | | | | | +-----------+ +-------+ | | | | +-----------+ | | | | +-----------+ | | | +--------------------------+ | | +----------------+ | | +----------------+ | +------------------------------+ +-----------------------------+ +-----------------------------+ 母艦のubuntu24からdockerイメージ持ってくる 前にやったこと をそのままやる。 ...

macでmicrok8sを利用3-kubernetesクラスタのバージョンアップ

enfoflife のページ見たら昨日にkubernetesが1.31になってた。 よー見たら、「N-2 support policy (meaning that the 3 most recent minor versions receive security and bug fixes) 」って書いてある。 最新と2つ前の世代のマイナーバージョンをサポートするようになったんや。 前は1つ前やったよな。 それに、更新サイクルが15週間ってある。 前は3ヶ月ぐらいやったはずなんやけど、15週間に伸びてるやん。 年に4回やのうて、3回に減ったんやな。 一般企業のバージョンアップ担当してる人が「この前計画作業終わったのに、もう次のやらなアカンのか」って声が反映されたんかもしれん。 履歴メモ 自分のk8sクラスタ更新の実施履歴。 minikubeのときもそうやったけど、「バージョンアップ」はクラスタのノード作り替えやから、厳密にはバージョンアップするわけやなくて、永続化領域はいったん全部吹っ飛ぶ。 minikubeの実施履歴は このへん でやってる。 時期 macのk8s環境 クラスタ 2024年8月 microk8s v1.31.0 (containerd v1.6.28) Kubernetes v1.31/stable 2024年7月 microk8s v1.30.3 (containerd v1.6.28) Kubernetes v1.30/stable 2024年5月中 minikube v1.33.1 (Docker 26.0.2) Kubernetes v1.30.0 2024年4月末 minikube v1.33.0 (Docker 26.0.1) Kubernetes v1.30.0 2023年11月 minikube v1.32.0 (Docker 24.0.7) Kubernetes v1.28.3 2023年8月 minikube v1.31.2 (Docker 24.0.4) Kubernetes v1.28.0-rc.1 microk8sで使えるkubernetesクラスタのバージョン確認 microk8sでもときどきクラスタのバージョン上がる。 macから見たら、multipassの中で動くubuntuに向けてコマンド投げる。 ...

macでmicrok8sを利用5-arm64とx86のkubernetesクラスタのバージョンアップ

M4のmacでkubernetesを維持 しはじめたけど、性能良くなかった。 そこで、 macでarm64のlinux内にkubernetes 使う環境と、 windowsでx86のlinux内kubernetes の両方を維持するようにした。 microk8s&multipassにするとarm64のubuntuになるので、UTM入れてubuntu動かした中でmicrok8s動かすようにしてる。 自分の設定が悪いのか、残念ながらintelのmacで使ってたmicrok8sより性能悪くなった・・・。 arm64の中では無理にx86のlinux動かさないようにしたので、x86もarm64もスローになったりせずに元気に動いてくれてる。 microk8sでのkubernetes履歴メモ microk8sの実施履歴は このへん でやってた。 minikubeの実施履歴は このへん でやってた。 構成変更したから履歴書くのもここで書くように変更。arm64もx86もほぼ同時に実施。 4月と8月と12月頃にちょいちょい書き足したり更新してく。 時期 macのk8s環境 クラスタ 2025年 9月 microk8s v1.34 (containerd v1.7.28) Kubernetes v1.34/stable 2025年 5月 microk8s v1.33 (containerd v1.7.27) Kubernetes v1.33/stable 2024年12月 microk8s v1.32 (containerd v1.6.28) Kubernetes v1.32/stable 2024年11月 microk8s v1.31 (containerd v1.6.28) Kubernetes v1.31/stable ローカルの最新状態はこんな感じ。windows11 - vmware - x86 - ubuntuの内容ではあるけど、macのutmでarm64のubuntu動かしてる分も同じ内容。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 root@kubelinux:/microk8s/script# onlchk ----- cluster status ------ microk8s is running high-availability: no datastore master nodes: 127.0.0.1:19001 datastore standby nodes: none addons: ------ cluster node ------ PRETTY_NAME="Ubuntu 24.04.3 LTS" Filesystem Size Used Avail Use% Mounted on /dev/mapper/ubuntu--vg-ubuntu--lv 57G 31G 24G 57% / /dev/sda2 2.0G 77M 1.8G 5% /boot //192.168.1.40/kubernetes 932G 312G 620G 34% /microk8s ----- recent cluster ver ----- latest/stable: v1.32.3 2025-04-07 (7964) 172MB classic installed: v1.34.0 (8384) 183MB classic ⭐️入っとる!! 1.34/stable: v1.34.0 2025-08-28 (8384) 183MB classic 1.33/stable: v1.33.0 2025-04-24 (8205) 177MB classic ------- images in ctr ------- docker.io/library/save-django:gvis-saved 1.4 GiB docker.io/library/save-xrdpubu:gvis-saved 6.3 GiB -------kubectl version ------- clientVersion: gitVersion: v1.34.0 serverVersion: gitVersion: v1.34.0 ----kubectl po/svc/configmap status ---- NAME READY STATUS RESTARTS AGE pod/cl-ubun 1/1 Running 1 (4m10s ago) 7m30s pod/sv-django 1/1 Running 1 (4m10s ago) 7m19s pod/sv-https-portal 1/1 Running 2 (3m12s ago) 7m14s pod/sv-mariadb 1/1 Running 1 (4m10s ago) 7m30s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kubernetes ClusterIP 10.152.183.1 <none> 443/TCP 67m service/sv-django ClusterIP 10.152.183.188 <none> 38080/TCP 66m service/sv-https-portal ClusterIP 10.152.183.76 <none> 30080/TCP,30443/TCP 66m service/sv-mariadb ClusterIP 10.152.183.176 <none> 13306/TCP 66m NAME DATA AGE configmap/kube-root-ca.crt 1 67m configmap/sv-mariadb-txt 5 66m -------kubectl PV ------- NAME CAPACITY ACCESS RECLAIM gvis-pv-django-sslcerts 1Gi RWO Bound gvis-pv-django-uwsgi-nginx 1Gi RWO Bound gvis-pv-mariadb 20Gi RWO Bound gvis-pv-mariadbconf 5Gi RWO Bound gvis-pv-ubun 10Gi RWO Bound pvc-e31b5f9e-303a-43e8-a101-845dd10f4a71 30Gi RWX Bound -------kubectl forward ------- port-forward --address 0.0.0.0 cl-ubun 33389:3389 port-forward --address 0.0.0.0 sv-django 38080:8080 port-forward --address 0.0.0.0 sv-https-portal 30443:443 port-forward --address 0.0.0.0 sv-mariadb 13306:3306 root@kubelinux:/microk8s/script# microk8sで使えるkubernetesクラスタのバージョン確認 出てるやん。 ...

 ⭐️

microk8sを利用6-x86のubuntu24でノード作成してkubernetesクラスタ

新しいめのmacminiでM4とはいえ、x86エミュレートさせるとめっちゃ処理重くて 使い物にならんかった 。 後でチューニングできる箇所見つけられるかもしれんけど、すぐにツボは発見できず。 x86エミュレートでkubernetesを維持するには苦しいので、x86のwindows側で動くlinuxホストと同列でkubernetes用のlinuxホストを作る。 爆速期待。 macminiの中は、arm64でdjango/httpsとmariadbのみのkubernetesクラスタを別で目指す。 作成イメージ x86ホストを用意して⭐️印箇所を作ってく。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 <----------- M4 mac -----------> <--------------------- Windows11 pro VMware ---------------------> <-------- Google cloud --------> +-macmini sequoia--------------+ +-local ubuntu24 linux ⭐️----+ +-local ubuntu24 linux--------+ +-GCE ubuntu24 linux----------+ | +-utm----------------------+ | | +-microk8s-------+ +-vmdk-+ | | +-docker---------+ +-vmdk-+ | | +-docker---------+ +--pv--+ | | | +-sequoia-------------+ | | | | +-Pod-------+ | | data | | | | +-container-+ | | data | | | | +-container-+ | | data | | | | | vscode/cyberduck | | | | | | Django | | | d1 | | | | | Django | | | d1 | | | | | Django | | | d1 | | | | | office/brew/rdp | | | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | +---------------------+ | | | | +-Pod-------+ | | | | | | +-container-+ | | | | | | +-container-+ | | | | | | +-ubuntu24 x86️------+ | | | | | | mariadb | | | d2 | | | | | mariadb | | | d2 | | | | | mariadb | | | d2 | | | | | ctr microk8s | | | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | |+-container-+ | | | | | +-Pod-------+ | | | | | | +-container-+ | | | | | | +-container-+ | | | | | | ||kubernetes | | | | <- | | | xrdp-ubu24| | | d3 | | <- | | | xrdp-ubu24| | | d3 | | <- | | | xrdp-ubu24| | | d3 | | | | |+-----------+ | | | <- | | +-----------+ | +------+ | <- | | +-----------+ | +------+ | <- | | +-----------+ | +------+ | | | |+-container-+ +/data+| | | <- | | | | <- | | | | <- | | +-container-+ | | | | ||Django | | d1 || | | | | | | | | | | | | | gitlab | | | | | |+-----------+ +-----+| | | | | | | | | | | | | +-----------+ | | | | |+-container-+ | || | | | | +-Pod-------+ | +------+ | | | +-container-+ | +------+ | | | +-container-+ | +------+ | | | ||mariadb | | d2 || | | | | | https | | | d4 | | | | | https | | | d4 | | | | | https | | | d4 | | | | |+-----------+ +-----+| | | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | |+-container-+ | || | | | +----------------+ | | +----------------+ | | +----------------+ | | | ||xrdp-ubu24 | | d3 || | | +-----------------------------+ +-----------------------------+ +-----------------------------+ | | |+-----------+ +-----+| | | | | |+-container-+ +-----+| | | +--smb share ⭐️---------------+ | | ||https | | d4 || | | | windows smb share | | | |+-----------+ +-----+| | | +-----------------------------+ | | +---------------------+ | | | +--------------------------+ | | | | +-music----------+ | | | 8400(37GB) | | | +----------------+ | +------------------------------+ vmwareで普通にノード足す インストール10分以内で終わる。 UTMで設定したリソース と同じCPU/メモリ/ディスク/IPアドレスを割り当てて、Ubuntu24serverをサービス一切選択せずすっぴん状態でインストールして用意しとく。 ...