2020/11/26
今回できたこと
K8s(or K3s)クラスタのためのネットワーク設計と設定。
今後の作業
aarch64によるK8s(or K3s)クラスタの構築。
お約束
定例作業
参考文献
実際のコンテナ実装に関しては、FreeBSD jailから説明がはじまっている。
jailは、jailシステムコールで実装されているのが、他のコンテナ技術とは違うらしい。
実際のjailの操作方法から、jailシステムコールを使う例までと幅広い。
jail上にLinux環境(Linuxlator)を構築する方法も解説している。
aarch64 K8s (K3s)のためのネットワーク設計
以下のように、K8s (もしくはK3s)のためのネットワーク設計を行った。
table:ネットワーク設計
機種名 役割 段数 無線LAN IP 有線LAN IP ホスト名 Docker/K8s 備考
Raspberry Pi 4B (4GB) Master(and Worker?) 1段目 192.168.3.101/24 192.168.2.101/24 master-rpi4 未設定
Raspberry Pi 4B (4GB) Worker 2段目 192.168.3.102/24 192.168.2.102/24 worker-rpi4 o
Raspberry Pi 3B+ Worker 3段目 192.168.3.103/24 192.168.2.103/24 worker-rpi3p 未設定
Jetson Nano Worker(/Master?) - 192.168.3.111/24 192.168.2.111/24 jetpack-desktop o GPU利用可能
table:ネットワーク情報
network default route DNS 有線/無線
192.168.3.0/24 192.168.3.1 8.8.8.8(*) 無線(wlan0)
192.168.2.0/24 192.168.2.1 8.8.8.8 有線(eth0)
(*)インターネット接続がない場合は、DNSに関しては設定調整が必要になる。
Raspberry Piのネットワークなどの設定
Raspberry Piの場合は、例えば以下のように設定を行う。
code:/etc/dhcpcd.conf
interface eth0
static ip_address=192.168.2.101/24
static routers=192.168.2.1
static domain_name_servers=8.8.8.8
interface wlan0
static ip_address=192.168.3.101/24
static routers=192.168.3.1
static domain_name_servers=8.8.8.8
さらに以下のような設定を行った。
GUIを無効化し、CLIで立ち上がるようにした。
JISキーボードを使うように設定 with XKBOPTIONS="ctrl:nocaps" at /etc/default/keyboard。
ただ、この設定って、X使ってないと効かないのでは…
CLIはraspi-configの設定で大丈夫?
GPU利用設定(GL Full/Fake KMS)。
apt update & upgrade
Jetson Nanoの設定
以下の設定を行った。
GUIによる固定IPの設定。
JISキーボードの設定 with XKBOPTIONS="ctrl:nocaps" at /etc/default/keyboard。
dockerコマンドがrootでないと動かないのは、dockerグループに所属していないことが理由ということで、以下のように/etc/groupの設定を変更した。
code:/etc/group.diff
$ diff -u /etc/group{.org,}
--- /etc/group.org 2020-11-26 18:12:51.391537973 +0900
+++ /etc/group 2020-11-26 18:13:15.474930001 +0900
@@ -63,7 +63,7 @@
gdm:x:124:mutoh
lightdm:x:125:
nopasswdlogin:x:126:
-docker:x:127:
+docker:x:127:mutoh
dhcpd:x:128:
rdma:x:129:
gpio:x:999:mutoh