集群的规划
如今的时代显然已经跨域20世纪的互联网时代跨入了物联网大数据的时代。为了能够紧跟时代的步伐个人决定学习大数据、云原生等新技术。说到这些技术都必须基于Paas 平台的支撑。个人之前使用过阿里云、华为云等需要支付一定的资金。为了节省开支和能够更深层次的了解分部署计算应用的整体结构,所以我决定使用raspberry来模拟计算机集群,搭建一个属于自己的微集群。
基于上面的考虑本次集群的规划从以下2个方面来考虑
1.经济方面
2.实用方面
集群物理图
搭建集群
master主控安装
系统的烧录
安装docker
设置apt-repostory
1 |
docker-ce=5:20.10.7~3-0~debian-bullseye
docker-ce-cli=5:20.10.7~3-0~debian-bullseye
containerd.io=1.4.6-1
1 | apt-get install -y docker-ce=5:20.10.7~3-0~debian-bullseye docker-ce-cli=5:20.10.7~3-0~debian-bullseye containerd.io=1.4.6-1 |
系统的一些基础配置
kubectl、kubelet、kubeadm 安装
kuberentes 引导式安装集群
初始化主节点
1 | #所有机器添加master域名映射,以下需要修改为自己的 |
[ERROR SystemVerification]: missing required cgroups: memory 问题
这个问题一般是由树莓派的兼容性和相关配置错误引起的 Cgroup
问题。
解决方案
1 | $ vi /boot/cmdline.txt |
[ERROR Swap]: running with swap on is not supported. Please disable swap
Swap
分区在开启状态下无法进行 kubeadm init
。
解决方案
1 | $ swapoff -a |
节点安装
docker
- set apt-get repository
1 | sudo apt-get update |
add docker official GPG key
1
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
设置apt稳定版本库
1
2
3
4
5echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get updateinstall docker-ce docker-ce-cli containerd.io
1
apt-get install -y docker-ce=5:20.10.7~3-0~debian-bullseye docker-ce-cli=5:20.10.7~3-0~debian-bullseye containerd.io=1.4.6-1
设置加速私服、docker 开机启动
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
systemctl enable docker --now
sudo systemctl daemon-reload
sudo systemctl restart docker
系统基础配置
1 | cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf |
kubelet、kubeadm 安装
1 | apt-get install -y kubectl=1.20.9-00 kubelet=1.20.9-00 kubeadm=1.20.9-00 |
kubeadm init
1 | swapoff -a |
join master
vim json格式化工具