树莓派集群先贴上,5台3B。
系统使用官方的系统包Raspberry Pi OS
,以前叫Raspbian
,基于Debian 10(buster),系统内存占用不到50MB,配套的管理工具raspi-config
真的很好用。
一、安装系统到TF卡
安装方法有两种,一种是用官方的Imager
,Windows,Mac, Linux都支持。tf卡插到电脑上,然后用它选择安装即可。还有一种是dd镜像文件到tf卡。
首先下载地址在https://www.raspberrypi.org/downloads/raspberry-pi-os/,选择服务器版本Raspberry Pi OS (32-bit) Lite
即可,最小化配置,没有桌面,运行起来就不到50M内存,资源都留给自己的应用使用。
然后把TF卡通过读卡器插到电脑上,我的系统是Ubuntu20.04.1
,通过parted -l
能够发现tf卡是/dev/sdb
,所以运行:
1
$ dd if=./raspbian.img of=/dev/sdb bs=10MiB
等待几分钟就好了。注意系统下载后可能是zip
或者xz
格式的压缩包,需要解压,raspbian.img
使用重命名的镜像名。
二、启动树莓派配置系统
默认的系统运行不是很方便,ssh、本地化、wifi都没有连接,所以先用键盘显示器接上树莓派配置。一下为操作清单。
- 重置新密码。
- 修改ssh让root可远程登录。
- ssh开机启动。
- 添加内核参数。
- 修改键盘映射。
- 修改wifi地域。
- 修改locale。
- 修改Timezone。
- 修改hostname。
- 重启。
- 连接wifi。
- 退出系统,远程登录,拔掉键盘和显示器。
下面按步骤操作。
1. 重置新密码。
树莓派插好键盘鼠标显示器后,上电开机,默认账户为pi
,密码是raspberry
。登录后会让你修改为自己的密码,先输入当前密码,然后输入两遍新密码即可。然后再输入sudo passwd
修改root的密码。
2. 修改ssh让root可远程登录。
ssh默认配置是不让root远程登录的,所以修改/etc/ssh/sshd_config
文件的PermitRootLogin
为yes
。
3. ssh开机启动。
raspbian居然没有开机启动ssh,输入sudo systemctl enable ssh && sudo systemctl start ssh
。
4. 添加内核参数。
因为默认的内核配置没有docker需要的cgroup
相关配置,会导致k3s
无法启动,docker info
会报WARNING
,所以添加上下面的配置,这也是Raspbian
方便的地方。
在/boot/cmdline.txt
里唯一的一行rootwait
后面添加 cgroup_memory=1 cgroup_enable=memory swapaccount=1
。
5. 修改键盘映射。
接下来的操作都使用raspi-config
工具,命令行中输入它后,会弹出图形界面。
首先修改键盘映射。选择5 Localisation Options
->L3 Keyboard
,进去后一般选择104的键盘,然后进去后在Other
里面选择US
的默认配置,树莓派默认是英国产地,所以系统也是英国的键盘布局,跟我们常用的美式键盘布局有点区别。
6. 修改wifi地域。
选择5 Localisation Options
->L4 WLAN Country
,选择CN China
。
7. 修改locale。
选择5 Localisation Options
->L1 Locale
,选择en_US.UTF-8 UTF-8
,取消掉en_GB.UTF-8 UTF-8
。
8. 修改Timezone。
选择5 Localisation Options
->L2 Timezone
->Asia
,选择Shanghai
。
9. 修改hostname。
选择1 System Options
->S4 Hostname
,输入自己的hostname,注意要独立性,因为k3s默认使用hostname做区分节点,不唯一会冲突导致有节点无法连接。
10. 重启。
退出raspi-config
,会提示重启,重启系统即可。
11. 连接wifi。
使用raspi-config
,在1 System Options
->S1 Wireless LAN
,输入SSID
和密码。退出raspi-config
,等待几秒就可以连上wifi了。使用ip addr
记录ip。
12. 退出系统,远程登录,拔掉键盘和显示器。
现在可以exit
退出当前账号,通过局域网另一台电脑ssh登录系统即可管理树莓派。
三、安装docker
1
2
3
4
5
6
7
8
9
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
$ curl -fsSL https://get.docker.com -o- | bash
$ sudo usermod -aG docker pi
然后退出再次登录,即可使用docker。
四、安装k3s
1
$ curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | sudo INSTALL_K3S_MIRROR=cn sh -s - --docker
五、完成安装
1
2
3
4
5
6
7
8
$ sudo kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-66c464876b-525ff 1/1 Running 0 167m
kube-system metrics-server-7b4f8b595-kkbf8 1/1 Running 0 167m
kube-system helm-install-traefik-6qkjn 0/1 Completed 0 167m
kube-system local-path-provisioner-7ff9579c6-z6fbd 1/1 Running 0 167m
kube-system traefik-5dd496474-ptnf7 1/1 Running 0 165m
kube-system svclb-traefik-ctcg6 2/2 Running 0 165m