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

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をサービス一切選択せずすっぴん状態でインストールして用意しとく。 ...

microk8sを利用7-macmini M4でarm64のkubernetesクラスタ

作成イメージ arm64のホストをutmの中に作って⭐️印の箇所を作ってく。 だんだんデカなってきたな。頭の体操にはええか。 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 <----------- M4 mac -------dev-> <--------------------- VMware on Windows11 pro -------------stg--> <-------- Google cloud ---prd--> +-M4 macmini sequoia-----------+ +-kubelinux(ubuntu24) --------+ +-local ubuntu24 linux--------+ +-GCE ubuntu24 linux----------+ | +-utm ---------------------+ | | +-microk8s-------+ +-vmdk-+ | | +-docker---------+ +-vmdk-+ | | +-docker---------+ +--pv--+ | | | +-sequoia arm64-------+ | | | | +-Pod-------+ | | data | | | | +-container-+ | | data | | | | +-container-+ | | data | | | | | vscode/cyberduck | | | | | | Django | | | d1 | | | | | Django | | | d1 | | | | | Django | | | d1 | | | | | office/brew/rdp | | | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | +---------------------+ | | | | +-Pod-------+ | | | | | | +-container-+ | | | | | | +-container-+ | | | | | | +-kubearm(ubu24) ⭐️--+ | | | | | 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 | ||| | | |+-----------+ +-----+| | | +-----------------------------+ ||| | | +---------------------+ | | ||| | +--------------------------+ | ||| | ^ ^ | ||| | | | +---------------+ | ||| | | | |Django & xrdp | | ||| | | | |docker image to| | ||| | | | |ctr registry | | ||| | | | +---------------+ | ||| | | | | ||| | +-rancher desktop----------+ | ||| | | docker on lima | | ||| +---------------------------------+ | | +-container-+ +------+ | | ||| | d1/d2/d3 text or binary data | | | | Django | | d1 | | | ||| | d4 tls data that make each host | | | +-----------+ +------+ | | ||| +---------------------------------+ | | +-container-+ | | | | <-----------------------------------------------+|| | | | mariadb | | d2 | | | <------------------------------------------------+| | | +-----------+ +------+ | | <-------------------------------------------------+ | | +-container-+ | | | | | | | xrdp-ubu24| | d3 | | | | | +-----------+ +------+ | | | | +-container-+ +------+ | | | | | https | | d4 | | | | | +-----------+ +------+ | | | +--------------------------+ | | | | +-music----------+ | | | 8400(37GB) | | | +----------------+ | +------------------------------+ 結論 microk8sでサラっと動かすつもりやったんやけど、multipassがうまいこと行かんかったからUTM使うことにした。 ...

windows11+Rancherを使ったdocker環境

個人的には、仮想化ではvmwareから利用しはじめて、15年以上たつ。 dockerは5年以上。 実務でvirtualboxやvagrant使うことはあったけど、wslでdocker使ったことない。 そもそもwslってどんなんやろ、ってとこから始まる。 dockerは、linuxで動かしてmacからdjango開発ソース作りながら使ってる。 実務でgke扱うチャンスがあり、その開発環境をwsl2+rancherで扱うことになったので練習してみる。 win11 + wsl2 msの概要ドキュメントをまずは読んだ。 Windows Subsystem for Linux とは | Microsoft Learn learn.microsoft.com linuxバイナリを動かす環境をサンドボックスみたいな感じで使えるってことか。 wsl1が最初にあったもので、wsl2ならlinuxカーネルが動くらしい。 vscodeのプラグインにremote wsl拡張機能ってのがあるから推奨ともあった。 wslインストール 導入方法を解説してくれてるサイトがあった。 win10と11で導入方法が違うらしい。winverしたときに見えるバージョンにも制限あるらしい。 作者さんありがとう。 Windows+WSL2でDocker環境を用意しよう - カゴヤのサーバー研究室 www.kagoya.jp win10だとOS機能を追加してからmicrosoft storeからダウンロードして使うらしい。 win11だとwsl --installってやったらええだけ。 docker desktopインストール すんなり入った。 OS再起動必要やけどdockerは使えるみたいでhello-worldでイメージをpullしてできてた。 docker desktopの画面でもイメージ取れてることがわかった。 docker-compose versionってやったらv2.17.3が戻るから使えるんかもしれん。 データ置き場 データ置き場調べてみた。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 C:\Users\nari\AppData\Local\Docker のディレクトリ 2023/05/06 04:59 <DIR> . 2023/05/06 04:52 <DIR> .. 2023/05/06 04:35 0 backend.lock 2023/05/06 04:46 <DIR> engine_tasks 2023/05/06 04:31 881 install-log.txt 2023/05/06 04:35 <DIR> log 2023/05/06 04:38 201,381 log.0.txt 2023/05/06 04:43 339,923 log.1.txt 2023/05/06 04:59 595,139 log.2.txt 2023/05/06 05:06 68,858 log.txt 2023/05/06 04:46 <DIR> tasks 2023/05/06 04:46 <DIR> wsl 6 個のファイル 1,206,182 バイト 6 個のディレクトリ 56,264,491,008 バイトの空き領域 C:\Users\nari\AppData\Local\Docker> hyper-vで使うvhdxファイルがあるなぁ。150MBぐらいある。 ...

