OpenMythosのサンプルプログラムを動かしました

1.概要 前回、OpenMythosの環境構築まで実現したので、GitHubにあるサンプルプログラム(Usage)を動かしてみました。一部エラーが発生しましたが、結果出力部分なので修正をしました。その内容を記述します。 2.詳細 Usageに記載されているPythonプログラムをopenmythos_usage.pyとして作成します。 $ source ~/mypy/bin/activate (mypy) $ pythoh3 openmythos_usage.py 下記エラーとなります [MLA] Parameters: 1,538,626 [MLA] Logits shape: torch.Size([2, 16, 1000]) [MLA] Generated shape: torch.Size([2, 24]) Traceback (most recent call last):   File "/home/nakasima/openmythos/openmythos_usage.py", line 48, in <module>     rho = torch.linalg.eigvals(A).abs().max().item()           ^^^^^^^^^^^^^^^^^^^^^^^ RuntimeError: linalg.eig: The input tensor A must have at least 2 dimensions. コードの下記部分を修正します #rho = torch.linalg.eigvals(A).abs().max().item() rho = A.abs().max().item() $ source ~/mypy/bin/activate (mypy) $ pythoh3 openmythos_usage.py [MLA] Parameters: 1,538,626 [MLA] Logits shape: torch.Size([2, 16, 1000]) [MLA] Generated shape: torch.Size([2, 24]) [MLA] Spectral radius ρ(A) = 0.3679 (mus...

ubuntuのlxd/lxcでmicroK8sは動作するか

1.概要

kubernatesを調べているとmicork8sの記事をネットで見つけました。軽量化されたkubernatesと書かれています。lxd環境で動作するとの記述があり、実際に導入してみました。個人的な印象ですが、kubernates in KVMとmicrok8s in lxdを比較すると、前者のほうが軽く動作する気がして、microk8sは軽量化されたkubernatesになっているのかなと感じました。

2.詳細

microk8sをlxdで動作させる場合、lxd上のubuntuコンテナ上でpodを動作させます。pod自体がコンテナなので、コンテナの上でコンテナが動作するような形に見えます。最初、lxdのubuntu-VM上で動作させると思っていたのですが、構成が異なることに気が付きました。

kubernatesはmaster nodeとworker nodeに分かれています。しかし、microk8sは全てがmaster nodeであり、worker nodeでもあるようです。kubernatesのmaster nodeの弱点をカバーできそうな気がしました。master nodeが停止しても他のnodeがmaster nodeとして機能しそうな気がします。

(1) 導入

参考資料に従って作業をします。

(a) lxd導入
(b) プロファイル設定
(c) コンテナ作成と設定内容修正
(d) microk8s導入
(e) node追加
(f) 試験

(2) 詳細

(a) lxd導入
本ブログの資料を参考にして、lxdをubuntu-20.04 desktopに導入します

(b) プロファイル設定
参考資料の通りに実施します
$ lxc profile create microk8s
$ wget https://raw.githubusercontent.com/ubuntu/microk8s/master/tests/lxc/microk8s-zfs.profile -O microk8s.profile
$ cat microk8s.profile | lxc profile edit microk8s
$ rm microk8s.profile

(c) コンテナ作成と設定内容修正
k8s0の名称でubuntu20.04のコンテナを作成します。
$ lxc launch -p default -p microk8s ubuntu:20.04 k8s0

規定値の設定が大きいので修正をします。
$ lxc stop k8s0
$ lxc config set k8s0 limits.cpu=2
$ lxc config set k8s0 limits.memory=2GiB
$ lxc start k8s0

同様にk8s1も作成します。

d) microk8s導入
k8s0にmicrok8sを導入します
$ lxc exec k8s0 -- sudo snap install microk8s --classic

次にk8s0上に/etc/rc.localを作成します
$ cat << EOF > rc.local
#!/bin/bash
apparmor_parser --replace /var/lib/snapd/apparmor/profiles/snap.microk8s.*
exit 0
EOF
$ lxc file push rc.local k8s0/etc/rc.local
$ lxc exec k8s0 -- sh -c 'chown root.root /etc/rc.local'
$ lxc exec k8s0 -- sh -c 'chmod +x /etc/rc.local'
$ lxc exec k8s0 -- sh -c 'reboot'
$ rm rc.local

同様にk8s1にもmicrok8sを導入します

(e) node追加
k8s0にk8s1を接続します
$ lxc exec k8s0 microk8s add-node | tail -n1 | xargs lxc exec k8s1

(f) 試験
試験できる環境ができたので、必要な試験をします。

参考
[外部サイト参照]
The lightweight Kubernetes

コメント

このブログの人気の投稿

miniPCのBMAXでWindows11のsecure boot設定漏れでトラブル発生

LinuxMint-22.3にWine 11.6をサクッと入れてみました

LinuxMint 21.3にWinBoat導入を試してみました