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のKVM環境でkubernatesは動作するか

1.概要

lxd環境のkubernates導入が失敗したので、KVM環境にkubernatesを導入して、nodesやpodsの動作確認をしました。kubernates環境を十分に試験するには複数ノードが必要なので、master/worker nodeを揃えた必要最低限の試験環境の構築に関して記述をします。

2.詳細

環境は非uefiのBIOS-PCでAMD(2core)、Memory(8GB)、Disk(500GB)でubnutu-20.04.4 Desktop環境です。kubernatesのnodes用の仮想マシンはubuntu-20.04.4 serverを利用して3台構築(2 core, 2GB Memory, 20GB Disk)しました。1台がMaster node、2台がworker nodeです。ベースのPC環境の制限で試験できる限界構成に近いと思っています。

(1) 導入作業

作業手順は多く、下記項目の通りです。
参考利用に沿って作業しますが、Porxyサーバを必要としないので省略箇所があります。

(a) KVM環境構築
(b) ubuntu-20.04.4 serverの導入
(c) master node, worker nodeの共通機能の導入
(d) 仮想マシンのクローン
(e) master nodeの構築
(f) worker nodeの接続
(g) master nodeの追加設定
(h) node podの試験

(2) 詳細

(a) KVM環境構築
$ sudo apt install virt-manager qemu-system

本ブログのWindows95/98のPCゲーム(2022/04/16)を参照願います。

(b) ubuntu-20.04.4 serverの導入
・download
下記urlからubuntu-20.04.4-live-server-amd64.isoをdownloadします。
http://cdimage.ubuntu.com/releases/20.04/release/

・仮想マシン導入
KVM仮想マシンを作成します。kubernates環境は2core必須のようです。

host namae: ubuntu201
CPU: 2 core
Memory: 2048 MB
Disk: 20 GB
残りは既定値です

ubuntu-20.04 serverの導入手順は参考資料を参照願います。
disk 20GBはGPT設定で、1MBのBIOS grup領域と残りは/に設定しました。
openSSH serverは作業上便利なので導入します

・ip変更
インストール完了後、仮想マシンのip-addressを変更します。
標準のDHCP経由での取得のままですが、macアドレスとipを関連付けします。
参考資料を参照願います。

まず、仮想マシンの現在の状況を確認します。
仮想マシンのterminalでip aにて確認します
仮想マシンを停止して作業を実施します。
次に、ubuntu-20.04のdesktopから設定を変更します。
$ sudo virsh net-edit default
参考資料に記載されていますが、私は以下の記述を追加しました。
<host mac='52:54:00:xx:xx:xx' ip='192.168.122.10'/>
xx:xx:xxは仮想マシンのmac-address、192.168.122.0/24からipを選定します
設定完了後、ubuntu-20.04 desktopを再起動します。

・update
ubuntu-20.04 desktop起動後、再度、仮想マシンを起動して更新処理をします
desktop PCから仮想マシンにssh loginします
$ ssh username@192.168.122.10
$ sudo apt update
$ sudo apt upgrade

(c) master node, worker nodeの共通機能の導入
・kubernates共通機能導入
$ sudo apt -y install apt-transport-https
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
$ sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
$ sudo apt update
$ sudo apt -y install kubelet kubeadm kubectl
$ kubelet --version

・swapの削除
$ sudo swapoff -a
$ cp /etc/fstab  fstab
$ sed -i -e '10 s/^/#/' fstab
$ sudo mv fstab /etc/fstab
$ sudo rm /swap.img

・仮想マシンのshutdown
$ sudo shutdown -h 0

(d) 仮想マシンのクローン
作成した仮想マシンをworker node用にcloneします
desktopのterminalから作業します

・クローン
ubuntu201からubuntu202とubuntu203をcloneします。
$ virt-clone --original ubuntu201 --name ubuntu202 --file /var/lib/libvirt/images/ubuntu202.qcow2
$ virt-clone --original ubuntu201 --name ubuntu203 --file /var/lib/libvirt/images/ubuntu203.qcow2

・ip変更
前回作業と同様に、ubuntu202とubuntu203のipを変更します
$ sudo virsh net-edit default
<host mac='52:54:00:xx:xx:xx' ip='192.168.122.10'/>     # ubuntu201
<host mac='52:54:00:xx:xx:xx' ip='192.168.122.20'/>     # ubuntu202
<host mac='52:54:00:xx:xx:xx' ip='192.168.122.30'/>     # ubuntu203

desktop PCをrebootします

・hostname変更
ubuntu202,ubuntu203のhostnameを変更します
$ ssh username@192.168.122.20
$ sudo hostnamectl set-hostname ubuntu202
$ exit

$ ssh username@192.168.122.30
$ sudo hostnamectl set-hostname ubuntu203
$ exit

(e) master nodeの構築
$ ssh username@192.168.122.10でloginします

・初期設定(処理に時間が必要)
$ sudo kubeadm init --node-name master --pod-network-cidr=10.244.0.0/16

下記メッセージが表示されると完了です。
config用のdircotryを作成、worker node接続情報が表示されます。
kubeadm joinはworker nodeからmaster nodeへ接続するときに必要です。

To start using your cluster, you need to run the following as a regular user:

  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

Alternatively, if you are the root user, you can run:

  export KUBECONFIG=/etc/kubernetes/admin.conf

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 192.168.122.20:6443 --token fhgs8c.kp2yt9heu22qzfe4 \
    --discovery-token-ca-cert-hash sha256:ca90b71260e12f14c78e56683079b9095f872c4f6d127fafe4780ed1322c5b09
    
・config用のdircotryを作成   
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

(f) worker nodeの接続

$ ssh username@192.168.122.20でloginします

$ sudo kubeadm join 192.168.122.10:6443 \
   --node-name node1 \
   --token fhgs8c.kp2yt9heu22qzfe4 \
   --discovery-token-ca-cert-hash sha256:ca90b71260e12f14c78e56683079b9095f872c4f6d127fafe4780ed1322c5b09

$exit

$ ssh username@192.168.122.30でloginします

$ sudo kubeadm join 192.168.122.10:6443 \
   --node-name node1 \
   --token fhgs8c.kp2yt9heu22qzfe4 \
   --discovery-token-ca-cert-hash sha256:ca90b71260e12f14c78e56683079b9095f872c4f6d127fafe4780ed1322c5b09

$ exit

(g) master nodeの追加設定
$ ssh username@192.168.122.10でloginします

$ sudo sysctl net.bridge.bridge-nf-call-iptables=1
$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

nodeとpodの状態を確認します

$ kubectl get nodes
$ kubectl get pods

(h) node podの試験
参考資料にnginxをpodで動作させる試験があります。試してください。

参考
[外部サイト参照]
Ubuntu 20.04 LTSのオンプレにKubernetes環境構築からnginx Pod稼働まで
Ubuntu 20.04 LTS インストール

コメント

このブログの人気の投稿

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

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

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