macでmicrok8sを利用4-macmini M4でx86のkubernetesを利用

先月M4のmacminiに切り替えた。intelやなくてM4になって爆速を期待して買った。 macの仮想化のベースをvmwareからUTMに切り替えて、sequoiaはめっちゃ速くなった。 次はx86のubuntu24の中で維持してるdockerのxrdp/django/mariadbのコンテナをM4のmacminiで動かしたい。 自分の勘違いもあって時間はかかったけど、実現はできたのでそのメモ。 ただし、あまりにも性能出ないので、arm64の中でx86のubuntu24のホストを動かすのは3日でやめた。 結論 右から順に、GCEってあるgoogle cloudに本番データ置いてる。 GCE(google cloud)で稼働させてるdockerコンテナのデータをlocal ubuntu24でも利用しつつ、sequoiaに持ってくる。 macminiはフロントとして使う環境やから、utmで仮想化したsequoia動かしてて、今回はubuntu追加した。 x86エミュレートさせたubuntu24の中で、ctrで動くmicrok8s使って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 26 27 28 29 30 +-macmini sequoia--------------+ +-local ubuntu24 linux--------+ +-GCE ubuntu24 linux----------+ | +-utm----------------------+ | | +-docker---------+ +-vmdk-+ | | +-docker---------+ +--pv--+ | | | +-sequoia-------------+ | | | | +-container-+ | | data | | | | +-container-+ | | data | | | | | vscode/cyberduck | | | | | | Django | | | d1 | | | | | Django | | | d1 | | | | | office/brew/rdp | | | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | +---------------------+ | | | | +-container-+ | | | | | | +-container-+ | | | | | | +-ubuntu24 x86⭐️------+ | | | | | mariadb | | | d2 | | | | | mariadb | | | d2 | | | | | ctr microk8s | | | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | |+-container-+ | | | | | +-container-+ | | | | | | +-container-+ | | | | | | ||kubernetes | | | | <- | | | xrdp-ubu24| | | d3 | | <- | | | xrdp-ubu24| | | d3 | | | | |+-----------+ | | | <- | | +-----------+ | +------+ | <- | | +-----------+ | +------+ | | | |+-container-+ +/data+| | | <- | | | | <- | | +-container-+ | | | | ||Django | | d1 || | | | | | | | | | gitlab | | | | | |+-----------+ +-----+| | | | | | | | | +-----------+ | | | | |+-container-+ | || | | | | +-container-+ | +------+ | | | +-container-+ | +------+ | | | ||mariadb | | d2 || | | | | | https | | | d4 | | | | | https | | | d4 | | | | |+-----------+ +-----+| | | | | +-----------+ | +------+ | | | +-----------+ | +------+ | | | |+-container-+ | || | | | +----------------+ | | +----------------+ | | | ||xrdp-ubu24 | | d3 || | | +-----------------------------+ +-----------------------------+ | | |+-----------+ +-----+| | | | | |+-container-+ +-----+| | | | | ||https | | d4 || | | | | |+-----------+ +-----+| | | | | +---------------------+ | | | +--------------------------+ | | | | +-music----------+ | | | 8400(37GB) | | | +----------------+ | +------------------------------+ M4にx86をエミュレートさせて動かしたとき、local ubuntu24の中で動くxrdpコンテナに比べたら、114Mbpsって見えるからインターネット利用は8分の1程度の速度、ブラウザ利用の速度はintel版のminikube/microk8sと同じかそれ以下のもっさりした動きになった。 ...

 ⭐️